Laboratori: configuració de lvm, raid a Linux

Una petita digressió: aquest LR és sintètic.
Algunes de les tasques descrites aquí es poden fer molt més senzilles, però ja que la tasca de l/r és conèixer
amb la funcionalitat raid i lvm, algunes operacions es compliquen artificialment.

Requisits per a les eines per realitzar LR:

  • Eines de virtualització com Virtualbox
  • Imatge d'instal·lació de Linux, per exemple Debian 9
  • Disponibilitat d'Internet per descarregar diversos paquets
  • Connecteu-vos mitjançant ssh a la VM instal·lada (opcional)

ATENCIÓ

Aquest treball de laboratori està relacionat amb una qüestió tan subtil com la seguretat de les dades, aquesta és una àrea on
que us permet perdre totes les vostres dades a causa del més petit error: una lletra o un número addicional.
Com que estàs fent treballs de laboratori, no corres cap perill, excepte que hauràs de començar a fer-ho de nou.
A la vida real, tot és molt més greu, per la qual cosa hauríeu d'introduir els noms dels discs amb molta cura, comprensió
què feu exactament amb l'ordre actual i amb quins discs esteu treballant.

El segon punt important és la denominació de discs i particions: segons la situació, els números de disc poden diferir
a partir d'aquells valors que es presenten a les ordres en el treball de laboratori.
Així, per exemple, si traieu el disc sda de la matriu i després afegiu un disc nou, es mostrarà el disc nou
en un sistema anomenat sda. Si reinicieu abans d'afegir un disc nou, llavors el nou
el disc s'anomenarà sdb i l'antic s'anomenarà sda

El laboratori s'ha d'executar com a superusuari (arrel) com ho requereixen la majoria de les ordres
privilegis elevats i no té sentit augmentar els privilegis constantment mitjançant sudo

Materials d'estudi

  • RAID
  • LVM
  • Nom del disc al sistema operatiu Linux
  • Què és una secció
  • Què és una taula de particions i on s'emmagatzema?
  • Què és grub

Utilitats utilitzades

1) veure la informació del disc

  • lsblk -o NOM,MIDA,TIP FS,TIPUS,PUNT DE MUNT
  • fdisk -l
    2) veure informació i treballar amb LVM
  • pvs
  • pvextend
  • pvcreate
  • mida pvre
  • etc
  • vgreduce
  • lvs
  • lvextend
    3) veure informació i treballar amb RAID
  • cat /proc/mdstat
  • mdadm
    4) punts de muntatge
  • muntar
  • muntar
  • cat /etc/fstab
  • cat /etc/mtab
    5) repartició del disc
  • fdisk /dev/XXX
    6) copiar particions
  • dd if=/dev/xxx of=/dev/yyy
    7) treballar amb la taula de particions
  • partx
  • sfdisk
  • mkfs.ext4
    8) treballar amb el carregador d'arrencada
  • grub-install /dev/XXX
  • update-grub
    9) Diversos
  • lsof
  • apte
  • rsync

El treball de laboratori consta de 3 parts:

  • configurar un sistema de treball mitjançant lvm, raid
  • emulació d'una de les fallades del disc
  • substituint discs sobre la marxa, afegint nous discs i movent particions.

Tasca 1 (instal·lació del sistema operatiu i configuració de LVM, RAID)

1) Creeu una màquina virtual nova, donant-li les característiques següents:

  • 1 gb ram
  • 1 CPU
  • 2 hdds (anomeu-los ssd1, ssd2 i assigneu-los mides iguals, comproveu les caselles d'intercanvi en calent i ssd)
  • Controlador SATA configurat per a 4 ports

Laboratori: configuració de lvm, raid a Linux

2) Comenceu a instal·lar Linux i quan arribeu a seleccionar els discs durs, feu el següent:

  • Mètode de partició: manual, després del qual hauríeu de veure aquesta imatge:
    Laboratori: configuració de lvm, raid a Linux

  • Configuració d'una partició separada per a /boot: seleccioneu el primer disc i creeu-hi una nova taula de particions

    • Mida de la partició: 512M
    • Punt de muntatge: /boot
    • Repetiu la configuració del segon disc, però com que no podeu muntar /boot dues vegades al mateix temps, seleccioneu el punt de muntatge: cap, i finalment obteniu el següent (imatge amb un brancal, massa mandrós per tornar-ho a fer):
      Laboratori: configuració de lvm, raid a Linux

  • Configuració RAID:

    • Seleccioneu espai lliure al primer disc i configureu el tipus de partició com a volum físic per a RAID
    • Seleccioneu "S'ha fet la configuració de la partició"
    • Repetiu exactament la mateixa configuració per al segon disc, donant com a resultat el següent:
      Laboratori: configuració de lvm, raid a Linux
    • Seleccioneu "Configura el RAID del programari"
    • Crea un dispositiu MD
    • Tipus de dispositiu RAID de programari: seleccioneu una matriu duplicada
    • Dispositius actius per a la matriu RAID XXXX: seleccioneu les dues unitats
    • Dispositius de recanvi: deixeu 0 com a predeterminat
    • Dispositius actius per a la matriu RAID XX: seleccioneu les particions que heu creat sota raid
    • Finish
    • Com a resultat, hauríeu d'obtenir una imatge com aquesta:
      Laboratori: configuració de lvm, raid a Linux

  • Configuració de LVM: seleccioneu Configura el gestor de volums lògics

    • Mantingueu la disposició actual de la partició i configureu LVM: Sí
    • Crea un grup de volums
    • Nom del grup de volums: sistema
    • Dispositius per al nou grup de volums: seleccioneu el RAID que heu creat
    • Crea un volum lògic
    • nom del volum lògic: arrel
    • mida del volum lògic: 25 de la mida del vostre disc
    • Crea un volum lògic
    • nom del volum lògic: var
    • mida del volum lògic: 25 de la mida del vostre disc
    • Crea un volum lògic
    • nom del volum lògic: registre
    • mida del volum lògic: 15 de la mida del vostre disc
    • En seleccionar Mostra els detalls de configuració, hauríeu d'obtenir la imatge següent:
      Laboratori: configuració de lvm, raid a Linux
    • Un cop hàgiu acabat de configurar LVM, hauríeu de veure el següent:
      Laboratori: configuració de lvm, raid a Linux

  • Disseny de partició: un per un, seleccioneu cada volum creat a LVM i dissenyeu-los, per exemple, per a l'arrel com aquesta:

    • Utilitza com a: ext4
    • punt de muntatge: /
    • El resultat de marcar la partició arrel hauria de ser així:
      Laboratori: configuració de lvm, raid a Linux
    • repetiu l'operació de partició per a var i log, seleccionant els punts de muntatge adequats (/var i /var/log introduïts manualment), obtenint el resultat següent:
      Laboratori: configuració de lvm, raid a Linux
    • Seleccioneu Finalitza la partició
    • Se us faran diverses preguntes sobre el fet que encara teniu una partició desmuntada i l'intercanvi no està configurat. Les dues preguntes s'han de respondre negativament.

  • El resultat final hauria de ser així:
    Laboratori: configuració de lvm, raid a Linux
    3) Acabeu la instal·lació del sistema operatiu instal·lant grub al primer dispositiu (sda) i arrenqueu el sistema.
    4) Copieu el contingut de la partició /boot de la unitat sda (ssd1) a la unitat sdb (ssd2)

    dd if=/dev/sda1 of=/dev/sdb1

    5) Instal·leu grub al segon dispositiu:

  • mireu els discos del sistema:

    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

  • Enumereu tots els discs que us va donar l'ordre anterior i descriu quin tipus de disc és

  • Cerqueu la unitat on no s'ha instal·lat grub i feu aquesta instal·lació:
    grub-install /dev/sdb

  • visualitzeu informació sobre la incursió actual amb l'ordre cat /proc/mdstat i anoteu el que veieu.

  • mireu la sortida de les ordres: pvs, vgs, lvs, munta i escriviu el que heu vist exactament

Descriu amb les teves paraules què has fet i quin resultat has obtingut de la tasca.

Després de completar aquesta tasca, es recomana desar una còpia de seguretat de la carpeta de la màquina virtual o fer-ho
caixa vagabunda: https://t.me/bykvaadm/191

Resultat: màquina virtual amb discs ssd1, ssd2

Tasca 2 (Emular la fallada d'un dels discs)

1) Si heu marcat la casella d'intercanvi en calent, podeu esborrar discs sobre la marxa

  • Suprimeix el disc ssd1 a les propietats de la màquina
  • Cerqueu el directori on s'emmagatzemen els fitxers de la vostra màquina virtual i suprimiu ssd1.vmdk
    2) Assegureu-vos que la vostra màquina virtual encara s'està executant
    3) Reinicieu la màquina virtual i assegureu-vos que encara s'està executant
    4) comproveu l'estat de la matriu RAID: cat /proc/mdstat
    5) afegiu un disc nou de la mateixa mida a la interfície VM i anomeneu-lo ssd3
    6) Realitzeu les operacions:
  • comproveu que el nou disc ha arribat al sistema mitjançant fdisk -l
  • copieu la taula de particions del disc antic al nou: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
  • mireu el resultat amb fdisk -l
  • Afegiu un disc nou a la matriu raid: mdadm —manage /dev/md0 —add /dev/YYY
  • Mireu el resultat: cat /proc/mdstat. Hauríeu de veure que la sincronització ha començat
    7) Ara heu de sincronitzar manualment les particions que no formen part del RAID.
    Per fer-ho, utilitzarem la utilitat dd, copiant des del disc "en directe" al nou que heu instal·lat recentment

    dd if=/dev/XXX of=/dev/YYY

    8) Un cop finalitzada la sincronització, instal·leu grub a la nova unitat
    9) Reinicieu la VM per assegurar-vos que tot funciona
    Descriu amb les teves paraules què has fet i quin resultat has obtingut de la tasca.
    Resultat: s'ha eliminat el disc ssd1, s'ha desat el disc ssd2 i s'ha afegit el disc ssd3.

    Tasca 3 (Afegir nous discs i moure una partició)

    Aquesta és la tasca més complexa i voluminosa de totes les presentades.
    Comproveu molt bé què feu i amb quins discs i particions.
    Es recomana fer-ne una còpia abans d'executar-lo.
    Aquesta tasca és independent de la tasca núm. 2, es pot realitzar després de la tasca núm. 1, ajustada per als noms de disc.
    La segona part d'aquesta tasca de laboratori hauria de portar exactament al mateix estat que es trobava després de completar la primera part.

    Per facilitar-vos la feina, us recomano que no elimineu físicament els discs de la màquina amfitriona, sinó només
    desconnecteu-los a les propietats de la màquina. Des del punt de vista del sistema operatiu a la VM, es veurà exactament igual, però podeu fer-ho
    si passa alguna cosa, torneu a connectar el disc i continueu el treball retrocedint un parell de punts, si
    estàs tenint problemes. Per exemple, és possible que ho hàgiu fet incorrectament o que us oblideu de copiar la partició /boot al disc nou.
    Només puc aconsellar-vos que comproveu amb quins discs i particions esteu treballant diverses vegades, o fins i tot millor.
    Escriu en un paper la correspondència entre els discos, les particions i el número de disc "físic". Arbre bonic i clar
    empats d'equip lsblk, utilitzeu-lo tan sovint com sigui possible per analitzar què heu fet i què cal fer.

    A la història...

    Imagineu que el vostre servidor s'ha funcionat durant molt de temps en 2 unitats SSD, quan de sobte...

    1) Simuleu la fallada del disc ssd2 eliminant el disc de les propietats de la màquina virtual i reiniciant
    2) Veure l'estat actual dels discs i del RAID:

    cat /proc/mdstat
    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

    3) Tens sort: els teus caps t'han permès comprar diversos discos nous:

    2 SATA de gran capacitat per a la tasca tan esperada de moure la partició amb registres a un disc separat

    2 SSD per substituir el que va morir, així com per substituir el que encara funciona.

    Tingueu en compte que la cistella del servidor només admet la instal·lació de 4 discs alhora,
    per tant, no podeu afegir tots els discs alhora.

    Seleccioneu la capacitat del disc dur 2 vegades més gran que el SSD.
    La capacitat de l'SSD és 1,25 vegades més gran que l'antic SSD.

    4) Afegiu un nou disc ssd, anomenant-lo ssd4, i després d'afegir-lo, comproveu què ha passat:

    fdisk -l
    lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

    5) En primer lloc, hauríeu de tenir cura de la seguretat de les dades del disc antic.
    Aquesta vegada transferirem dades mitjançant LVM:

    • En primer lloc, heu de copiar la taula de fitxers del disc antic al nou:
      sfdisk -d /dev/XXX | sfdisk /dev/YYY

      Substituïu els discs correctes per x,y i esbrineu què fa aquesta ordre.

      Executeu lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i compareu la seva sortida amb la trucada anterior.
      Què ha canviat?
      utilitzeu l'ordre dd per copiar les dades /boot al disc nou

      dd if=/dev/XXX of=/dev/YYY

      si /boot va romandre muntat al disc antic, s'hauria de tornar a muntar al disc en directe:

      mount | grep boot # смотрим куда смонтирован диск
      lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
      umount /boot # отмонтируем /boot
      mount -a # выполним монтирование всех точек согласно /etc/fstab. 
      # Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск

      Instal·leu el carregador d'arrencada a la nova unitat ssd

      grub-install /dev/YYY

      Per què fem aquesta operació?

      creeu una matriu de raid nova que inclou només un disc ssd nou:

      mdadm --create --verbose /dev/md63 --level=1 --raid-devices=1 /dev/YYY

      L'ordre anterior no funcionarà sense especificar una clau especial.
      Llegiu l'ajuda i afegiu aquesta clau a l'ordre.

      Utilitzeu l'ordre cat /proc/mdstat per comprovar el resultat de la vostra operació. Què ha canviat?
      Executeu lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i compareu la seva sortida amb la trucada anterior.
      Què ha canviat?
      6) El següent pas és configurar LVM
      executeu l'ordre pvs per veure informació sobre els volums físics actuals
      creeu un nou volum físic que inclou la matriu RAID creada anteriorment:

      pvcreate /dev/md63

      Executeu lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i compareu la seva sortida amb la trucada anterior.
      Què ha canviat?
      Torna a executar l'ordre pvs. Què ha canviat?
      Augmentem la mida del sistema del grup de volums amb l'ordre següent:

      vgextend system /dev/md63

      Executeu les ordres i anoteu què heu vist i què ha canviat.

      vgdisplay system -v
      pvs
      vgs
      lvs -a -o+devices

      A quin disc físic es troben actualment LV var,log,root?

      Mou les dades de la unitat antiga a la nova, utilitzant els noms de dispositiu correctes.

      pvmove -i 10 -n /dev/system/root /dev/md0 /dev/md63 

      Repetiu l'operació per a tots els volums lògics

      Executeu les ordres i anoteu què heu vist i què ha canviat.

      vgdisplay system -v
      pvs
      vgs
      lvs -a -o+devices
      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

      Canviem el nostre VG eliminant-ne l'antic disc raid. Substituïu el nom de raid correcte.

      vgreduce system /dev/md0

      Executeu les ordres i anoteu què heu vist i què ha canviat.

      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
      pvs
      vgs

      Per fer la imatge més bella, torneu a muntar /boot al segon disc ssd (ssd4) i executeu lsblk. Com a resultat, el disc ssd3 no
      no s'ha de muntar res. Comproveu amb cura que la partició /boot no estigui buida! ls /boot ha de mostrar
      diversos fitxers i carpetes. Estudieu què s'emmagatzema en aquesta secció i anoteu quin directori de fitxers és responsable de què.
      7) traieu el disc ssd3 i afegiu ssd5, hdd1, hdd2 segons les especificacions tècniques descrites anteriorment, donant com a resultat:
      ssd4: el primer ssd nou
      ssd5 - segon ssd nou
      hdd1 - primer disc nou
      hdd2 - segon disc dur nou

      8) Comproveu què va passar després d'afegir discs:

      fdisk -l
      lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

      9) Restaurem el funcionament de la matriu de raid principal:

      • copieu la taula de particions, substituint els discs correctes:
        sfdisk -d /dev/XXX | sfdisk /dev/YYY
      • Tingueu en compte que quan vam copiar la taula de particions del disc antic, semblava que la nova mida
        no utilitza tota la capacitat del disc dur.
        Per tant, aviat haurem de canviar la mida d'aquesta partició i ampliar el raid.
        Comproveu-ho vosaltres mateixos executant l'ordre:

        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        10) copieu la partició d'arrencada /boot de ssd4 a ssd5

        dd if=/dev/XXX of=/dev/YYY

        11) Instal·leu grub a la nova unitat (ssd5)
        12) canviar la mida de la segona partició del disc ssd5

        executeu la utilitat de particions de disc:

        fdisk /dev/XXX

        introduïu la tecla d per eliminar una partició existent (trieu 2)
        introduïu la clau n per crear una nova partició
        introduïu la clau p per indicar que el tipus de partició és "primària"
        introduïu la clau 2 perquè la nova partició tingui el segon número
        Primer sector: premeu Intro per acceptar la mida calculada automàticament de l'inici de la partició
        Últim sector: premeu Intro per acceptar la mida calculada automàticament del final de la partició
        introduïu la clau l per veure una llista de tots els tipus de particions possibles i trobar-hi Linux Raid Auto
        introduïu la tecla t per canviar el tipus de partició creada (2) i introduïu el número que es troba al pas anterior.
        introduïu la tecla w per escriure el canvi al disc.
        12) torneu a llegir la taula de particions i comproveu el resultat

        partx -u /dev/XXX
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        afegir un disc nou a la matriu raid actual (no oblideu substituir els discs correctes)

        mdadm --manage /dev/md63 --add /dev/sda2

        Ampliem el nombre de discs de la nostra matriu a 2:

        mdadm --grow /dev/md63 --raid-devices=2

        Mireu el resultat: tenim 2 matrius marcades, però les dues seccions incloses en aquesta matriu tenen mides diferents

        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        13) augmentar la mida de la partició al disc ssd4

        executeu la utilitat de particions de disc:

        fdisk /dev/XXX

        introduïu la tecla d per eliminar una partició existent (trieu 2)
        introduïu la clau n per crear una nova partició
        introduïu la clau p per indicar que el tipus de partició és "primària"
        introduïu la clau 2 perquè la nova partició tingui el segon número
        Primer sector: premeu Intro per acceptar la mida calculada automàticament de l'inici de la partició
        Últim sector: premeu Intro per acceptar la mida calculada automàticament del final de la partició
        Al final de l'etiquetatge, seleccioneu No per deixar la signatura de la pertinença de la partició a la matriu.
        introduïu la tecla w per escriure el canvi al disc.
        12) torneu a llegir la taula de particions i comproveu el resultat

        partx -u /dev/XXX
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT

        Tingueu en compte que ara les particions sda2 i sdc2 tenen una mida > que la mida del dispositiu raid.

        13) en aquesta etapa, la mida del raid ara es pot ampliar

        mdadm --grow /dev/md63 --size=max
        lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result

        Reviseu lsblk i observeu què ha canviat
        14) Tanmateix, tot i que vam canviar la mida del raid, les mides de vg root,var,log no van canviar

        • mireu la mida del PV:
          pvs
        • Ampliem la mida del nostre PV:
          pvresize /dev/md63
        • mireu la mida del PV:
          pvs

          15) Afegiu la nova ubicació VG var,root apareguda

          lvs # посмотрим сколько сейчас размечено
          lvextend -l +50%FREE /dev/system/root
          lvextend -l +100%FREE /dev/system/var
          lvs # проверьте что получилось

          En aquest punt, heu completat la migració de la matriu principal als discs nous. el treball amb ssd1, ssd2 s'ha completat

          16) La nostra següent tasca és moure /var/log a nous discs, per això crearem una nova matriu i lvm als discs HDD.

          • anem a veure quins noms tenen els nous discs durs
            fdisk -l
          • creem una matriu de raid
            mdadm --create /dev/md127 --level=1 --raid-devices=2 /dev/sdc /dev/sdd
          • creem un nou PV al raid a partir de discos grans
            pvcreate data /dev/md127
          • Creem un grup en aquest PV anomenat dades
            vgcreate data /dev/md127
          • Creem un volum lògic amb la mida de tot l'espai lliure i anomenem-lo val_log
            lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
          • formatar la partició creada en ext4
            mkfs.ext4 /dev/mapper/data-var_log
          • veurem el resultat
            lsblk

            17) transferir dades de registre de la partició antiga a la nova

            instal·leu temporalment un nou emmagatzematge de registres

            mount /dev/mapper/data-var_log /mnt

            sincronitzem les particions

            apt install rsync
            rsync -avzr /var/log/ /mnt/

            Descobrim quins processos s'estan executant actualment a /var/log

            apt install lsof
            lsof | grep '/var/log'

            aturar aquests processos

            systemctl stop rsyslog.service syslog.socket

            realitzar la sincronització final de les particions (dades que poden haver canviat des de l'última sincronització)

            rsync -avzr /var/log/ /mnt/

            intercanviar les seccions

            umount /mnt
            umount /var/log
            mount /dev/mapper/data-var_log /var/log

            comprovem què ha passat

            lsblk

            18) Editeu /etc/fstab
            fstab: un fitxer que registra les regles per les quals es muntaran les particions a l'arrencada
            la nostra tasca és trobar la línia on està muntat /var/log i arreglar el dispositiu system-log en data-var_log

            19) El més important en aquesta etapa és no oblidar canviar la taula de Radela (ext4, per exemple). Perquè no importa com canviem qualsevol raid, lvm, fins que el FS de la partició no sigui notificat que ara la mida de la partició ha canviat, no podrem utilitzar el nou espai. Utilitzeu l'ordre resize2fs per canviar el FS.

            20) Corda final

            • Reiniciem. Si ho heu fet tot correctament, tornareu al vostre sistema operatiu (això és necessari per assegurar-vos que tot funciona. Aquest pas no té cap altre sentit que l'autoprova)
            • comproveu que tot el que volíem fer s'hagi fet realment:
              pvs
              lvs
              vgs
              lsblk
              cat /proc/mdstat

            21) [OPCIONAL] Seguiu els passos

            • reinicieu prement F12 per especificar diferents unitats en arrencar per assegurar-vos que podeu arrencar
              des de qualsevol de les unitats ssd, de manera que no tinguem por de la fallada d'una d'elles
            • ara teniu una sessió de LV innecessària al sistema VG. Assigna aquest espai entre root o var, però en comptes d'utilitzar
              dissenys 100% GRATIS especifiqueu la mida a mà amb la tecla -L:

              -L 500M
            • solucioneu el problema que /boot es troba en dues particions sense sincronització, no cal fer-ho correctament,
              s'afegeix aquí com a exemple. No oblideu copiar primer el contingut de /boot en algun lloc.

              • creeu un raid nou i incloeu-hi sda1,sda2
              • incloure aquestes particions al raid existent i restaurar /boot al raid principal, però sense muntar-lo.

Font: www.habr.com

Afegeix comentari