Malá odbočka: tento LR je syntetický.
Niektoré z tu popísaných úloh sa dajú robiť oveľa jednoduchšie, ale keďže úlohou l/r je spoznávať
s funkcionalitou raid a lvm sú niektoré operácie umelo komplikované.
Požiadavky na nástroje na vykonávanie LR:
Virtualizačné nástroje ako Virtualbox
Napríklad inštalačný obraz Linuxu Debian 9
Dostupnosť internetu na stiahnutie niekoľkých balíkov
Pripojte sa cez ssh k nainštalovanému VM (voliteľné)
UPOZORNENIE
Táto laboratórna práca súvisí s takou jemnou záležitosťou, akou je bezpečnosť údajov – to je oblasť, kde
čo vám umožní stratiť všetky dáta kvôli najmenšej chybe – o jedno písmeno alebo číslo navyše.
Keďže robíte laboratórne práce, nič vám nehrozí, okrem toho, že to budete musieť začať robiť odznova.
V skutočnom živote je všetko oveľa vážnejšie, takže názvy jednotiek by ste mali zadávať veľmi opatrne, rozumne
čo presne robíte s aktuálnym príkazom a s akými diskami pracujete.
Druhým dôležitým bodom je pomenovanie diskov a diskových oddielov: v závislosti od situácie sa môžu čísla diskov líšiť
z tých hodnôt, ktoré sú prezentované v príkazoch v laboratórnej práci.
Ak teda napríklad odstránite sda disk z poľa a potom pridáte nový disk, zobrazí sa nový disk
na systéme s názvom sda. Ak pred pridaním nového disku reštartujete, potom nový
disk sa bude volať sdb a starý sa bude volať sda
Laboratórium musí byť spustené ako superužívateľ (root), ako to vyžaduje väčšina príkazov
zvýšené privilégiá a nemá zmysel neustále privilégiá eskalovať cez sudo
Študijné materiály
RAID
LVM
Pomenovanie diskov v OS Linux
Čo je sekcia
Čo je tabuľka oddielov a kde je uložená?
Čo je grub
Použité inžinierske siete
1) zobraziť informácie o disku
lsblk -o NAME,SIZE,FSTYPE,TYPE,HOUNTPOINT
fdisk -l
2) prezeranie informácií a práca s LVM
pvs
pvextend
pvccreate
pvresize
atď
vgreduce
lvs
lvextend
3) prezeranie informácií a práca s RAID
cat /proc/mdstat
mdadm
4) montážne body
namontovať
umount
cat /etc/fstab
cat /etc/mtab
5) prerozdelenie disku
fdisk /dev/XXX
6) kopírovanie oddielov
dd if=/dev/xxx of=/dev/yyy
7) práca s tabuľkou oddielov
partx
sfdisk
mkfs.ext4
8) práca s bootloaderom
grub-install /dev/XXX
update-grub
9) rôzne
tiež
naklonený
rsync
Laboratórna práca pozostáva z 3 častí:
nastavenie fungujúceho systému pomocou lvm, raid
emulácia jedného z porúch disku
výmena diskov za chodu, pridávanie nových diskov a presúvanie oddielov.
Úloha 1 (inštalácia OS a konfigurácia LVM, RAID)
1) Vytvorte nový virtuálny stroj s nasledujúcimi vlastnosťami:
1 gb ram
1 procesor
2 hdd (pomenujte ich ssd1, ssd2 a priraďte rovnaké veľkosti, začiarknite políčka hot swap a ssd)
SATA radič nakonfigurovaný pre 4 porty
2) Začnite inštalovať Linux a keď sa dostanete k výberu pevných diskov, postupujte takto:
Metóda rozdelenia: manuálna, po ktorej by ste mali vidieť tento obrázok:
Nastavenie samostatného oddielu pre /boot: Vyberte prvý disk a vytvorte na ňom novú tabuľku oddielov
Veľkosť priečky: 512M
Prípojný bod: /boot
Zopakujte nastavenia pre druhý disk, ale keďže nemôžete pripojiť / zaviesť dvakrát súčasne, vyberte bod pripojenia: žiadny, prípadne získate nasledovné (obrázok so zárubňou, príliš lenivý na to, aby ste to urobili znova):
Nastavenie RAID:
Vyberte voľné miesto na prvom disku a nakonfigurujte typ oddielu ako fyzický zväzok pre RAID
Vyberte možnosť „Dokončiť nastavenie oddielu“
Zopakujte presne tie isté nastavenia pre druhý disk, výsledkom čoho bude nasledovné:
Vyberte „Konfigurovať softvérový RAID“
Vytvorte MD zariadenie
Typ softvérového zariadenia RAID: Vyberte zrkadlové pole
Aktívne zariadenia pre pole RAID XXXX: Vyberte obe jednotky
Náhradné zariadenia: Ponechajte 0 ako predvolenú
Aktívne zariadenia pre pole RAID XX: vyberte oddiely, ktoré ste vytvorili v rámci RAID
úprava
V dôsledku toho by ste mali získať takýto obrázok:
Ponechať aktuálne rozloženie oddielov a nakonfigurovať LVM: Áno
Vytvorte skupinu zväzkov
Názov skupiny zväzkov: systém
Zariadenia pre novú skupinu zväzkov: Vyberte vytvorený RAID
Vytvorte logický zväzok
názov logického zväzku: root
veľkosť logického zväzku: 25 veľkosti vášho disku
Vytvorte logický zväzok
názov logického zväzku: var
veľkosť logického zväzku: 25 veľkosti vášho disku
Vytvorte logický zväzok
názov logického zväzku: log
veľkosť logického zväzku: 15 veľkosti vášho disku
Výberom položky Podrobnosti o konfigurácii zobrazenia by ste mali získať nasledujúci obrázok:
Po dokončení nastavenia LVM by ste mali vidieť nasledovné:
Rozloženie oddielu: vyberte každý zväzok vytvorený v LVM jeden po druhom a rozložte ich napríklad pre root takto:
Použiť ako: ext4
bod pripojenia: /
Výsledok označenia koreňového oddielu by mal vyzerať takto:
zopakujte operáciu rozdelenia pre var a log, pričom vyberte príslušné body pripojenia (/var a /var/log manuálne zadané), čím získate nasledujúci výsledok:
Vyberte Dokončiť rozdelenie
Dostanete niekoľko otázok o tom, že stále máte nepripojenú oblasť a swap nie je nakonfigurovaný. Na obe otázky treba odpovedať záporne.
Konečný výsledok by mal vyzerať takto:
3) Dokončite inštaláciu OS inštaláciou grub na prvé zariadenie (sda) a nabootujte systém.
4) Skopírujte obsah oddielu /boot z jednotky sda (ssd1) na jednotku sdb (ssd2)
Vypíšte všetky disky, ktoré vám dal predchádzajúci príkaz, a popíšte, o aký typ disku ide
Nájdite jednotku, na ktorej nebol nainštalovaný grub, a vykonajte túto inštaláciu: grub-install /dev/sdb
zobrazte informácie o aktuálnom raide pomocou príkazu cat /proc/mdstat a zapíšte si, čo vidíte.
pozrite sa na výstup príkazov: pvs, vgs, lvs, mount a napíšte, čo ste presne videli
Vlastnými slovami opíšte, čo ste robili a aký výsledok ste z úlohy získali.
Po dokončení tejto úlohy sa odporúča uložiť alebo vytvoriť záložnú kópiu priečinka virtuálneho počítača
tuláková krabica: https://t.me/bykvaadm/191
Výsledok: Virtuálny počítač s diskami ssd1, ssd2
Úloha 2 (emulácia zlyhania jedného z diskov)
1) Ak ste zaškrtli políčko hot swap, potom môžete vymazávať disky za behu
Odstráňte disk ssd1 vo vlastnostiach počítača
Nájdite adresár, kde sú uložené súbory vášho virtuálneho počítača a odstráňte ssd1.vmdk
2) Uistite sa, že váš virtuálny počítač je stále spustený
3) Reštartujte virtuálny počítač a uistite sa, že je stále spustený
4) skontrolujte stav poľa RAID: cat /proc/mdstat
5) pridajte nový disk rovnakej veľkosti do rozhrania VM a pomenujte ho ssd3
6) vykonajte operácie:
skontrolujte, či nový disk dorazil do systému pomocou fdisk -l
skopírujte tabuľku oddielov zo starého disku na nový: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
pozrite sa na výsledok pomocou fdisk -l
Pridajte nový disk do poľa raid: mdadm —manage /dev/md0 —add /dev/YYY
Pozrite sa na výsledok: cat /proc/mdstat. Mali by ste vidieť, že synchronizácia začala
7) Teraz musíte manuálne synchronizovať oddiely, ktoré nie sú súčasťou RAID.
Na tento účel použijeme nástroj dd, ktorý skopíruje zo „živého“ disku na nový, ktorý ste nedávno nainštalovali
dd if=/dev/XXX of=/dev/YYY
8) Po dokončení synchronizácie nainštalujte grub na nový disk
9) Reštartujte VM, aby ste sa uistili, že všetko funguje
Vlastnými slovami opíšte, čo ste robili a aký výsledok ste z úlohy získali.
Výsledok: Disk ssd1 bol odstránený, disk ssd2 bol uložený, disk ssd3 bol pridaný.
Úloha 3 (Pridanie nových diskov a presun oddielu)
Toto je najkomplexnejšia a najobjemnejšia úloha zo všetkých prezentovaných.
Veľmi pozorne skontrolujte, čo robíte a s akými diskami a oddielmi.
Pred spustením sa odporúča vytvoriť kópiu.
Táto úloha je nezávislá od úlohy č. 2, možno ju vykonať po úlohe č. 1 upravenej o názvy diskov.
Druhá časť tejto laboratórnej úlohy by mala viesť k presne rovnakému stavu, aký bol po dokončení prvej časti.
Na uľahčenie práce vám môžem odporučiť, aby ste z hostiteľského stroja nevyberali disky fyzicky, ale iba
odpojte ich vo vlastnostiach stroja. Z pohľadu OS vo VM to bude vyzerať úplne rovnako, ale môžete
ak sa niečo stane, pripojte disk späť a pokračujte v práci vrátením niekoľkých bodov späť, ak
máte problémy. Možno ste to napríklad urobili nesprávne alebo ste zabudli skopírovať oddiel /boot na nový disk.
Môžem vám len poradiť, aby ste si niekoľkokrát alebo ešte lepšie preverili, s ktorými diskami a partíciami pracujete
Zapíšte si na kúsok papiera súlad medzi diskami, oddielmi a „fyzickým“ číslom disku. Krásny a jasný strom
tímové žreby lsblk, používajte ho čo najčastejšie na analýzu toho, čo ste urobili a čo je potrebné urobiť.
K príbehu...
Predstavte si, že váš server beží dlhú dobu na 2 SSD diskoch, keď zrazu...
1) Simulujte zlyhanie disku ssd2 odstránením disku z vlastností VM a reštartovaním
2) Pozrite si aktuálny stav diskov a RAID:
5) V prvom rade by ste sa mali postarať o bezpečnosť dát na starom disku.
Tentokrát prenesieme údaje pomocou LVM:
Najprv musíte skopírovať tabuľku súborov zo starého disku na nový:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Nahraďte x,y správne disky a zistite, čo tento príkaz robí.
Spustite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT a porovnajte jeho výstup s predchádzajúcim volaním.
čo sa zmenilo?
použite príkaz dd na skopírovanie údajov /boot na nový disk
dd if=/dev/XXX of=/dev/YYY
ak /boot zostal pripojený na starom disku, mal by byť znova pripojený na živý disk:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Nainštalujte bootloader na nový ssd disk
grub-install /dev/YYY
Prečo vykonávame túto operáciu?
vytvorte nové pole raid obsahujúce iba jeden nový ssd disk:
Vyššie uvedený príkaz nebude fungovať bez zadania špeciálneho kľúča.
Prečítajte si pomocníka a pridajte tento kľúč do príkazu.
Na kontrolu výsledku vašej operácie použite príkaz cat /proc/mdstat. čo sa zmenilo?
Spustite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT a porovnajte jeho výstup s predchádzajúcim volaním.
čo sa zmenilo?
6) Ďalším krokom je konfigurácia LVM
spustite príkaz pvs na zobrazenie informácií o aktuálnych fyzických nosičoch
vytvorte nový fyzický zväzok vrátane predtým vytvoreného poľa RAID:
pvcreate /dev/md63
Spustite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT a porovnajte jeho výstup s predchádzajúcim volaním.
čo sa zmenilo?
Znova spustite príkaz pvs. čo sa zmenilo?
Zväčšíme veľkosť systému skupiny zväzkov pomocou nasledujúceho príkazu:
vgextend system /dev/md63
Spustite príkazy a zapíšte si, čo ste videli a čo sa zmenilo.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Na akom fyzickom disku sa momentálne nachádza LV var,log,root?
Presuňte údaje zo starého disku na nový pomocou správnych názvov zariadení.
Spustite príkazy a zapíšte si, čo ste videli a čo sa zmenilo.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Zmeňme náš VG odstránením starého raid disku z neho. Nahraďte správny názov raidu.
vgreduce system /dev/md0
Spustite príkazy a zapíšte si, čo ste videli a čo sa zmenilo.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Aby bol obraz krajší, znovu pripojte /boot na druhý ssd disk (ssd4) a spustite lsblk. V dôsledku toho disk ssd3 nie
nemalo by sa nič montovať. Starostlivo skontrolujte, či oddiel /boot nie je prázdny! ls /boot musí ukázať
niekoľko súborov a priečinkov. Preštudujte si, čo je uložené v tejto časti a zapíšte si, ktorý adresár so súbormi je za čo zodpovedný.
7) odstráňte disk ssd3 a pridajte ssd5, hdd1, hdd2 podľa technických špecifikácií opísaných vyššie, výsledkom čoho je:
ssd4 - prvý nový ssd
ssd5 - druhý nový ssd
hdd1 - prvý nový hdd
hdd2 - druhý nový hdd
skopírujte tabuľku oddielov a vymeňte správne disky:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Upozorňujeme, že keď sme skopírovali tabuľku oddielov zo starého disku, zdalo sa, že nová veľkosť
nevyužíva celú kapacitu pevného disku.
Preto čoskoro budeme musieť zmeniť veľkosť tohto oddielu a rozšíriť raid.
Presvedčte sa sami spustením príkazu:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) skopírujte bootovací oddiel /boot z ssd4 na ssd5
dd if=/dev/XXX of=/dev/YYY
11) Nainštalujte grub na nový disk (ssd5)
12) zmeňte veľkosť druhého oddielu disku ssd5
spustite nástroj na rozdelenie disku:
fdisk /dev/XXX
zadajte kláves d, aby ste odstránili existujúci oddiel (vyberte 2)
zadajte kľúč n na vytvorenie nového oddielu
zadajte kláves p, aby ste označili typ oddielu „primárny“
zadajte kľúč 2, aby mal nový oddiel druhé číslo
Prvý sektor: stlačením klávesu Enter akceptujete automaticky vypočítanú veľkosť začiatku oddielu
Posledný sektor: stlačením klávesu Enter akceptujete automaticky vypočítanú veľkosť konca partície
zadajte kláves l, aby ste videli zoznam všetkých možných typov oddielov a nájdite v ňom Linux raid auto
zadajte kláves t pre zmenu typu vytvorenej partície (2) a zadajte číslo zistené v predchádzajúcom kroku.
zadaním klávesu w zapíšete zmenu na disk.
12) znovu si prečítajte tabuľku oddielov a skontrolujte výsledok
pridať nový disk do aktuálneho raid poľa (nezabudnite nahradiť správne disky)
mdadm --manage /dev/md63 --add /dev/sda2
Rozšírme počet diskov v našom poli na 2:
mdadm --grow /dev/md63 --raid-devices=2
Pozrite sa na výsledok: máme označené 2 polia, ale obe časti zahrnuté v tomto poli majú rôzne veľkosti
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) zväčšite veľkosť oddielu na disku ssd4
spustite nástroj na rozdelenie disku:
fdisk /dev/XXX
zadajte kláves d, aby ste odstránili existujúci oddiel (vyberte 2)
zadajte kľúč n na vytvorenie nového oddielu
zadajte kláves p, aby ste označili typ oddielu „primárny“
zadajte kľúč 2, aby mal nový oddiel druhé číslo
Prvý sektor: stlačením klávesu Enter akceptujete automaticky vypočítanú veľkosť začiatku oddielu
Posledný sektor: stlačením klávesu Enter akceptujete automaticky vypočítanú veľkosť konca partície
Na konci označenia vyberte Nie, aby ste ponechali podpis členstva oddielu v poli.
zadaním klávesu w zapíšete zmenu na disk.
12) znovu si prečítajte tabuľku oddielov a skontrolujte výsledok
Vytvorme logický zväzok s veľkosťou všetkého voľného miesta a nazvime ho val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
naformátujte vytvorený oddiel v ext4
mkfs.ext4 /dev/mapper/data-var_log
uvidime vysledok
lsblk
17) preniesť údaje denníka zo starého oddielu do nového
dočasne nainštalovať nové úložisko denníkov
mount /dev/mapper/data-var_log /mnt
poďme synchronizovať oddiely
apt install rsync
rsync -avzr /var/log/ /mnt/
Poďme zistiť, ktoré procesy momentálne bežia v /var/log
apt install lsof
lsof | grep '/var/log'
zastaviť tieto procesy
systemctl stop rsyslog.service syslog.socket
vykonať konečnú synchronizáciu oddielov (údaje, ktoré sa mohli od poslednej synchronizácie zmeniť)
rsync -avzr /var/log/ /mnt/
vymeňte sekcie
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
skontrolujme, čo sa stalo
lsblk
18) Upravte súbor /etc/fstab
fstab - súbor, ktorý zaznamenáva pravidlá, podľa ktorých budú oddiely pripojené pri zavádzaní
našou úlohou je nájsť riadok, kde je pripojený /var/log a opraviť zariadenie system-log na data-var_log
19) Najdôležitejšie v tejto fáze je nezabudnúť zmeniť tabuľku radela (napríklad ext4). Pretože bez ohľadu na to, ako zmeníme akýkoľvek raid, lvm, kým FS na oddiele nedostane upozornenie, že veľkosť oddielu sa teraz zmenila, nebudeme môcť použiť nový priestor. Použite príkaz resize2fs zmeniť FS.
20) Záverečný akord
Poďme reštartovať. Ak ste urobili všetko správne, dostanete sa späť do vášho OS (je to potrebné, aby ste sa uistili, že všetko funguje. Tento krok nemá žiadny iný význam ako samotestovanie)
skontrolujte, či všetko, čo sme chceli urobiť, bolo skutočne vykonané:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [VOLITEĽNÉ] Postupujte podľa krokov
reštartujte stlačením klávesu F12, aby ste pri zavádzaní určili rôzne jednotky, aby ste sa uistili, že môžete zaviesť systém
z ktoréhokoľvek ssd disku, aby sme sa nebáli zlyhania jedného z nich
teraz máte zbytočný LV log v systéme VG. Prideľte tento priestor medzi root alebo var, ale namiesto použitia
vzory 100% ZADARMO špecifikujte veľkosť ručne pomocou klávesu -L:
-L 500M
opraviť problém, že /boot sa nachádza na dvoch oddieloch bez synchronizácie, nie je potrebné to robiť správne,
je to tu pridané ako príklad. Nezabudnite si najskôr niekam skopírovať obsah /boot.
vytvorte nový raid a zahrňte doň sda1,sda2
zahrnúť tieto partície do existujúceho raidu a obnoviť /boot na hlavný raid, ale bez jeho montáže.