Una piccula digressione: questu LR hè sinteticu.
Certi di i travaglii descritti quì ponu esse fattu assai più sèmplice, ma postu chì u compitu di l/r hè di cunnosce
cù a funziunalità raid è lvm, alcune operazioni sò artificialmente complicate.
Requisiti per l'arnesi per eseguisce LR:
Strumenti di virtualizazione cum'è Virtualbox
L'imagine di installazione di Linux, per esempiu Debian 9
Disponibilità di Internet per scaricà parechji pacchetti
Cunnette via ssh à a VM installata (opcional)
ATENCION
Stu travagliu di labburatoriu hè in relazione cù una materia cusì sottile cum'è a sicurità di dati - questu hè un spaziu induve
chì permette di perde tutti i vostri dati per via di l'errore più chjucu - una lettera o un numeru extra.
Siccomu fate un travagliu di laboratoriu, ùn site micca in periculu, salvu chì avete da principià à fà tuttu.
In a vita vera, tuttu hè assai più seriu, cusì duvete inserisce i nomi di u discu assai cun cura, capiscenu
ciò chì fate esattamente cù u cumandamentu attuale è chì dischi stai travagliendu.
U sicondu puntu impurtante hè a denominazione di dischi è partizioni: secondu a situazione, i numeri di discu pò esse diffirenti
da quelli valori chì sò prisentati in i cumandamenti in u travagliu di laboratoriu.
Cusì, per esempiu, se sguassate u discu sda da u array è dopu aghjunghje un novu discu, u novu discu serà visualizatu.
nantu à un sistema chjamatu sda. Se riavviate prima di aghjunghje un novu discu, allora u novu
u discu serà chjamatu sdb, è u vechju serà chjamatu sda
U labburatoriu deve esse eseguitu cum'è superuser (root) cum'è a maiò parte di i cumandamenti necessitanu
privilegii elevati è ùn hà micca sensu di scalate constantemente i privilegi via sudo
Materiali di studiu
RAID
LVM
Nomi di discu in Linux OS
Cosa hè una sezione
Cosa hè una tavola di partizioni è induve hè guardatu?
Cosa hè grub
Utilità utilizati
1) vede l'infurmazioni di u discu
lsblk -o NOME, TAGLIA, FSTYPE, TYPE, MOUNTPOINT
fdisk -l
2) vede l'infurmazioni è travaglià cù LVM
pvs
pvetende
pvcreate
pvresize
vgs
vgreduce
lvs
lvestendu
3) vede l'infurmazioni è travaglià cù RAID
cat /proc/mdstat
mdadm
4) punti di muntagna
muntagna
umuntu
cat /etc/fstab
cat /etc/mtab
5) ripartizione di discu
fdisk /dev/XXX
6) cupià partizioni
dd if=/dev/xxx of=/dev/yyy
7) travaglià cù a tavola di partizioni
partx
sfdisk
mkfs.ext4
8) travaglià cù u bootloader
grub-install /dev/XXX
update-grub
9) varii
lsof
entier
rsync
U travagliu di u laboratoriu hè custituitu da 3 parti:
crià un sistema di travagliu cù lvm, raid
emulazione di unu di i fallimenti di u discu
rimpiazzà i dischi nantu à a mosca, aghjunghjendu novi dischi è movendu partizioni.
Task 1 (installazione OS è cunfigurazione di LVM, RAID)
1) Crea una nova macchina virtuale, dendu e seguenti caratteristiche:
1 gb ram
1 cpu
2 hdds (chjamateli ssd1, ssd2 è assignate dimensioni uguali, verificate i scatuli di scambii caldi è ssd)
Controller SATA cunfiguratu per 4 porti
2) Cuminciate à installà Linux è quandu avete da selezziunate i discu duru, fate u seguente:
Metudu di particione: manuale, dopu chì duvete vede sta stampa:
Configurazione di una partizione separata per /boot: Selezziunate u primu discu è crea una nova tavola di partizioni nantu à questu
Dimensione di a partizione: 512 M
Puntu di muntagna: /boot
Repetite i paràmetri per u sicondu discu, ma postu chì ùn pudete micca muntà / boot duie volte à u stessu tempu, selezziunate u puntu di muntagna: nimu, eventualmente ottenendu ciò chì segue (stampa cù un jamb, troppu pigro per riparà):
Configurazione RAID:
Selezziunate u spaziu liberu nantu à u primu discu è cunfigurà u tipu di partizione cum'è volume fisicu per RAID
Selezziunà "Fine a stallazione di a partizione"
Repetite esattamente i stessi paràmetri per u sicondu discu, risultatu in i seguenti:
Sceglite "Configurazione RAID di u software"
Crea un dispositivu MD
Tipu di dispositivu RAID di software: Selezziunate un array mirrored
Dispositivi attivi per l'array RAID XXXX: Selezziunate e duie unità
Spare devices: Lasciate 0 cum'è predeterminatu
Dispositivi attivi per l'array RAID XX: selezziunate e partizioni chì avete creatu sottu raid
Finisci
In u risultatu, duvete ottene una foto cum'è questu:
Configurazione di LVM: Selezziunate Configurate u Manager di Volume logicu
Mantene u layout di partizione attuale è cunfigurà LVM: Sì
Crea un gruppu di volumi
Nome di u gruppu di volumi: sistema
Dispositivi per u novu gruppu di volumi: Sceglite u vostru RAID creatu
Crea un voluminu logicu
nome di u voluminu logicu: root
dimensione di u voluminu logicu: 25 di a dimensione di u vostru discu
Crea un voluminu logicu
nome di u voluminu logicu: var
dimensione di u voluminu logicu: 25 di a dimensione di u vostru discu
Crea un voluminu logicu
nome di u voluminu logicu: log
dimensione di u voluminu logicu: 15 di a dimensione di u vostru discu
Selezziunendu i dettagli di cunfigurazione di Display, duvete ottene a seguente stampa:
Una volta chì avete finitu di cunfigurà LVM, duvete vede u seguente:
Disposizione di partizioni: unu per unu, selezziunate ogni voluminu creatu in LVM è metteli, per esempiu, per a radica cusì:
Aduprà cum'è: ext4
puntu di muntagna: /
U risultatu di a marcatura di a partizione radicali deve esse cusì:
ripetite l'operazione di partizionamentu per var è log, selezziunate i punti di muntazione appropritati (/var è /var/log inseriti manualmente), ottenendu u risultatu seguente:
Selezziunà Finish Partitioning
Vi sarà dumandatu parechje dumande nantu à u fattu chì avete sempre una partizione unmounted è u swap ùn hè micca cunfiguratu. E duie dumande deve esse rispostu in u negativu.
U risultatu finali deve esse cusì:
3) Finite a stallazione di u SO instalendu grub in u primu dispositivu (sda) è avvià u sistema.
4) Copia u cuntenutu di a partizione /boot da l'unità sda (ssd1) à l'unità sdb (ssd2)
Elencu tutti i dischi chì u cumandamentu precedente vi hà datu è descrive chì tipu di discu hè
Truvate l'unità induve grub ùn hè micca stallatu è eseguite sta installazione: grub-install /dev/sdb
vede l'infurmazioni nantu à u raid attuale cù u cumandimu cat /proc/mdstat è scrivite ciò chì vede.
fighjate à l'output di i cumandamenti: pvs, vgs, lvs, muntate è scrive ciò chì esattamente avete vistu
Scrivite in e vostre parolle ciò chì avete fattu è quale risultatu avete da u compitu.
Dopu à compie stu compitu, hè cunsigliatu di salvà una copia di salvezza di u cartulare macchina virtuale o fà
scatula vagabonda: https://t.me/bykvaadm/191
Risultatu: Macchina virtuale cù dischi ssd1, ssd2
Task 2 (Emulazione di u fallimentu di unu di i dischi)
1) Se avete verificatu a scatula di scambiu caldu, pudete sguassà i dischi in u volu
Eliminate u discu ssd1 in e proprietà di a macchina
Truvate u repertoriu induve i vostri fugliali di macchina virtuale sò almacenati è sguassate ssd1.vmdk
2) Assicuratevi chì a vostra macchina virtuale hè sempre in esecuzione
3) Reboot a macchina virtuale è assicuratevi chì hè sempre in esecuzione
4) verificate u statutu di l'array RAID: cat /proc/mdstat
5) aghjunghje un novu discu di a stessa dimensione in l'interfaccia VM è chjamate ssd3
6) eseguite l'operazioni:
vede chì u novu discu hè ghjuntu in u sistema cù fdisk -l
copià a tabella di partizioni da u vechju discu à u novu: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
fighjate u risultatu cù fdisk -l
Aghjunghjite un novu discu à u raid array: mdadm -manage /dev/md0 -add /dev/YYY
Fighjate u risultatu: cat /proc/mdstat. Avete da vede chì a sincronizazione hà iniziatu
7) Avà avete bisognu di sincronizà manualmente partizioni chì ùn sò micca parte di u RAID.
Per fà questu, useremu l'utilità dd, cupiendu da u discu "live" à u novu chì avete installatu recentemente.
dd if=/dev/XXX of=/dev/YYY
8) Dopu chì a sincronizazione hè cumpleta, installate grub nantu à a nova unità
9) Reboot a VM per assicurà chì tuttu funziona
Scrivite in e vostre parolle ciò chì avete fattu è quale risultatu avete da u compitu.
Risultatu: U discu ssd1 hè statu eliminatu, u discu ssd2 hè statu salvatu, u discu ssd3 hè statu aghjuntu.
Task 3 (Aghjunghje novi dischi è move una partizione)
Questu hè u compitu più cumplessu è voluminoso di tutti i presentati.
Verificate assai bè ciò chì fate è cù quali dischi è partizioni.
Hè cunsigliatu di fà una copia prima di eseguisce.
Stu compitu hè indipindente di u compitu N ° 2, pò esse realizatu dopu à u compitu N ° 1, aghjustatu per i nomi di discu.
A seconda parte di stu travagliu di u laboratoriu duveria purtari à esattamente u listessu statu chì era dopu à cumpiendu a prima parte.
Per fà u vostru travagliu più faciule, possu ricumandemu micca di sguassà fisicamente i dischi da a macchina host, ma solu
disconnect elli in i pruprietà machine. Da u puntu di vista di l'OS in a VM, parerà esattamente u listessu, ma pudete
s'è qualcosa succedi, cunnette u discu è cuntinuà u travagliu per rinvià un paru di punti, se
avete prublemi. Per esempiu, pudete avè fattu in modu incorrectu o scurdatu di copià a partizione /boot à u novu discu.
Puderaghju solu cunsiglià per verificà duie volte cù quali dischi è partizioni avete travagliatu parechje volte, o ancu megliu
Scrivite nantu à un pezzu di carta a currispundenza trà i dischi, partizioni è u numeru di discu "fisicu". Arburu bellu è chjaru
sorte di squadra lsblk, Aduprate u più spessu pussibule per analizà ciò chì avete fattu è ciò chì deve esse fattu.
À a storia ...
Immaginate chì u vostru servitore hè in esecuzione per un bellu pezzu nantu à 2 unità SSD, quandu di colpu ...
1) Simulate u fallimentu di u discu ssd2 sguassendu u discu da e proprietà di VM è rebooting
2) Vede u statu attuale di i dischi è RAID:
3) Avete furtunatu - i vostri capi anu permessu di cumprà parechji novi dischi:
2 SATA di grande capacità per u compitu longu di spustà a partizione cù logs in un discu separatu
2 SSD per rimpiazzà quellu chì hè mortu, è ancu per rimpiazzà quellu chì hè sempre in funzione.
Per piacè nutate chì a cesta di u servitore supporta solu l'installazione di 4 dischi à u tempu,
dunque, ùn pudete micca aghjunghje tutti i dischi in una volta.
Sceglite a capacità HDD 2 volte più grande di SSD.
A capacità SSD hè 1,25 volte più grande di l'antica SSD.
4) Aghjunghjite un novu discu ssd, chjamendu ssd4, è dopu aghjunghje, verificate ciò chì hè accadutu:
5) Prima di tuttu, vi duvite piglià cura di a sicurità di i dati nantu à u vechju discu.
Sta volta trasfereremu dati cù LVM:
Prima di tuttu, avete bisognu di copià a tabella di u schedariu da u vechju discu à u novu:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Sustituite i dischi curretti per x,y è scopre ciò chì face stu cumandamentu.
Eseguite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT è paragunate a so output cù a chjamata precedente.
Chì hè cambiatu?
Aduprate u cumandamentu dd per copià i dati / boot à u novu discu
dd if=/dev/XXX of=/dev/YYY
se /boot resta muntatu nantu à u vechju discu, deve esse rimontatu nantu à u discu live:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Installa u bootloader nantu à a nova unità ssd
grub-install /dev/YYY
Perchè facemu sta operazione?
crea un novu array raid chì include solu un novu discu ssd:
U cumandamentu sopra ùn hà micca travagliatu senza specificà una chjave speciale.
Leghjite l'aiutu è aghjunghje sta chjave à u cumandamentu.
Aduprate u cat /proc/mdstat cumanda per verificà u risultatu di a vostra operazione. Chì hè cambiatu?
Eseguite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT è paragunate a so output cù a chjamata precedente.
Chì hè cambiatu?
6) U prossimu passu hè di cunfigurà LVM
eseguite u cumandamentu pvs per vede l'infurmazioni nantu à i volumi fisichi attuali
crea un novu voluminu fisicu cumpresu l'array RAID creatu prima:
pvcreate /dev/md63
Eseguite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT è paragunate a so output cù a chjamata precedente.
Chì hè cambiatu?
Eseguite u cumandamentu pvs di novu. Chì hè cambiatu?
Aumentemu a dimensione di u sistema di u Gruppu di Volume cù u cumandimu seguente:
vgextend system /dev/md63
Eseguite i cumandamenti è scrive ciò chì avete vistu è ciò chì hà cambiatu.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
In quale discu fisicu sò attualmente situati LV var,log,root?
Sposta i dati da u vechju drive à u novu, usendu i nomi di i dispositi curretti.
Eseguite i cumandamenti è scrive ciò chì avete vistu è ciò chì hà cambiatu.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Cambiemu u nostru VG sguassendu u vechju discu raid da ellu. Sustituite u nome di raid currettu.
vgreduce system /dev/md0
Eseguite i cumandamenti è scrive ciò chì avete vistu è ciò chì hà cambiatu.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Per fà a stampa più bella, remuntate / boot à u sicondu discu ssd (ssd4) è eseguite lsblk. In u risultatu, u discu ssd3 ùn hè micca
nunda ùn deve esse muntatu. Verificate cù cura chì a partizione /boot ùn hè micca viota! ls /boot deve mustrà
parechji schedari è cartulare. Studia ciò chì hè guardatu in questa sezione è scrivite quale cartulare di u schedariu hè rispunsevule per ciò chì.
7) sguassate u discu ssd3 è aghjunghje ssd5, hdd1, hdd2 secondu e specificazioni tecniche descritte sopra, risultatu in:
ssd4 - u primu novu ssd
ssd5 - secondu novu ssd
hdd1 - primu novu HDD
hdd2 - secondu novu HDD
8) Verificate ciò chì hè accadutu dopu à aghjunghje dischi:
9) Ripristinamu l'operazione di a matrice di raid principale:
copià a tabella di partizioni, rimpiazzà i dischi curretti:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Per piacè nutate chì quandu avemu copiatu a tavola di partizioni da u vechju discu, pareva chì a nova dimensione
ùn usa micca tutta a capacità di u discu duru.
Dunque, prestu avemu bisognu di ridimensionà sta partizione è espansione u raid.
Vede per voi stessu eseguendu u cumandamentu:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) copiate a partizione di boot /boot da ssd4 à ssd5
dd if=/dev/XXX of=/dev/YYY
11) Installa grub nantu à a nova unità (ssd5)
12) ridimensionà a seconda partizione di u discu ssd5
eseguite l'utilità di partizionamentu di u discu:
fdisk /dev/XXX
entre a chjave d per sguassà una partizione esistente (scegli 2)
entre a chjave n per creà una nova partizione
entre a chjave p per indicà u tipu di partizione hè "primariu"
entre a chjave 2 per chì a nova partizione hà u sicondu numeru
Primu settore: appughjà enter per accettà a dimensione calculata automaticamente di u principiu di a partizione
Ultimu settore: appughjà Enter per accettà a dimensione calculata automaticamente di a fine di a partizione
entre a chjave l per vede una lista di tutti i tipi di partizioni pussibuli è truvà Linux raid auto in questu
entre a chjave t per cambià u tipu di a partizione creata (2) è entre u numeru trovu in u passu precedente.
entre a chjave w per scrive u cambiamentu à u discu.
12) rileghjite a tavola di partizioni è verificate u risultatu
aghjunghje un novu discu à l'array raid attuale (ùn vi scurdate di rimpiazzà i dischi curretti)
mdadm --manage /dev/md63 --add /dev/sda2
Ampliemu u numeru di dischi in u nostru array à 2:
mdadm --grow /dev/md63 --raid-devices=2
Fighjate u risultatu: avemu 2 array marcati, ma e duie sezioni incluse in questa matrice anu diverse dimensioni
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) aumenta a dimensione di partizioni nantu à u discu ssd4
eseguite l'utilità di partizionamentu di u discu:
fdisk /dev/XXX
entre a chjave d per sguassà una partizione esistente (scegli 2)
entre a chjave n per creà una nova partizione
entre a chjave p per indicà u tipu di partizione hè "primariu"
entre a chjave 2 per chì a nova partizione hà u sicondu numeru
Primu settore: appughjà enter per accettà a dimensione calculata automaticamente di u principiu di a partizione
Ultimu settore: appughjà Enter per accettà a dimensione calculata automaticamente di a fine di a partizione
À a fine di u marcatu, selezziunate No per lascià a firma di l'appartenenza di a partizione in l'array.
entre a chjave w per scrive u cambiamentu à u discu.
12) rileghjite a tavola di partizioni è verificate u risultatu
Per piacè nutate chì avà i partizioni sda2, sdc2 anu una dimensione > di a dimensione di u dispusitivu raid.
13) in questa fase, a dimensione di u raid pò esse allargata
mdadm --grow /dev/md63 --size=max
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result
Revisione lsblk è nota ciò chì hè cambiatu
14) Tuttavia, anche se avemu cambiatu a dimensione di u raid, e dimensioni di vg root,var,log ùn anu micca cambiatu.
fighjate a dimensione PV:
pvs
Allargemu a dimensione di u nostru PV:
pvresize /dev/md63
fighjate a dimensione PV:
pvs
15) Aghjunghjite u locu novu apparsu VG var, root
lvs # посмотрим сколько сейчас размечено
lvextend -l +50%FREE /dev/system/root
lvextend -l +100%FREE /dev/system/var
lvs # проверьте что получилось
À questu puntu, avete finitu a migrazione di l'array principale à i novi dischi. travaglià cù ssd1, ssd2 hè cumpletu
16) U nostru prossimu compitu hè di trasfurmà /var/log à novi dischi, per questu avemu da creà un novu array è lvm nantu à i dischi hdd.
criemu un novu PV nantu à u raid da i grandi dischi
pvcreate data /dev/md127
Creemu un gruppu in questu PV chjamatu data
vgcreate data /dev/md127
Creemu un voluminu lògicu cù a dimensione di tuttu u spaziu liberu è chjamate val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
formate a partizione creata in ext4
mkfs.ext4 /dev/mapper/data-var_log
vedemu u risultatu
lsblk
17) trasferimentu dati log da u vechju partition à u novu unu
stallà temporaneamente un novu log storage
mount /dev/mapper/data-var_log /mnt
sincronizemu e partizioni
apt install rsync
rsync -avzr /var/log/ /mnt/
Scupritemu quali prucessi sò attualmente in esecuzione in /var/log
apt install lsof
lsof | grep '/var/log'
ferma sti prucessi
systemctl stop rsyslog.service syslog.socket
eseguisce a sincronizazione finale di e partizioni (dati chì ponu esse cambiati da l'ultima sincronizazione)
rsync -avzr /var/log/ /mnt/
scambià e sezioni
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
andemu à verificà ciò chì hè accadutu
lsblk
18) Edite /etc/fstab
fstab - un schedariu chì registra e regule per quale e partizioni seranu muntate à u boot
u nostru compitu hè di truvà a linea induve /var/log hè muntatu è riparà u dispusitivu system-log nantu data-var_log
19) A più impurtante in questa tappa hè micca di scurdà di cambià a tavola radela (ext4, per esempiu). Perchè ùn importa micca cumu cambiamu ogni raid, lvm, finu à chì u FS nantu à a particione hè avvisatu chì a dimensione di a partizione hà cambiatu avà, ùn pudemu micca aduprà u novu spaziu. Aduprà u cumandamentu resize2fs per cambià u FS.
20) Corda finale
Reboot. Sè avete fattu tuttu bè, sarete purtatu à u vostru OS di novu (questu hè necessariu per assicurà chì tuttu funziona. Stu passu ùn hà micca significatu altru ch'è l'autotesta)
verificate chì tuttu ciò chì vulemu fà hè statu fattu veramente:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [OPTIONAL] Segui i passi
reboot premendu F12 per specificà e diverse unità quandu u boot per assicurassi chì pudete boot
da qualsiasi unità ssd, perchè ùn avemu micca paura di fallimentu di unu di elli
avà avete log in LV innecessariu in u sistema VG. Allocate stu spaziu trà root o var, ma invece di utilizà
Disegni 100% GRATIS specificà a taglia a manu cù a chjave -L:
-L 500M
risolve u prublema chì /boot hè situatu nantu à duie partizioni senza sincronizazione, ùn ci hè bisognu di fà questu bè,
hè aghjuntu quì cum'è un esempiu. Ùn vi scurdate di cupià u cuntenutu di /boot in qualchì locu prima.
crea un novu raid è include sda1, sda2 in questu
include queste partizioni in u raid esistente è restaurà / boot à u raid principale, ma senza muntallu.