From ba42e1638f3af4f7a92b947553fbe28a7d31de03 Mon Sep 17 00:00:00 2001 From: Odair M <odairmario45@gmail.com> Date: Fri, 13 Jan 2023 23:54:24 -0300 Subject: [PATCH] refactor(Baremetals): change title tier --- .pre-commit-config.yaml | 52 ++++++++++------------ source/pages/baremetals.rst | 87 +++++++++++++------------------------ 2 files changed, 51 insertions(+), 88 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cf124fd..3fc9cd7 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,31 +1,23 @@ repos: - - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.3.0 - hooks: - - id: trailing-whitespace - - id: end-of-file-fixer - - id: check-yaml - - id: check-json - - id: check-merge-conflict - - id: check-added-large-files - - id: check-symlinks - - id: detect-private-key - - repo: https://github.com/commitizen-tools/commitizen - rev: v2.37.0 - hooks: - - id: commitizen - - id: commitizen-branch - stages: [push] - - repo: https://github.com/psf/black - rev: 22.10.0 - hooks: - - id: black -# - repo: local -# hooks: -# - id: pipenv-generetate-requirements -# name: Generate requirements.txt -# description: This hook generate the requirements.txt based on pipfile -# entry: scripts/generate-requeriments.sh -# language: script -# files: ^Pipfile(\.lock)?$ -# stages: [merge-commit, push, prepare-commit-msg] +- hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-json + - id: check-merge-conflict + - id: check-added-large-files + - id: check-symlinks + - id: detect-private-key + repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.3.0 +- hooks: + - id: commitizen + - id: commitizen-branch + stages: + - push + repo: https://github.com/commitizen-tools/commitizen + rev: v2.37.0 +- hooks: + - id: black + repo: https://github.com/psf/black + rev: 22.10.0 diff --git a/source/pages/baremetals.rst b/source/pages/baremetals.rst index a31f916..389e61a 100644 --- a/source/pages/baremetals.rst +++ b/source/pages/baremetals.rst @@ -1,5 +1,5 @@ -Baremetals -########## +Baremetals - Setup +################## Configuração básica de uma servidora. @@ -12,31 +12,21 @@ Todas bare metals do *rootlab* tem suporte a multi boot e snapshot. O layout de discos é: :: - 5G 15G 15G 15G 30G 60G - ┌─────────┐ ┌──────┐ ┌──────┐ ┌────────┐ ┌─────────┐ ┌───────────┐ - │ Recover │ │ C3SL │ │ Ceph │ │ CentOS │ │ ReadOly │ │ OverlayFS │ - └────▲────┘ └───▲──┘ └──▲───┘ └────▲───┘ └────▲────┘ └─────▲─────┘ - │ │ │ │ │ │ - ┌──────┴──────────┴───────┴──────────┴──────────┴────────────┴────────┐ - │ rootlabvg │ - │ 230 GB │ - │ Volume group │ - └─────────────────────────────────▲───────────────────────────────────┘ - │ - ┌───────────┴────────────┐ - │ │ - │ Physical volume 240G │ - │ │ - │ Disco 1 Disco 2 │ - │ │ - └──────▲────────────▲────┘ - │ │ - │ │ - ┌─────────┴────┐ ┌──┴───────────┐ - │ │ │ │ - │ Disco 1 120G │ │ Disco 2 120G │ - │ │ │ │ - └──────────────┘ └──────────────┘ + 5 GB 30 GB 60 GB + ┌───────┐ ┌────────┐ ┌─────────┐ + │Recover│ │ReadOnly│ │OverlayFS│ + └────▲──┘ └───▲────┘ └───▲─────┘ + │ │ │ + ┌─┴────────┴──────────┴─┐ + │ rootlabvg │ + │ 230 GB │ + │ Volume group │ + └───▲──────────────▲────┘ + │ │ + │ │ + ┌─────┴──────┐ ┌─────┴──────┐ + │Disco 1 120G│ │Disco 2 120G│ + └────────────┘ └────────────┘ ######################## Configuração via Ansible @@ -85,7 +75,8 @@ Para tornar o processo mais genericos, faremos extenso uso de variáveis de ambiente. .. note:: - As únicas variáveis de ambiente, nesse estágio, que difere de cada servidor é + Variáveis de ambiente: + As únicas variáveis de ambiente, nesse estágio, que difere de cada servidor é o id do disco que segue abaixo, todas as outras variáveis de ambientes são feita com base nas variáveis de discos. @@ -144,9 +135,9 @@ de cada partição. O processo deve ser realizado nos dois discos. for disk in ${DISK1} ${DISK2}; do # id id type id label disco - sgdisk -n 1:0:+1M -t 1:ef02 -c 1:BIOS ${disk} # partição da bios modo legado + sgdisk -n 1:0:+1M -t 1:ef02 -c 1:BIOS ${disk} # partição da bios modo legado sgdisk -n 2:+1M:+2G -t 2:fd00 -c 2:BOOT ${disk} # partição de boot - sgdisk -n 3:0:0 -t 3:8503 -c 3:LVM ${disk} # partição do lvm + sgdisk -n 3:0:0 -t 3:8503 -c 3:LVM ${disk} # partição do lvm done; Criado as partições verique com o comando ``sgdisk -p device``: @@ -241,8 +232,6 @@ As partições a serem criada são: +-----------+-----------------+----------------------------------------+ | overlayfs | 50 Gb | camada de escrita da partição readonly | +-----------+-----------------+----------------------------------------+ -| snapshot | 30 Gb | snapshots das outras camadas | -+-----------+-----------------+----------------------------------------+ .. code:: shell @@ -269,9 +258,9 @@ O sistema de arquivo utilizado será o *EXT4*. mkfs.ext4 ${READONLY_PART} -**************************** -Bootstrap recover e readonly -**************************** +******************** +Bootstrap do sistema +******************** O sistema operacional minímo que deve estar funcional é o recover e readonly, o restante pode ser feito com o tempo e necessecidade. @@ -353,8 +342,8 @@ As variáveis de ambiente utilizada nesse momento serão: export base_packages="systemd,systemd-container,systemd-timesyncd,systemd-cron,mdadm,lvm2,grub2,linux-image-amd64,linux-headers-amd64,ssh,rsync,vim,htop,curl,wget,less,lm-sensors,iproute2,gdisk,fdisk,dnsutils,iputils-ping,zsh,locales,locales-all,gcc,make,unzip,tar,man-db,keyboard-configuration,console-setup,git,python3,debootstrap" export complement_packages="${base_packages} cmake forensics-all build-essential" -Bootstrap -========= +Instalação +========== O bootstrap vai instalar os pacotes definidos. O comando a ser utilizado é: @@ -544,7 +533,8 @@ Configure o ``${recover_mountpoint}/etc/fstab`` .. note:: - O *UUID* do *boot_alt* pode ser obtido pelo comando ``lsblk -o NAME,SIZE,UUID``, é o uuid do mdadm + Como obter *UUID*: + O *UUID* do *boot_alt* pode ser obtido pelo comando ``lsblk -o NAME,SIZE,UUID``, é o uuid do mdadm array. @@ -574,7 +564,7 @@ dividir o arquivo ``grub.cfg`` em partes e depois montamos ele inteiro: Menu e escolha padrão ----------------------------------------------------------------------- +--------------------- A primeira etapa é fazer o menu e escolha padrão: @@ -969,25 +959,6 @@ Crie o arquivo ``/boot_alt/grub/grub.cfg`` com o conteúdo: # } - menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f940644b-e20b-4086-b916-8d57afd80bfb' { - load_video - insmod gzio - if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi - insmod part_gpt - insmod part_gpt - insmod diskfilter - insmod mdraid09 - insmod ext2 - insmod chain - set root='mduuid/bbb4a32abcf8eb415241990451489ef3' - if [ x$feature_platform_search_hint = xy ]; then - search --no-floppy --fs-uuid --set=root --hint='mduuid/bbb4a32abcf8eb415241990451489ef3' f8e0f46a-e650-422e-a4ce-b286cd8010c9 - else - search --no-floppy --fs-uuid --set=root f8e0f46a-e650-422e-a4ce-b286cd8010c9 - fi - configfile /recover/grub/grub.cfg - } - .. tip:: Para achar o UUID do do boot use ``lsblk -o NAME,SIZE,UUID`` -- GitLab