Mala digresija: ovaj LR je sintetika.
Neki od ovdje opisanih zadataka mogu se obaviti puno jednostavnije, ali budući da je zadatak l/r upoznati
uz raid i lvm funkcionalnost, neke su operacije umjetno komplicirane.
Zahtjevi za alate za izvođenje LR:
Alati za virtualizaciju kao što je Virtualbox
Linux instalacijska slika, na primjer Debian9
Dostupnost Interneta za preuzimanje nekoliko paketa
Povežite se putem ssh-a s instaliranim VM-om (nije obavezno)
OPREZ
Ovaj laboratorijski rad povezan je s tako suptilnom stvari kao što je sigurnost podataka - to je područje u kojem
koji vam omogućuje da izgubite sve svoje podatke i zbog najmanje pogreške - jednog viška slova ili broja.
Budući da radiš laboratorijski rad, nisi u opasnosti, osim što ćeš to morati raditi ispočetka.
U stvarnom životu sve je puno ozbiljnije, pa biste trebali vrlo pažljivo, s razumijevanjem, unositi imena diskova
što točno radite s trenutnom naredbom i s 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 naredbama u laboratorijskom radu.
Tako, na primjer, ako uklonite sda disk iz polja i zatim dodate novi disk, novi disk će se prikazati
na sustavu nazvanom sda. Ako ponovno pokrenete sustav prije dodavanja novog diska, onda novi
disk će se zvati sdb, a stari sda
Laboratorij se mora pokrenuti kao superkorisnik (root) kao što zahtijeva većina naredbi
povišene privilegije i nema smisla stalno eskalirati privilegije putem sudoa
Materijali za učenje
RAID
LVM
Imenovanje diska u Linux OS-u
Što je odjeljak
Što je particijska tablica i gdje se pohranjuje?
Što je grub
Korištene komunalije
1) pogledajte informacije o disku
lsblk -o IME, VELIČINA, FSTYPE, TIP, MOUNTPOINT
fdisk -l
2) pregled informacija i rad s LVM-om
pvs
pvextend
pvccreate
pvresize
itd
vgreduce
lv
lproširiti
3) pregled informacija i rad s RAID-om
mačka /proc/mdstat
madadm
4) točke montiranja
montirati
razmontirati
mačka /etc/fstab
mačka /etc/mtab
5) reparticija diska
fdisk /dev/XXX
6) kopiranje particija
dd if=/dev/xxx od=/dev/yyy
7) rad s pregradnom tablicom
dio
sfdisk
mkfs.ext4
8) rad s bootloaderom
grub-install /dev/XXX
ažuriranje-grub
9) razno
Također
pogodan
rsync
Laboratorijski rad sastoji se od 3 dijela:
postavljanje radnog sustava koristeći lvm, raid
emulacija jednog od kvarova diska
zamjena diskova u hodu, dodavanje novih diskova i premještanje particija.
Zadatak 1 (instalacija OS-a i konfiguracija LVM-a, RAID-a)
1) Napravite novi virtualni stroj, dajući mu sljedeće karakteristike:
1 GB RAM-a
1 CPU
2 hdd-a (nazovite ih ssd1, ssd2 i dodijelite jednake veličine, označite kućice za zamjenu bez isključivanja i ssd)
SATA kontroler konfiguriran za 4 priključka
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 zasebne particije za /boot: Odaberite prvi disk i na njemu napravite novu tablicu particija
Veličina particije: 512M
Točka montiranja: /boot
Ponovite postavke za drugi disk, ali budući da ne možete montirati /pokrenuti dva puta u isto vrijeme, odaberite točku montiranja: nijedna, na kraju dobivate sljedeće (slika s nedostatkom, previše lijen da je ponovite):
Postavljanje RAID-a:
Odaberite slobodni prostor na prvom disku i konfigurirajte vrstu particije kao fizički volumen za RAID
Odaberite "Završeno postavljanje particije"
Ponovite točno iste postavke za drugi disk, što rezultira sljedećim:
Odaberite "Konfiguriraj softverski RAID"
Stvorite MD uređaj
Vrsta softverskog RAID uređaja: Odaberite zrcaljeni niz
Aktivni uređaji za polje RAID XXXX: Odaberite oba pogona
Rezervni uređaji: Ostavite 0 kao zadanu
Aktivni uređaji za polje RAID XX: odaberite particije koje ste stvorili pod raidom
završiti
Kao rezultat, trebali biste dobiti ovakvu sliku:
Konfiguriranje LVM-a: Odaberite Configure the Logical Volume Manager
Zadrži trenutni izgled particije i konfiguriraj LVM: Da
Stvorite grupu volumena
Naziv grupe volumena: sustav
Uređaji za novu grupu diskova: Odaberite kreirani RAID
Stvorite logički volumen
naziv logičkog volumena: root
veličina logičkog volumena: 25 veličine vašeg diska
Stvorite logički volumen
naziv logičkog volumena: var
veličina logičkog volumena: 25 veličine vašeg diska
Stvorite logički volumen
naziv logičkog volumena: log
veličina logičkog volumena: 15 veličine vašeg diska
Odabirom Display configuration details trebali biste dobiti sljedeću sliku:
Nakon što ste dovršili postavljanje LVM-a trebali biste vidjeti sljedeće:
Izgled particije: jedan po jedan, odaberite svaki volumen stvoren u LVM-u i rasporedite ih, na primjer, za root ovako:
Koristi kao: ext4
točka montiranja: /
Rezultat označavanja korijenske particije trebao bi izgledati ovako:
ponovite operaciju particioniranja za var i log, odabirom odgovarajućih točaka montiranja (/var i /var/log ručno unesene), dobivajući sljedeći rezultat:
Odaberite Završi particioniranje
Bit će vam postavljeno nekoliko pitanja o činjenici da još uvijek imate nemontiranu particiju i da swap nije konfiguriran. Na oba pitanja treba odgovoriti niječno.
Konačni rezultat trebao bi izgledati ovako:
3) Završite instalaciju OS-a instaliranjem gruba na prvi uređaj (sda) i pokrenite sustav.
4) Kopirajte sadržaj /boot particije sa sda pogona (ssd1) na sdb pogon (ssd2)
Navedite sve diskove koje vam je prethodna naredba dala i opišite o kakvom se disku radi
Pronađite disk na kojem grub nije instaliran i izvedite ovu instalaciju: grub-install /dev/sdb
pogledajte informacije o trenutnom napadu pomoću naredbe cat /proc/mdstat i zapišite što vidite.
pogledaj ispis naredbi: pvs, vgs, lvs, mount i zapiši što si točno vidio
Opišite svojim riječima što ste učinili i kakav ste rezultat dobili od zadatka.
Nakon dovršetka ovog zadatka, preporuča se spremiti sigurnosnu kopiju mape ili make virtualnog stroja
lutalica kutija: https://t.me/bykvaadm/191
Rezultat: Virtualni stroj s diskovima ssd1, ssd2
Zadatak 2 (Emulacija kvara jednog od diskova)
1) Ako ste označili kućicu za zamjenu tijekom rada, diskove možete brisati u hodu
Izbrišite disk ssd1 u svojstvima stroja
Pronađite direktorij u kojem su pohranjene datoteke vašeg virtualnog stroja i izbrišite ssd1.vmdk
2) Provjerite radi li vaše virtualno računalo
3) Ponovno pokrenite virtualni stroj i provjerite radi li još uvijek
4) provjerite status RAID polja: cat /proc/mdstat
5) dodajte novi disk iste veličine u VM sučelje i nazovite ga ssd3
6) obavljati radnje:
provjerite je li novi disk stigao u sustav koristeći fdisk -l
kopirajte particijsku tablicu sa starog diska na novi: sfdisk -d /dev/XXXX | sfdisk /dev/GGG
pogledajte rezultat koristeći fdisk -l
Dodajte novi disk u raid polje: mdadm —manage /dev/md0 —add /dev/YYY
Pogledajte rezultat: cat /proc/mdstat. Trebali biste vidjeti da je sinkronizacija započ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 s "živog" diska na novi koji ste nedavno instalirali
dd if=/dev/XXX of=/dev/YYY
8) Nakon završetka sinkronizacije, instalirajte grub na novi disk
9) Ponovno pokrenite VM kako biste bili sigurni da sve radi
Opišite svojim riječima što ste učinili i kakav ste rezultat dobili od zadatka.
Rezultat: Disk ssd1 je uklonjen, disk ssd2 je spremljen, disk ssd3 je dodan.
Zadatak 3 (Dodavanje novih diskova i premještanje particije)
Ovo je najsloženiji i najobimniji zadatak od svih predstavljenih.
Vrlo pažljivo provjerite što radite i s kojim diskovima i particijama.
Preporuča se napraviti kopiju prije pokretanja.
Ovaj zadatak je neovisan o zadatku br. 2, može se izvršiti 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.
Kako bih vam olakšao rad, mogu preporučiti da ne uklanjate diskove iz glavnog računala, već samo
odspojite ih u svojstvima stroja. Sa stajališta OS-a u VM-u će izgledati potpuno isto, ali možete
ako se nešto dogodi, spojite disk natrag i nastavite s radom vraćanjem nekoliko točaka unatrag, ako
imate problema. Na primjer, možda ste to učinili neispravno ili ste zaboravili kopirati /boot particiju na novi disk.
Mogu vam samo savjetovati da više puta provjerite s kojim diskovima i particijama radite, ili još bolje
Zapišite na komad papira korespondenciju između diskova, particija i "fizičkog" broja diska. Lijepo i jasno drvo
ekipno izvlačenje lsblk, koristite ga što češće da analizirate što ste učinili i što treba učiniti.
Na priču...
Zamislite da je vaš server dugo radio na 2 SSD diska, kada odjednom...
1) Simulirajte kvar ssd2 diska uklanjanjem diska iz VM svojstava i ponovnim pokretanjem
2) Pregled trenutnog statusa diskova i RAID-a:
5) Prije svega treba se pobrinuti za sigurnost podataka na starom disku.
Ovaj put podatke prenosimo pomoću LVM-a:
Prije svega, trebate kopirati tablicu datoteka sa starog diska na novi:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Zamijenite ispravne diskove za x,y i shvatite što ova naredba radi.
Pokrenite naredbu lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i usporedite njezin izlaz s prethodnim pozivom.
Što se promijenilo?
upotrijebite naredbu dd za kopiranje /boot podataka na novi disk
dd if=/dev/XXX of=/dev/YYY
ako je /boot ostao montiran na starom disku, treba ga ponovno montirati na živi disk:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Instalirajte bootloader na novi ssd pogon
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 navođenja posebnog ključa.
Pročitajte pomoć i dodajte ovaj ključ naredbi.
Upotrijebite naredbu cat /proc/mdstat da provjerite rezultat svoje operacije. Što se promijenilo?
Pokrenite naredbu lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i usporedite njezin izlaz s prethodnim pozivom.
Što se promijenilo?
6) Sljedeći korak je konfiguracija LVM-a
pokrenite naredbu pvs da vidite informacije o trenutnim fizičkim jedinicama
stvoriti novi fizički volumen uključujući prethodno stvoreno RAID polje:
pvcreate /dev/md63
Pokrenite naredbu lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT i usporedite njezin izlaz s prethodnim pozivom.
Što se promijenilo?
Ponovno pokrenite naredbu pvs. Što se promijenilo?
Povećajmo veličinu sustava grupe volumena pomoću sljedeće naredbe:
vgextend system /dev/md63
Pokrenite naredbe i zapišite što ste vidjeli i što se promijenilo.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Na kojem se fizičkom disku trenutno nalaze LV var,log,root?
Premjestite podatke sa starog diska na novi, koristeći ispravne nazive uređaja.
Pokrenite naredbe i zapišite što ste vidjeli i što se promijenilo.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Promijenimo naš VG uklanjanjem starog raid diska s njega. Zamijenite ispravan naziv racije.
vgreduce system /dev/md0
Pokrenite naredbe i zapišite što ste vidjeli i što se promijenilo.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Da bi slika bila ljepša, ponovno montirajte /boot na drugi ssd disk (ssd4) i pokrenite lsblk. Kao rezultat toga, ssd3 disk ne
ništa ne treba montirati. Pažljivo provjerite da /boot particija nije prazna! ls /boot mora pokazati
nekoliko datoteka i mapa. Proučite što je pohranjeno u ovom odjeljku i zapišite koji je direktorij datoteka za što 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 što se dogodilo nakon dodavanja diskova:
Imajte na umu da kada smo kopirali tablicu particija sa starog diska, činilo se da je nova veličina
ne koristi cijeli kapacitet tvrdog diska.
Stoga ćemo uskoro morati promijeniti veličinu ove particije i proširiti napad.
Uvjerite se sami pokretanjem naredbe:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) kopirajte boot particiju /boot sa ssd4 na ssd5
dd if=/dev/XXX of=/dev/YYY
11) Instalirajte grub na novi pogon (ssd5)
12) promijenite veličinu druge particije ssd5 diska
pokrenite uslužni program za particioniranje diska:
fdisk /dev/XXX
unesite tipku d za brisanje postojeće particije (odaberite 2)
unesite ključ n za stvaranje nove particije
unesite ključ p kako biste označili da je tip particije "primarni"
unesite tipku 2 tako da nova particija ima drugi broj
Prvi sektor: pritisnite enter za prihvaćanje automatski izračunate veličine početka particije
Zadnji sektor: pritisnite enter za prihvaćanje automatski izračunate veličine kraja particije
unesite tipku l da biste vidjeli popis svih mogućih tipova particija i u njemu pronašli Linux raid auto
pritisnite tipku t za promjenu vrste kreirane particije (2) i unesite broj pronađen u prethodnom koraku.
unesite tipku w za pisanje promjene na disk.
12) ponovno pročitajte particijsku tablicu i provjerite rezultat
dodajte novi disk trenutnom raid nizu (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 odjeljka uključena u ovaj niz imaju različite veličine
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) povećati veličinu particije na ssd4 disku
pokrenite uslužni program za particioniranje diska:
fdisk /dev/XXX
unesite tipku d za brisanje postojeće particije (odaberite 2)
unesite ključ n za stvaranje nove particije
unesite ključ p kako biste označili da je tip particije "primarni"
unesite tipku 2 tako da nova particija ima drugi broj
Prvi sektor: pritisnite enter za prihvaćanje automatski izračunate veličine početka particije
Zadnji sektor: pritisnite enter za prihvaćanje automatski izračunate veličine kraja particije
Na kraju označavanja odaberite Ne da biste ostavili potpis članstva particije u nizu.
unesite tipku w za pisanje promjene na disk.
12) ponovno pročitajte particijsku tablicu i provjerite rezultat
Imajte na umu da sada sda2, sdc2 particije imaju veličinu > od veličine raid uređaja.
13) u ovoj fazi racija se sada može proširiti
mdadm --grow /dev/md63 --size=max
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result
Pregledajte lsblk i zabilježite što se promijenilo
14) Međutim, iako smo promijenili veličinu napada, same veličine vg root,var,log nisu se promijenile
pogledaj PV veličinu:
pvs
Proširimo veličinu našeg PV-a:
pvresize /dev/md63
pogledaj PV veličinu:
pvs
15) Dodajte novopojavljenu lokaciju VG var,root
lvs # посмотрим сколько сейчас размечено
lvextend -l +50%FREE /dev/system/root
lvextend -l +100%FREE /dev/system/var
lvs # проверьте что получилось
U ovom trenutku ste dovršili migraciju glavnog polja na nove diskove. rad sa ssd1, ssd2 je završen
16) Naš sljedeći zadatak je premjestiti /var/log na nove diskove, za to ćemo stvoriti novi niz i lvm na hdd diskovima.
Kreirajmo logički volumen veličine cijelog slobodnog prostora i nazovimo ga val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
kreiranu particiju formatirajte u ext4
mkfs.ext4 /dev/mapper/data-var_log
da vidimo rezultat
lsblk
17) prijenos podataka dnevnika sa stare particije na novu
privremeno instalirajte novu pohranu dnevnika
mount /dev/mapper/data-var_log /mnt
sinkronizirajmo particije
apt install rsync
rsync -avzr /var/log/ /mnt/
Otkrijmo koji se procesi trenutno izvode u /var/log
apt install lsof
lsof | grep '/var/log'
zaustaviti te procese
systemctl stop rsyslog.service syslog.socket
izvrši konačnu sinkronizaciju particija (podaci koji su se možda promijenili od zadnje sinkronizacije)
rsync -avzr /var/log/ /mnt/
zamijeniti dijelove
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
provjerimo što se dogodilo
lsblk
18) Uredite /etc/fstab
fstab - datoteka koja bilježi pravila prema kojima će se particije montirati pri dizanju
naš zadatak je pronaći liniju gdje je /var/log montiran i popraviti uređaj system-log na data-var_log
19) Najvažnija stvar u ovoj fazi je ne zaboraviti promijeniti tablicu radela (ext4, na primjer). Jer kako god promijenili bilo koji raid, lvm, sve dok FS na particiji ne dobije obavijest da se veličina particije sada promijenila, nećemo moći koristiti novi prostor. Koristite naredbu resize2fs promijeniti FS.
20) Završni akord
Idemo ponovno pokrenuti. Ako ste sve učinili ispravno, vratit ćete se na svoj OS (ovo je neophodno kako biste bili sigurni da sve radi. Ovaj korak nema nikakvog smisla osim samotestiranja)
provjeriti je li sve što smo htjeli učiniti stvarno učinjeno:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [OPCIONALNO] Slijedite korake
ponovno pokrenite pritiskom na F12 kako biste odredili različite pogone prilikom dizanja kako biste bili sigurni da se možete dignuti
s bilo kojeg ssd diska, tako da se ne bojimo kvara jednog od njih
sada imate nepotreban LV log u VG sustavu. Dodijelite 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 sinkronizacije, nema potrebe da to radite ispravno,
ovdje je dodan kao primjer. Ne zaboravite najprije negdje kopirati sadržaj /boot.
napravite 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.