Mala digresija: ovaj LR je sintetički.
Neki od ovdje opisanih zadataka mogu se obaviti mnogo jednostavnije, ali pošto je zadatak l/r da upozna
uz raid i lvm funkcionalnost, neke operacije su umjetno komplikovane.
Zahtjevi za alate za izvođenje LR:
Alati za virtuelizaciju kao što je Virtualbox
Slika instalacije Linuxa, na primjer Debian9
Dostupnost interneta za preuzimanje nekoliko paketa
Povežite se putem ssh-a na instalirani VM (opcionalno)
PAŽNJA
Ovaj laboratorijski rad vezan je za tako suptilnu stvar kao što je sigurnost podataka – ovo je oblast u kojoj
što vam omogućava da izgubite sve svoje podatke zbog najmanje greške - jednog dodatnog slova ili broja.
S obzirom na to da radite laboratorijske radove, niste u opasnosti, osim što ćete morati sve iznova.
U stvarnom životu, sve je mnogo ozbiljnije, tako da nazive diskova treba unositi vrlo pažljivo, s razumijevanjem
šta tačno radite sa trenutnom komandom i sa kojim diskovima radite.
Druga važna točka je imenovanje diskova i particija: ovisno o situaciji, brojevi diskova mogu se razlikovati
od onih vrijednosti koje su prikazane u komandama u laboratorijskom radu.
Tako, na primjer, ako uklonite sda disk iz niza, a zatim dodate novi disk, novi disk će se prikazati
na sistemu pod nazivom sda. Ako restartujete prije dodavanja novog diska, onda novi
disk će se zvati sdb, a stari će se zvati sda
Laboratorija se mora pokrenuti kao superkorisnik (root) jer većina naredbi zahtijeva
povišene privilegije i nema smisla stalno eskalirati privilegije putem sudoa
dd if=/dev/xxx od=/dev/yyy
7) rad sa particionim stolom
partx
sfdisk
mkfs.ext4
8) rad sa bootloaderom
grub-install /dev/XXX
update-grub
9) razno
takođe
pogodan
rsync
Laboratorijski rad se sastoji iz 3 dijela:
postavljanje radnog sistema koristeći lvm, raid
emulacija jednog od kvarova na disku
zamjena diskova u hodu, dodavanje novih diskova i pomicanje particija.
Zadatak 1 (instalacija OS-a i konfiguracija LVM-a, RAID-a)
1) Kreirajte novu virtuelnu mašinu, dajući joj sledeće karakteristike:
1 gb ram
1 cpu
2 hdd-a (imenujte ih ssd1, ssd2 i dodijelite jednake veličine, označite kutije za hot swap i ssd)
SATA kontroler konfigurisan za 4 porta
2) Počnite instalirati Linux i kada dođete do odabira tvrdih diskova, učinite sljedeće:
Metoda particioniranja: ručna, nakon čega biste trebali vidjeti ovu sliku:
Postavljanje posebne particije za /boot: Odaberite prvi disk i kreirajte novu particijsku tablicu na njemu
Veličina particije: 512M
Tačka montiranja: /boot
Ponovite podešavanja za drugi disk, ali pošto ne možete da montirate/podižete sistem dva puta u isto vreme, izaberite tačku montiranja: nijedna, na kraju dobijete sledeće (slika sa ubodom, previše lijen da je ponovite):
RAID postavka:
Odaberite slobodan prostor na prvom disku i konfigurirajte tip particije kao fizički volumen za RAID
Odaberite "Gotovo postavljanje particije"
Ponovite potpuno iste postavke za drugi disk, što rezultira sljedećim:
Odaberite "Konfiguriraj softverski RAID"
Kreirajte MD uređaj
Tip softverskog RAID uređaja: Odaberite zrcaljeni niz
Aktivni uređaji za RAID XXXX niz: Odaberite oba diska
Rezervni uređaji: Ostavite 0 kao zadano
Aktivni uređaji za RAID XX niz: odaberite particije koje ste kreirali pod raid-om
završiti
Kao rezultat, trebali biste dobiti sliku poput ove:
Zadržite trenutni izgled particije i konfigurirajte LVM: Da
Kreirajte grupu volumena
Naziv grupe volumena: sistem
Uređaji za novu grupu volumena: Odaberite kreirani RAID
Kreirajte logički volumen
ime logičkog volumena: root
veličina logičkog volumena: 25 veličine vašeg diska
Kreirajte logički volumen
naziv logičkog volumena: var
veličina logičkog volumena: 25 veličine vašeg diska
Kreirajte logički volumen
naziv logičkog volumena: log
veličina logičkog volumena: 15 veličine vašeg diska
Odabirom Detalji konfiguracije prikaza trebali biste dobiti sljedeću sliku:
Nakon što završite postavljanje LVM-a, trebali biste vidjeti sljedeće:
Izgled particije: jedan po jedan, odaberite svaki volumen kreiran u LVM-u i rasporedite ih, na primjer, za root ovako:
Koristi se kao: ext4
tačka montiranja: /
Rezultat označavanja korijenske particije trebao bi izgledati ovako:
ponovite operaciju particioniranja za var i log, odabirom odgovarajućih tačaka montiranja (/var i /var/log ručno unesenih), dobivši sljedeći rezultat:
Odaberite Završi particioniranje
Biće vam postavljeno nekoliko pitanja o činjenici da još uvek imate nemontiranu particiju i da swap nije konfigurisan. Na oba pitanja treba odgovoriti negativno.
Konačni rezultat bi trebao izgledati ovako:
3) Završite instalaciju OS-a tako što ćete instalirati grub na prvi uređaj (sda) i pokrenuti sistem.
4) Kopirajte sadržaj /boot particije sa sda diska (ssd1) na sdb disk (ssd2)
Navedite sve diskove koje vam je dala prethodna naredba i opišite o kakvoj se vrsti diska radi
Pronađite disk na kojem grub nije instaliran i izvršite ovu instalaciju: grub-install /dev/sdb
pogledajte informacije o trenutnom napadu pomoću naredbe cat /proc/mdstat i zapišite šta vidite.
pogledajte izlaz naredbi: pvs, vgs, lvs, mount i zapišite šta ste tačno vidjeli
Opišite svojim riječima šta ste radili i kakav ste rezultat dobili od zadatka.
Nakon dovršetka ovog zadatka, preporučuje se da sačuvate rezervnu kopiju fascikle virtuelne mašine ili make
skitnica: https://t.me/bykvaadm/191
Rezultat: Virtuelna mašina sa diskovima ssd1, ssd2
Zadatak 2 (Emulacija kvara jednog od diskova)
1) Ako ste označili kutiju vruće zamjene, tada možete brisati diskove u hodu
Izbrišite disk ssd1 u svojstvima mašine
Pronađite direktorij u kojem su pohranjene datoteke vaše virtualne mašine i izbrišite ssd1.vmdk
2) Uvjerite se da vaša virtualna mašina još uvijek radi
3) Ponovo pokrenite virtuelnu mašinu i proverite da li još uvek radi
4) provjerite status RAID niza: cat /proc/mdstat
5) dodajte novi disk iste veličine u VM interfejs i nazovite ga ssd3
6) obavlja operacije:
vidite da je novi disk stigao u sistem koristeći fdisk -l
kopirajte tabelu particija sa starog diska na novi: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
pogledajte rezultat koristeći fdisk -l
Dodajte novi disk u raid niz: mdadm —upravljajte /dev/md0 —dodajte /dev/YYY
Pogledajte rezultat: cat /proc/mdstat. Trebali biste vidjeti da je sinhronizacija počela
7) Sada morate ručno sinkronizirati particije koje nisu dio RAID-a.
Da bismo to učinili, koristit ćemo uslužni program dd, kopirajući sa "živog" diska na novi koji ste nedavno instalirali
dd if=/dev/XXX of=/dev/YYY
8) Nakon što je sinhronizacija završena, instalirajte grub na novi disk
9) Ponovo pokrenite VM da biste bili sigurni da sve radi
Opišite svojim riječima šta ste radili i kakav ste rezultat dobili od zadatka.
Rezultat: Disk ssd1 je uklonjen, disk ssd2 je sačuvan, disk ssd3 je dodat.
Zadatak 3 (Dodavanje novih diskova i premještanje particije)
Ovo je najsloženiji i najobimniji zadatak od svih predstavljenih.
Pažljivo provjerite šta radite i sa kojim diskovima i particijama.
Preporučljivo je napraviti kopiju prije pokretanja.
Ovaj zadatak je nezavisan od zadatka br. 2, može se izvesti nakon zadatka br. 1, prilagođen nazivima diskova.
Drugi dio ovog laboratorijskog zadatka trebao bi dovesti do potpuno istog stanja koje je bilo nakon završetka prvog dijela.
Da vam olakšam rad, mogu preporučiti da ne uklanjate diskove s glavnog računala, već samo
odspojite ih u svojstvima mašine. Sa stanovišta OS-a u VM-u izgledat će potpuno isto, ali možete
ako se nešto desi, ponovo povežite disk i nastavite sa radom vraćanjem nekoliko tačaka unazad, ako
imate problema. Na primjer, možda ste to učinili pogrešno ili ste zaboravili kopirati /boot particiju na novi disk.
Mogu vam samo savjetovati da nekoliko puta ili još bolje provjerite s kojim diskovima i particijama radite
Zapišite na komad papira korespondenciju između diskova, particija i "fizičkog" broja diska. Lijepo i čisto drvo
timski žrebovi lsblk, koristite ga što je češće moguće da analizirate šta ste uradili i šta treba da uradite.
Za priču...
Zamislite da vaš server radi dugo vremena na 2 SSD diska, kada odjednom...
1) Simulirajte kvar ssd2 diska uklanjanjem diska iz svojstava VM-a i ponovnim pokretanjem
2) Pogledajte trenutni status diskova i RAID-a:
5) Prije svega, trebate voditi računa o sigurnosti podataka na starom disku.
Ovaj put ćemo prenijeti podatke koristeći LVM:
Prije svega, trebate kopirati tabelu datoteka sa starog diska na novi:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Zamijenite ispravne diskove za x,y i shvatite šta ova naredba radi.
Pokrenite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i uporedite njegov izlaz sa prethodnim pozivom.
Šta se promijenilo?
koristite naredbu dd da kopirate /boot podatke na novi disk
dd if=/dev/XXX of=/dev/YYY
ako je /boot ostao montiran na starom disku, trebalo bi ga ponovo montirati na live disk:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Instalirajte bootloader na novi ssd disk
grub-install /dev/YYY
Zašto izvodimo ovu operaciju?
kreirajte novi raid niz koji uključuje samo jedan novi ssd disk:
Gornja naredba neće raditi bez specificiranja posebnog ključa.
Pročitajte pomoć i dodajte ovaj ključ naredbi.
Koristite naredbu cat /proc/mdstat da provjerite rezultat vaše operacije. Šta se promijenilo?
Pokrenite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i uporedite njegov izlaz sa prethodnim pozivom.
Šta se promijenilo?
6) Sljedeći korak je konfiguracija LVM-a
pokrenite naredbu pvs da vidite informacije o trenutnim fizičkim volumenima
kreirajte novi fizički volumen uključujući prethodno kreirani RAID niz:
pvcreate /dev/md63
Pokrenite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i uporedite njegov izlaz sa prethodnim pozivom.
Šta se promijenilo?
Pokrenite pvs komandu ponovo. Šta se promijenilo?
Povećajmo veličinu sistema Volume Group koristeći sljedeću naredbu:
vgextend system /dev/md63
Pokrenite komande i zapišite šta ste videli i šta se promenilo.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Na kom fizičkom disku se trenutno nalaze LV var,log,root?
Premjestite podatke sa starog diska na novi, koristeći ispravne nazive uređaja.
Pokrenite komande i zapišite šta ste videli i šta se promenilo.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Promijenimo naš VG uklanjanjem starog raid diska iz njega. Zamijenite ispravan naziv racije.
vgreduce system /dev/md0
Pokrenite komande i zapišite šta ste videli i šta se promenilo.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Da bi slika bila ljepša, ponovo montirajte /boot na drugi ssd disk (ssd4) i pokrenite lsblk. Kao rezultat toga, ssd3 disk ne radi
ništa ne treba montirati. Pažljivo provjerite da /boot particija nije prazna! ls /boot mora pokazati
nekoliko fajlova i foldera. Proučite šta je pohranjeno u ovom dijelu i zapišite koji direktorij datoteka je za šta odgovoran.
7) uklonite ssd3 disk i dodajte ssd5, hdd1, hdd2 prema gore opisanim tehničkim specifikacijama, što rezultira:
ssd4 - prvi novi ssd
ssd5 - drugi novi ssd
hdd1 - prvi novi hdd
hdd2 - drugi novi hdd
8) Provjerite šta se dogodilo nakon dodavanja diskova:
Imajte na umu da kada smo kopirali tabelu particija sa starog diska, izgledalo je da je nova veličina
ne koristi cijeli kapacitet tvrdog diska.
Stoga ćemo uskoro morati promijeniti veličinu ove particije i proširiti raid.
Uvjerite se sami pokretanjem naredbe:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) kopirajte particiju za pokretanje /boot sa ssd4 na ssd5
dd if=/dev/XXX of=/dev/YYY
11) Instalirajte grub na novi disk (ssd5)
12) promenite veličinu druge particije ssd5 diska
pokrenite uslužni program za particioniranje diska:
fdisk /dev/XXX
unesite tipku d da obrišete postojeću particiju (odaberite 2)
unesite ključ n da kreirate novu particiju
unesite tipku p da označite da je tip particije "primarni"
unesite ključ 2 tako da nova particija ima drugi broj
Prvi sektor: pritisnite enter da prihvatite automatski izračunatu veličinu početka particije
Zadnji sektor: pritisnite enter da prihvatite automatski izračunatu veličinu kraja particije
unesite tipku l da vidite listu svih mogućih tipova particija i pronađete Linux raid auto u njoj
unesite tipku t da promijenite tip kreirane particije (2) i unesite broj pronađen u prethodnom koraku.
unesite w ključ da zapišete promjenu na disk.
12) ponovo pročitajte particionu tabelu i proverite rezultat
dodajte novi disk u trenutni raid niz (ne zaboravite zamijeniti ispravne diskove)
mdadm --manage /dev/md63 --add /dev/sda2
Proširimo broj diskova u našem nizu na 2:
mdadm --grow /dev/md63 --raid-devices=2
Pogledajte rezultat: imamo 2 označena niza, ali oba dijela uključena u ovaj niz imaju različite veličine
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) povećajte veličinu particije na ssd4 disku
pokrenite uslužni program za particioniranje diska:
fdisk /dev/XXX
unesite tipku d da obrišete postojeću particiju (odaberite 2)
unesite ključ n da kreirate novu particiju
unesite tipku p da označite da je tip particije "primarni"
unesite ključ 2 tako da nova particija ima drugi broj
Prvi sektor: pritisnite enter da prihvatite automatski izračunatu veličinu početka particije
Zadnji sektor: pritisnite enter da prihvatite automatski izračunatu veličinu kraja particije
Na kraju označavanja izaberite Ne da biste ostavili potpis članstva particije u nizu.
unesite w ključ da zapišete promjenu na disk.
12) ponovo pročitajte particionu tabelu i proverite rezultat
Kreirajmo logički volumen s veličinom cijelog slobodnog prostora i nazovimo ga val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
formatirajte kreiranu particiju u ext4
mkfs.ext4 /dev/mapper/data-var_log
da vidimo rezultat
lsblk
17) prenijeti podatke dnevnika sa stare particije na novu
privremeno instalirajte novu pohranu dnevnika
mount /dev/mapper/data-var_log /mnt
hajde da sinhronizujemo particije
apt install rsync
rsync -avzr /var/log/ /mnt/
Hajde da saznamo koji se procesi trenutno pokreću u /var/log
apt install lsof
lsof | grep '/var/log'
zaustavi ove procese
systemctl stop rsyslog.service syslog.socket
izvršiti konačnu sinhronizaciju particija (podaci koji su se možda promijenili od posljednje sinhronizacije)
rsync -avzr /var/log/ /mnt/
zamijenite dijelove
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
hajde da proverimo šta se desilo
lsblk
18) Uredite /etc/fstab
fstab - datoteka koja bilježi pravila po kojima će se particije montirati pri pokretanju
naš zadatak je da pronađemo liniju u kojoj je montiran /var/log i popravimo uređaj system-log na data-var_log
19) Najvažnije u ovoj fazi je da ne zaboravite da promenite tabelu radela (ext4, na primer). Jer bez obzira na to kako promijenimo bilo koji raid, lvm, dok FS na particiji ne bude obaviješten da se veličina particije sada promijenila, nećemo moći koristiti novi prostor. Koristite komandu resize2fs za promjenu FS.
20) Završni akord
Hajdemo ponovo pokrenuti. Ako ste sve uradili ispravno, bićete vraćeni na vaš OS (ovo je neophodno da biste bili sigurni da sve radi. Ovaj korak nema nikakvog značenja osim samotestiranja)
provjerite da li je sve što smo htjeli da uradimo zaista i urađeno:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [OPCIONALNO] Pratite korake
ponovo pokrenite pritiskom na F12 da navedete različite diskove prilikom pokretanja kako biste bili sigurni da možete pokrenuti
sa bilo kojeg od ssd diskova, tako da se ne bojimo kvara jednog od njih
sada imate nepotreban LV log u VG sistemu. Podijelite ovaj prostor između root ili var, ali umjesto korištenja
dizajni 100% BESPLATNO odredite veličinu ručno pomoću tipke -L:
-L 500M
riješite problem da se /boot nalazi na dvije particije bez sinhronizacije, nema potrebe da to radite ispravno,
ovdje je dodat kao primjer. Ne zaboravite prvo negdje kopirati sadržaj /boot.
kreirajte novi raid i uključite sda1,sda2 u njega
uključite ove particije u postojeći raid i vratite /boot na glavni raid, ali bez njegovog montiranja.