Mažas nukrypimas: šis LR yra sintetinis.
Kai kurias čia aprašytas užduotis galima atlikti daug paprasčiau, bet kadangi l/r užduotis yra pažinti
su raid ir lvm funkcionalumu kai kurios operacijos yra dirbtinai sudėtingos.
Reikalavimai įrankiams atlikti LR:
Virtualizacijos įrankiai, tokie kaip „Virtualbox“.
Pavyzdžiui, „Linux“ diegimo vaizdas 9. „Debian“
Interneto galimybė atsisiųsti kelis paketus
Prisijunkite per ssh prie įdiegtos VM (pasirenkama)
DĖMESIO
Šis laboratorinis darbas yra susijęs su tokiu subtiliu dalyku kaip duomenų saugumas – tai sritis, kurioje
kuri leidžia prarasti visus savo duomenis dėl mažiausios klaidos – vienos papildomos raidės ar skaičiaus.
Kadangi atliekate laboratorinius darbus, jums negresia joks pavojus, išskyrus tai, kad turėsite pradėti viską iš naujo.
Realiame gyvenime viskas yra daug rimčiau, todėl diskų pavadinimus turėtumėte įvesti labai atsargiai, suprasdami
ką tiksliai darote su dabartine komanda ir su kokiais diskais dirbate.
Antras svarbus momentas – diskų ir skaidinių pavadinimai: priklausomai nuo situacijos, diskų numeriai gali skirtis
iš tų verčių, kurios pateiktos komandose laboratoriniame darbe.
Taigi, pavyzdžiui, jei pašalinsite sda diską iš masyvo ir tada pridėsite naują diską, bus rodomas naujas diskas
sistemoje, pavadintoje sda. Jei iš naujo paleisite prieš pridėdami naują diską, tada naują
diskas bus pavadintas sdb, o senasis - sda
Laboratorija turi būti paleista kaip supervartotojas (root), kaip reikalauja dauguma komandų
padidintos privilegijos ir nėra prasmės nuolat didinti privilegijas per sudo
fdisk -l
2) informacijos peržiūra ir darbas su LVM
pvs
pvextend
pvcreate
pvreize
ir tt
vgreduce
LVs
lvextend
3) informacijos peržiūra ir darbas su RAID
cat /proc/mdstat
mdadm
4) tvirtinimo taškai
stovas
umount
cat /etc/fstab
katė /etc/mtab
5) disko perskirstymas
fdisk /dev/XXX
6) skaidinių kopijavimas
dd if=/dev/xxx of=/dev/yyy
7) darbas su skirsnių lentele
partx
sfdisk
mkfs.ext4
8) darbas su įkrovos įkrovikliu
grub-install /dev/XXX
atnaujinti-grub
9) įvairūs
lof
linkęs
rsync
Laboratorinis darbas susideda iš 3 dalių:
veikiančios sistemos nustatymas naudojant lvm, raid
vieno iš disko gedimų emuliacija
diskų keitimas skrydžio metu, naujų diskų pridėjimas ir pertvarų perkėlimas.
1 užduotis (OS diegimas ir LVM, RAID konfigūravimas)
1) Sukurkite naują virtualią mašiną, suteikdami jai šias charakteristikas:
1 GB RAM
1 procesorius
2 HDD (pavadinkite juos ssd1, ssd2 ir priskirkite vienodus dydžius, patikrinkite karštojo apsikeitimo ir ssd langelius)
SATA valdiklis sukonfigūruotas 4 prievadams
2) Pradėkite diegti Linux ir pasirinkę standžiuosius diskus atlikite šiuos veiksmus:
Perskirstymo būdas: rankinis, po kurio turėtumėte pamatyti šį paveikslėlį:
Atskiro /boot skaidinio nustatymas: pasirinkite pirmąjį diską ir sukurkite jame naują skaidinio lentelę
Pertvaros dydis: 512M
Montavimo taškas: /boot
Pakartokite antrojo disko nustatymus, bet kadangi negalite prijungti / paleisti du kartus tuo pačiu metu, pasirinkite prijungimo tašką: none, galų gale gausite šį (paveikslėlis su kamščiu, tingus jį pakartoti):
RAID sąranka:
Pasirinkite laisvą vietą pirmame diske ir sukonfigūruokite skaidinio tipą kaip fizinį RAID tomą
Pasirinkite „Atlikta skaidinio nustatymas“
Pakartokite lygiai tuos pačius nustatymus antrajam diskui, o rezultatas bus toks:
Pasirinkite „Konfigūruoti programinės įrangos RAID“
Sukurkite MD įrenginį
Programinės įrangos RAID įrenginio tipas: pasirinkite veidrodinį masyvą
Aktyvūs RAID XXXX masyvo įrenginiai: pasirinkite abu diskus
Atsarginiai įrenginiai: palikite 0 kaip numatytąjį
Aktyvūs RAID XX masyvo įrenginiai: pasirinkite skaidinius, kuriuos sukūrėte naudodami raidą
apdaila
Dėl to turėtumėte gauti tokį vaizdą:
LVM konfigūravimas: pasirinkite Configure the Logical Volume Manager
Palikti dabartinį skaidinio išdėstymą ir sukonfigūruoti LVM: Taip
Sukurkite garsumo grupę
Tomo grupės pavadinimas: sistema
Įrenginiai naujai tomų grupei: pasirinkite sukurtą RAID
Sukurkite loginį garsumą
loginio tomo pavadinimas: root
loginis tūrio dydis: 25 jūsų disko dydžio
Sukurkite loginį garsumą
loginis tomo pavadinimas: var
loginis tūrio dydis: 25 jūsų disko dydžio
Sukurkite loginį garsumą
loginio tomo pavadinimas: log
loginis tūrio dydis: 15 jūsų disko dydžio
Pasirinkę ekrano konfigūracijos informaciją, turėtumėte gauti tokį vaizdą:
Kai baigsite nustatyti LVM, turėtumėte pamatyti šiuos dalykus:
Perskirstymo išdėstymas: po vieną pasirinkite kiekvieną LVM sukurtą tomą ir išdėstykite juos, pavyzdžiui, šaknims taip:
Naudokite kaip: ext4
tvirtinimo taškas: /
Šakninio skaidinio žymėjimo rezultatas turėtų atrodyti taip:
pakartokite var ir log skaidymo operaciją, pasirinkdami atitinkamus prijungimo taškus (/var ir /var/log įvesti rankiniu būdu), gaudami tokį rezultatą:
Pasirinkite Baigti skaidymą
Jums bus užduodami keli klausimai apie tai, kad vis dar turite neprijungtą skaidinį ir swap nesukonfigūruotas. Į abu klausimus reikia atsakyti neigiamai.
Galutinis rezultatas turėtų atrodyti taip:
3) Užbaikite OS diegimą pirmame įrenginyje (sda) įdiegdami grub ir paleiskite sistemą.
4) Nukopijuokite /boot skaidinio turinį iš sda disko (ssd1) į sdb diską (ssd2)
Išvardykite visus diskus, kuriuos jums davė ankstesnė komanda, ir aprašykite, koks tai diskas
Raskite diską, kuriame grub nebuvo įdiegtas, ir atlikite šį diegimą: grub-install /dev/sdb
peržiūrėkite informaciją apie dabartinį reidą naudodami komandą cat /proc/mdstat ir užsirašykite tai, ką matote.
pažiūrėkite į komandų išvestį: pvs, vgs, lvs, mount ir užsirašykite ką tiksliai matėte
Savais žodžiais aprašykite, ką padarėte ir kokį rezultatą gavote atlikę užduotį.
Atlikus šią užduotį, rekomenduojama išsaugoti atsarginę virtualios mašinos aplanko ar maketo kopiją
valkatos dėžutė: https://t.me/bykvaadm/191
Rezultatas: virtuali mašina su diskais ssd1, ssd2
2 užduotis (vieno iš disko gedimo imitavimas)
1) Jei pažymėjote karštojo apsikeitimo langelį, galite ištrinti diskus
Ištrinkite disko ssd1 įrenginio ypatybėse
Raskite katalogą, kuriame saugomi virtualios mašinos failai, ir ištrinkite ssd1.vmdk
2) Įsitikinkite, kad jūsų virtualioji mašina vis dar veikia
3) Iš naujo paleiskite virtualią mašiną ir įsitikinkite, kad ji vis dar veikia
4) patikrinkite RAID masyvo būseną: cat /proc/mdstat
5) VM sąsajoje pridėkite naują tokio pat dydžio diską ir pavadinkite jį ssd3
6) atlikti operacijas:
pamatysite, kad naujas diskas atkeliavo į sistemą naudodami fdisk -l
nukopijuokite skaidinių lentelę iš senojo disko į naują: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
Pažiūrėkite į rezultatą naudodami fdisk -l
Pridėkite naują diską prie RAID masyvo: mdadm – tvarkyti /dev/md0 – pridėti /dev/YYY
Pažiūrėkite į rezultatą: cat /proc/mdstat. Turėtumėte pamatyti, kad sinchronizavimas prasidėjo
7) Dabar reikia rankiniu būdu sinchronizuoti skaidinius, kurie nėra RAID dalis.
Norėdami tai padaryti, naudosime dd įrankį, nukopijuodami iš „gyvo“ disko į naują, kurį neseniai įdiegėte
dd if=/dev/XXX of=/dev/YYY
8) Baigę sinchronizuoti, įdiekite grub naujame diske
9) Iš naujo paleiskite VM, kad įsitikintumėte, jog viskas veikia
Savais žodžiais aprašykite, ką padarėte ir kokį rezultatą gavote atlikę užduotį.
Rezultatas: Diskas ssd1 pašalintas, diskas ssd2 išsaugotas, diskas ssd3 pridėtas.
3 užduotis (naujų diskų pridėjimas ir skaidinio perkėlimas)
Tai pati sudėtingiausia ir sudėtingiausia užduotis iš visų pateiktų.
Labai atidžiai patikrinkite, ką darote ir su kokiais diskais bei skaidiniais.
Prieš paleidžiant, rekomenduojama pasidaryti kopiją.
Ši užduotis nepriklauso nuo užduoties Nr. 2, ją galima atlikti po užduoties Nr. 1, pakoreguota pagal diskų pavadinimus.
Antroji šios laboratorinės užduoties dalis turėtų būti lygiai tokia pati, kokia buvo atlikus pirmąją dalį.
Kad jūsų darbas būtų lengvesnis, galiu rekomenduoti ne fiziškai išimti diskus iš pagrindinio kompiuterio, o tik
atjunkite juos mašinos ypatybėse. VM OS požiūriu ji atrodys lygiai taip pat, bet jūs galite
jei kas nors atsitiks, prijunkite diską atgal ir tęskite darbą atsukdami keletą taškų atgal, jei
turite problemų. Pavyzdžiui, galbūt padarėte tai neteisingai arba pamiršote nukopijuoti /boot skaidinį į naują diską.
Galiu tik patarti kelis kartus ar dar geriau pasitikrinti su kokiais diskais ir skaidiniais dirbate
Ant popieriaus lapo užrašykite korespondenciją tarp diskų, skaidinių ir „fizinio“ disko numerio. Gražus ir skaidrus medis
komandų lygiosios lsblk, naudokite jį kuo dažniau analizuodami, ką padarėte ir ką reikia padaryti.
Į istoriją...
Įsivaizduokite, kad jūsų serveris ilgą laiką veikė 2 SSD diskuose, kai staiga...
1) Imituokite ssd2 disko gedimą pašalindami diską iš VM savybių ir paleisdami iš naujo
2) Peržiūrėkite dabartinę diskų ir RAID būseną:
5) Visų pirma, turėtumėte pasirūpinti sename diske esančių duomenų saugumu.
Šį kartą duomenis perduosime naudodami LVM:
Pirmiausia turite nukopijuoti failų lentelę iš senojo disko į naują:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Pakeiskite x,y tinkamus diskus ir išsiaiškinkite, ką ši komanda veikia.
Paleiskite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT ir palyginkite jo išvestį su ankstesniu iškvietimu.
Kas pasikeitė?
naudokite komandą dd, norėdami nukopijuoti /boot duomenis į naują diską
dd if=/dev/XXX of=/dev/YYY
jei /boot liko prijungtas prie senojo disko, jis turėtų būti iš naujo prijungtas prie tiesioginio disko:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Įdiekite įkrovos įkroviklį naujame ssd diske
grub-install /dev/YYY
Kodėl atliekame šią operaciją?
sukurti naują raid masyvą, įskaitant tik vieną naują ssd diską:
Aukščiau pateikta komanda neveiks nenurodžius specialaus rakto.
Perskaitykite žinyną ir pridėkite šį klavišą prie komandos.
Norėdami patikrinti operacijos rezultatą, naudokite komandą cat /proc/mdstat. Kas pasikeitė?
Paleiskite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT ir palyginkite jo išvestį su ankstesniu iškvietimu.
Kas pasikeitė?
6) Kitas žingsnis yra LVM konfigūravimas
paleiskite komandą pv, kad peržiūrėtumėte informaciją apie dabartinius fizinius tomus
sukurti naują fizinį tomą, įskaitant anksčiau sukurtą RAID masyvą:
pvcreate /dev/md63
Paleiskite lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT ir palyginkite jo išvestį su ankstesniu iškvietimu.
Kas pasikeitė?
Dar kartą paleiskite komandą pv. Kas pasikeitė?
Padidinkime „Volume Group“ sistemos dydį naudodami šią komandą:
vgextend system /dev/md63
Vykdykite komandas ir užsirašykite, ką matėte ir kas pasikeitė.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
Kokiame fiziniame diske šiuo metu yra LV var,log,root?
Perkelkite duomenis iš senojo disko į naują, naudodami tinkamus įrenginių pavadinimus.
Vykdykite komandas ir užsirašykite, ką matėte ir kas pasikeitė.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Pakeiskime savo VG, išimdami iš jo seną raidinį diską. Pakeiskite teisingą reido pavadinimą.
vgreduce system /dev/md0
Vykdykite komandas ir užsirašykite, ką matėte ir kas pasikeitė.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
Kad vaizdas būtų gražesnis, perjunkite /boot į antrąjį ssd diską (ssd4) ir paleiskite lsblk. Dėl to ssd3 diskas neveikia
nieko nereikia montuoti. Atidžiai patikrinkite, ar /boot skaidinys nėra tuščias! ls /boot turi parodyti
keli failai ir aplankai. Išstudijuokite, kas saugoma šiame skyriuje, ir užsirašykite, kuris failų katalogas už ką atsakingas.
7) išimkite ssd3 diską ir pridėkite ssd5, hdd1, hdd2 pagal aukščiau aprašytas technines specifikacijas, todėl:
ssd4 – pirmasis naujas ssd
ssd5 – antras naujas ssd
hdd1 – pirmasis naujas HDD
hdd2 - antras naujas HDD
Atkreipkite dėmesį, kad kai nukopijavome skaidinių lentelę iš senojo disko, atrodė, kad naujo dydžio
nenaudoja visos standžiojo disko talpos.
Todėl netrukus turėsime pakeisti šio skaidinio dydį ir išplėsti reidą.
Įsitikinkite patys, vykdydami komandą:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) nukopijuokite įkrovos skaidinį /boot iš ssd4 į ssd5
dd if=/dev/XXX of=/dev/YYY
11) Įdiekite grub naujame diske (ssd5)
12) pakeiskite antrojo ssd5 disko skaidinio dydį
paleiskite disko skaidymo įrankį:
fdisk /dev/XXX
įveskite klavišą d, kad ištrintumėte esamą skaidinį (pasirinkite 2)
įveskite raktą n, kad sukurtumėte naują skaidinį
įveskite klavišą p, kad nurodytumėte, kad skaidinio tipas yra „pirminis“
Įveskite 2 klavišą, kad naujame skirsnyje būtų antrasis numeris
Pirmas sektorius: paspauskite Enter, kad patvirtintumėte automatiškai apskaičiuotą skaidinio pradžios dydį
Paskutinis sektorius: paspauskite Enter, kad patvirtintumėte automatiškai apskaičiuotą skaidinio pabaigos dydį
įveskite klavišą l, kad pamatytumėte visų galimų skaidinių tipų sąrašą ir rastumėte jame Linux raid auto
įveskite t klavišą, kad pakeistumėte sukurtos skaidinio tipą (2), ir įveskite numerį, rastą ankstesniame veiksme.
įveskite klavišą w, kad įrašytumėte pakeitimą į diską.
12) dar kartą perskaitykite skirsnių lentelę ir patikrinkite rezultatą
pridėti naują diską prie esamo raid masyvo (nepamirškite pakeisti reikiamų diskų)
mdadm --manage /dev/md63 --add /dev/sda2
Išplėskime diskų skaičių mūsų masyve iki 2:
mdadm --grow /dev/md63 --raid-devices=2
Pažvelkite į rezultatą: pažymėjome 2 masyvus, tačiau abu į šį masyvą įtraukti skyriai yra skirtingų dydžių
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) padidinti skaidinio dydį ssd4 diske
paleiskite disko skaidymo įrankį:
fdisk /dev/XXX
įveskite klavišą d, kad ištrintumėte esamą skaidinį (pasirinkite 2)
įveskite raktą n, kad sukurtumėte naują skaidinį
įveskite klavišą p, kad nurodytumėte, kad skaidinio tipas yra „pirminis“
Įveskite 2 klavišą, kad naujame skirsnyje būtų antrasis numeris
Pirmas sektorius: paspauskite Enter, kad patvirtintumėte automatiškai apskaičiuotą skaidinio pradžios dydį
Paskutinis sektorius: paspauskite Enter, kad patvirtintumėte automatiškai apskaičiuotą skaidinio pabaigos dydį
Žymėjimo pabaigoje pasirinkite Ne, kad paliktumėte skaidinio narystės parašą masyve.
įveskite klavišą w, kad įrašytumėte pakeitimą į diską.
12) dar kartą perskaitykite skirsnių lentelę ir patikrinkite rezultatą
Sukurkime loginį tomą su visos laisvos vietos dydžiu ir pavadinkime jį val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
suformatuokite sukurtą skaidinį ext4
mkfs.ext4 /dev/mapper/data-var_log
pažiūrėsim rezultatą
lsblk
17) perkelti žurnalo duomenis iš senojo skaidinio į naują
laikinai įdiegti naują žurnalų saugyklą
mount /dev/mapper/data-var_log /mnt
sinchronizuokime skaidinius
apt install rsync
rsync -avzr /var/log/ /mnt/
Sužinokime, kurie procesai šiuo metu veikia /var/log
apt install lsof
lsof | grep '/var/log'
sustabdyti šiuos procesus
systemctl stop rsyslog.service syslog.socket
atlikti galutinį skaidinių sinchronizavimą (duomenys, kurie galėjo pasikeisti nuo paskutinio sinchronizavimo)
rsync -avzr /var/log/ /mnt/
sukeisti skyrius
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
pažiūrėkime, kas atsitiko
lsblk
18) Redaguoti /etc/fstab
fstab – failas, kuriame įrašomos taisyklės, pagal kurias skirsniai bus prijungti paleidžiant
Mūsų užduotis yra rasti eilutę, kurioje yra sumontuotas /var/log, ir pataisyti įrenginį system-log apie data-var_log
19) Svarbiausia šiame etape nepamiršti pakeisti radela lentelės (pvz., ext4). Nes nesvarbu, kaip keistume bet kokį reidą, lvm, kol skaidinio FS nebus pranešta, kad dabar pasikeitė skaidinio dydis, mes negalėsime naudoti naujos vietos. Naudokite komandą resize2fs pakeisti FS.
20) Baigiamasis akordas
Perkrauname. Jei viską padarėte teisingai, būsite grąžinti į savo OS (tai būtina norint įsitikinti, kad viskas veikia. Šis veiksmas neturi jokios reikšmės, išskyrus savęs patikrinimą)
patikrinkite, ar viskas, ką norėjome padaryti, iš tikrųjų buvo padaryta:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [PASIRENKAMA] Atlikite veiksmus
paleiskite iš naujo paspausdami F12, kad nurodytumėte skirtingus diskus paleidžiant, kad įsitikintumėte, jog galite paleisti
iš bet kurio ssd disko, kad nebijotume vieno iš jų gedimo
dabar jūs turite nereikalingą LV žurnalą VG sistemoje. Paskirstykite šią vietą tarp šaknies arba var, bet nenaudokite
dizainas 100% FREE nurodykite dydį ranka naudodami klavišą -L:
-L 500M
išspręsti problemą, kad /boot yra dviejuose skaidiniuose be sinchronizavimo, nereikia to daryti teisingai,
čia kaip pavyzdys pridėtas. Nepamirškite pirmiausia kur nors nukopijuoti /boot turinio.
sukurti naują reidą ir įtraukti į jį sda1,sda2
įtraukti šiuos skaidinius į esamą reidą ir atkurti /boot į pagrindinį reidą, bet jo nemontuojant.