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
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:
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):
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:
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:
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:
Un cop hàgiu acabat de configurar LVM, hauríeu de veure el següent:
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í:
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:
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í:
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)
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:
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:
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.
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:
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
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
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.