Väike kõrvalepõige: see laboratoorne töö on sünteetiline.
Mõningaid ülesandeid, mis siin on kirjas, on võimalik teha palju lihtsamalt, kuid kuna laboratoorse töö eesmärk on tutvuda
raid'i ja lvm'iga, siis on teatud toimingud kunstlikult keerulisemaks tehtud.
Tööriistade nõuded laboratoorse töö teostamiseks:
- Virtualiseerimise vahendid, näiteks Virtualbox
- Linuxi installipilt, näiteks
- Interneti-ühenduse olemasolu mitme paketi allalaadimiseks
- SSH kaudu ühendamine installitud VM-iga (valikuline)
TÄHELEPANU
See laboratoorne töö tegeleb sellise delikaatse asjaga nagu andmete säilitamine — see on valdkond,
mis võimaldab isegi kõige väiksema vea — ühe liigse tähe või numbri tõttu kaotada kõik teie andmed.
Kuna teete laboratoorset tööd, ei ohusta teid miski, välja arvatud see, et peate selle uuesti alustama.
Tegelikus elus on kõik palju tõsisem, seega on tähtis väga ettevaatlikult sisestada ketaste nimed, mõistes
mida te praegu käsklusega teete ja milliste ketastega töötate.
Teine oluline aspekt on ketaste ja partitsioonide nimetamine: vastavalt olukorrale võivad ketaste numbrid erineda
laboratoorse töö käskudes esitatud väärtustest.
Näiteks, kui eemaldada element sda massiivist ja seejärel lisada uus ketas, kuvatakse uus ketas
süsteemis nimega sda. Kui aga enne uue ketta lisamist teha taaskäivitamine, siis uus
ketas nimega sdb, ja vana saab nimeks sda.
Laboratoorne töö peab toimuma superkasutaja (root) all, kuna enamik käsklusi vajab
kõrgendatud õigusi ja pole mõtet pidevalt õigusi sudo kaudu tõsta.
Õppematerjalid
- RAID
- LVM
- Ketaste nimetamine Linuxi operatsioonisüsteemis
- Mis on partitsioon
- Mis on partitsioonide tabel ja kus see asub
- Mis on grub
Kasutatavad utiliidid
1) teabe vaatamine ketaste kohta
- lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
- fdisk -l
2) teabe vaatamine ja LVM-iga töötamine - pvs
- pvextend
- pvcreate
- pvresize
- vgs
- vgreduce
- lvs
- lvextend
3) teabe vaatamine ja RAID-iga töötamine - cat /proc/mdstat
- mdadm
4) monteerimispunktid - mount
- umount
- cat /etc/fstab
- cat /etc/mtab
5) ketta uue partitsioneerimise tegemine - fdisk /dev/XXX
6) partitsioonide kopeerimine - dd if=/dev/xxx of=/dev/yyy
7) partitsioonide tabeliga töötamine - partx
- sfdisk
- mkfs.ext4
8) bootloaderiga töötamine - grub-install /dev/XXX
- update-grub
9) muu - lsof
- apt
- rsync
Laboratoorne töö koosneb 3 osast:
- töötava süsteemi seadistamine lvm-i ja raid-i kasutamisega
- ühe ketta rikke emuleerimine
- ketaste vahetamine reaalajas, lisades uusi kettaid ja jaotusi.
Ülesanne 1 (OS-i installimine ja LVM-i, RAID-i seadistamine)
1) Looge uus virtuaalne masin, andes sellele järgmised omadused:
- 1 gb ram
- 1 cpu
- 2 hdd (nimetage need ssd1, ssd2 ja määrake neile sama suurus, märkige kuum vahetus ja ssd)
- SATA kontroller on seadistatud 4 porti

2) Alustage Linuxi installimist ja jõudes kõvaketaste valimise punktini tehke järgmist:
Jaotamise meetod: käsitsi, pärast mida peaksite nägema sellist pilti:

Seadistamine eraldi jaotusele /boot: Valige esimene ketas ja looge sellele uus jaotisete tabel
- Jaotuse suurus: 512M
- Montaazhipunkt: /boot
- Korrake seadistamist teise ketta jaoks, kuid kuna samaaegselt ei saa 2 korda /boot-i monteerida, valige montaažikoht: ei midagi, saades lõpuks järgmise (pilt veaga, ümbertegema ei viitsi):

RAID-i seadistamine:
- Valige esimese ketta vaba koht ja seadistage see RAID-i füüsilise mahuna
- Valige 'Lõpetage jaotuse seadistamine'
- Korrake täpselt sama seadistust teise ketta jaoks, saades tulemuseks järgmise:

- Valige punkt 'Configure software RAID'
- Looge MD seade
- Tarkvara RAID seadme tüüp: valige peegeldav massiiv
- RAID XXXX massiivi aktiivsed seadmed: valige mõlemad kettad
- Varu seadmed: jätta 0 vaikimisi
- RAID XX massiivi aktiivsed seadmed: valige jaotused, mille olete määranud RAID-i jaoks
- Lõpeta
- Lõpuks peaksite nägema järgmist pilti:

LVM-i seadistamine: valige 'Configure the Logical Volume Manager'
- Hoia praegust jaotuse paigutust ja seadista LVM: Jah
- Looge mahugrupp
- Mahugruppide nimi: system
- Uue mahugruppi seadmed: valige teie loodud RAID
- Looge loogiline maht
- loogilise mahu nimi: root
- loogilise mahu suurus: 25 teie ketta suurusest
- Looge loogiline maht
- loogilise mahu nimi: var
- loogilise mahu suurus: 25 teie ketta suurusest
- Looge loogiline maht
- loogilise mahu nimi: log
- loogilise mahu suurus: 15 teie ketta suurusest
- Valides 'Display configuration details' peaksite nägema järgmist pilti:

- Lõpetades LVM-i seadistamise peaksite nägema järgmist:

Jaotuste paigutus: valige järjestikuses järjekorras iga loodud LVM-i maht ja jaotage need, näiteks root jaoks nii:
- Kasutatuna: ext4
- montaažikoht: /
- juurkettase jaotuse tulemus peaks olema selline:

- korrake jaotamise toimingut var ja log jaoks, valides vastavad montaažikohad (/var ja /var/log sisestada käsitsi), saades järgmise tulemuse:

- Valige 'Finish Partitioning'
- Teilt küsitakse mõningaid küsimusi selle kohta, et teil on jäänud monteerimata jaotusi ja swap pole seadistatud. Tuleb mõlema küsimuse kohta vastata eitavalt.
Lõpptulemus peaks olema selline:

3) Lõpetage operatsioonisüsteemi installimine, paigaldades grub esimesesse seadmesse (sda) ja laadige süsteem.
4) Kopeerige sda (ssd1) jaos /boot sisu sdb (ssd2) ketta pealedd if=/dev/sda1 of=/dev/sdb15) Paigaldage grub teise seadmesse:
vaadake süsteemis olevaid kettaid:
fdisk -l lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTLoetlege kõik kettad, mille eelmine käsk andis, ja selgitage, mis ketas see on
Leidke ketas, millele grub'i installimist ei ole tehtud, ja tehke see installimine:
grub-install /dev/sdbvaadake praeguse raidi teavet käsuga cat /proc/mdstat ja kirjutage üles, mida nägite.
vaadake käskude väljundeid: pvs, vgs, lvs, mount ja kirjutage üles, mida täpselt nägite
Kirjeldage oma sõnadega, mida te tegite ja milline tulemus teil lõpuks oli
Pärast selle ülesande täitmist on soovitatav salvestada varukoopia kaustast, kus asub virtuaalne masin, või teha
vagrant box:
Tulemus: Virtuaalne masin ssd1, ssd2 ketastega
Ülesanne 2 (Ühe ketta tõrke emuleerimine)
1) Kui olete valinud hot swap'i, on teil võimalik kettad kiiresti eemaldada
- Eemaldage ssd1 ketas masina omadustes
- Leidke kataloog, kus hoitakse teie virtuaalse masina faile, ja eemaldage ssd1.vmdk
2) Veenduge, et teie virtuaalne masin töötab endiselt
3) Taaskäivitage virtuaalne masin ja veenduge, et see toimib endiselt
4) Kontrollige RAID-massiivi olekut: cat /proc/mdstat
5) Lisage VM liideses uus ketas sama suurusega ja nimetage see ssd3
6) Tehke järgmised toimingud: - vaadake, kas uus ketas on süsteemis kohal käsuga fdisk -l
- Kopeerige jaotustabel vanalt kettalt uuele: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
- vaadake tulemust käsuga fdisk -l
- Lisage RAID-massiivi uus ketas: mdadm --manage /dev/md0 --add /dev/YYY
- Vaadake tulemust: cat /proc/mdstat. Te peaksite nägema, et sünkroniseerimine on alanud
7) Nüüd peate käsitsi sünkroniseerima RAID'i mittekuuluvad jaotused.
Selleks kasutame dd utiliiti, kopeerides „elavatelt” plaatidelt uuele, mille te hiljuti paigaldasitedd if=/dev/XXX of=/dev/YYY8) Pärast sünkroniseerimise lõppu installige grub uuele kettale
9) Taaskäivitage VM, et veenduda, et kõik töötab
Kirjeldage oma sõnadega, mida te tegite ja milline tulemus teil lõpuks oli
Tulemus: Eemaldatud ketas ssd1, säilitatud ketas ssd2, lisatud ketas ssd3.Ülesanne 3 (Uute ketaste lisamine ja jaotuse üleviimine)
See on kõige keerulisem ja mahukam ülesanne kõigist esitatud.
Kontrollige väga hoolikalt, mida teete ja milliste ketaste ja jaotustega.
Soovitatav on enne selle täitmist varundada.
See ülesanne on sõltumatu ülesandest nr 2, seda saab teha pärast ülesande nr 1 täitmist, arvestades ketaste nimesid.
Laboratoorse töö teise osa tulemus peaks olema täpselt selline nagu pärast esimese osa täitmist.Selleks, et teie töö oleks lihtsam, võin soovitada mitte eemaldada füüsiliselt kettaid hostmasinast, vaid ainult
ühendada need lahti masina omadustes. OS-i vaates näeb see masinas välja täiesti sama, kuid te saate
vajadusel ketta tagasi ühendada ja jätkata tööd paar sammu tagasi tagasipöördudes, kui
teil tekivad probleemid. Näiteks võisite valesti toimida või unustada kopeerida jaotuse /boot uuele kettale.
Võin ainult soovitada paar korda üle vaadata, milliste ketaste ja jaotustega te töötate, ja veel parem
kirjutada paberile ketaste, jaotuste ja "füüsilise" ketta numbri vastavus. Kaunis ja arusaadav puu
joonistab käsklsblk, kasutage seda nii tihti kui võimalik, et analüüsida, mida olete teinud ja mida on vaja teha.Ajalugu...
Kujutage ette, et teie server on töötanud pikka aega kahe SSD kettaga, kui äkki...
1) Simuleerige SSD2 ketta rike, eemaldades masina omadustest ketta ja taaskäivitades.
2) Vaadake kettaste ja RAID-i praegust seisundit:cat /proc/mdstat fdisk -l lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT3) Teil vedas — ülemus lubas osta mõned uued kettad:
2 suurt SATA ketast kauaoodatud ülesande jaoks, et väljastada logide jaotus eraldi kettale.
2 SSD ketast, et asendada rikutud, samuti asendada ajal, mil see veel töötab.
Tuleb arvestada, et prügikast serverilt toetab ainult 4 ketta seadistamist korraga,
seega ei saa kõiki kettaid korraga lisada.HDD maht valida 2 korda suurem kui SSD.
SSD maht valida 1,25 korda suurem kui vanad SSD-d.4) Lisage üks uus SSD ketas, nimetades selle SSD4, ja pärast lisamist kontrollige, mis juhtus:
fdisk -l lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT5) Esiteks tuleks hoolitseda vana ketta andmete säilimise eest.
Seekord viime me andmed üle LVM-i abil:- Esiteks peate kopeerima failitabeli vanalt kettalt uuele:
sfdisk -d /dev/XXX | sfdisk /dev/YYYAsendage x, y õigete ketastega ja uurige, mida see käsk teeb.
Käivitage käsk lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT ja võrrelge selle väljundit eelmise kutsega.
Mis on muutunud?
Käsk dd kopeerib andmed /boot uuele kettale.dd if=/dev/XXX of=/dev/YYYKui /boot on endiselt vanal kettal, tuleks see mountida elavale kettale:
mount | grep boot # vaatame, kuhu ketas on mountitud lsblk # vaatame, milliseid kettaid süsteemis on ja kas on olemas eelmiseks punktiks saadud ketas umount /boot # unmountime /boot mount -a # monteerime kõik punktid vastavalt /etc/fstab. # Kuna seal on märgitud mount-punkt /dev/sda, siis toimub õige unmountimine elavale kettale.Installige buutloader uuele SSD kettale.
grub-install /dev/YYYMiks me seda operatsiooni teostame?
Looge uus RAID-massiiv, millel on ainult üks uus SSD kettas:
mdadm --create --verbose /dev/md63 --level=1 --raid-devices=1 /dev/YYYÜlaltoodud käsk ei toimi ilma erilise võtmeta.
Lugege abi ja lisage see võti käsule.Käsk cat /proc/mdstat kontrollige oma operatsiooni tulemust. Mis on muutunud?
Käivitage käsk lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT ja võrrelge selle väljundit eelmise kutsega.
Mis on muutunud?
6) Järgmine etapp on LVM seadistamine.
Käivitage käsk pvs, et vaadata praeguste füüsiliste mahtude teavet.
Looge uus füüsiline maht, kaasates varasemalt loodud RAID-massiivi:pvcreate /dev/md63Käivitage käsk lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT ja võrrelge selle väljundit eelmise kutsega.
Mis on muutunud?
Käivitage uuesti käsk pvs. Mis on muutunud?
Suurendame Volume Group system suurust järgmise käsuga:vgextend system /dev/md63Käivitage käsud ja kirjutage, mida nägite ja mis muutus.
vgdisplay system -v pvs vgs lvs -a -o+devicesMillisel füüsilisel kettal asuvad nüüd LV var, log, root?
Käivitage andmete üleviimine vanalt kettalt uuele, asendades õiged seadme nimed.
pvmove -i 10 -n /dev/system/root /dev/md0 /dev/md63Korrake toimingut kõigi loogiliste mahtude jaoks.
Käivitage käsud ja kirjutage, mida nägite ja mis muutus.
vgdisplay system -v pvs vgs lvs -a -o+devices lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTMuudame oma VG-d, eemaldades sellest vana RAID ketta. Asendage õige RAID nimega.
vgreduce system /dev/md0Käivitage käsud ja kirjutage, mida nägite ja mis muutus.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT pvs vgsKuna pildi ilu poolest mountige /boot teisele SSD kettale (ssd4) ja käivitage lsblk. Tulemuseks ei tohiks SSD3-l olla midagi mountitud.
Kontrollige hoolikalt, et /boot partitsioon ei oleks tühi!ls /bootpeab näitama
mitmeid faile ja kaustu. Uurige, mis selles jaotises on, ja märkige üles, mille eest vastutab iga failikataloog.
7) eemaldage ssd3 ketas ja lisage ssd5, hdd1, hdd2 vastavalt ülaltoodud nõuetele, saades lõpuks:
ssd4 — esimene uus ssd
ssd5 — teine uus ssd
hdd1 — esimene uus hdd
hdd2 — teine uus hdd8) Kontrollige, mis juhtus ketaste lisamise järel:
fdisk -l lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT9) Taastame põhiraid süsteemi töö:
- sooritage partitsioonitabeli kopeerimine, asendades õiged kettad:
sfdisk -d /dev/XXX | sfdisk /dev/YYY - Pöörake tähelepanu, et kui me kopeerisime partitsioonitabeli vanalt kettalt, tundus, et uus suurus
ei kasuta kogu kõvaketta mahtu.
Seetõttu peame peagi selle partitsiooni suurust muutma ja raid'i laiendama.
Veenduge selles ise, sisestades käsu:lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT10) kopeerige käivituspartitsioon /boot kettalt ssd4 kettale ssd5
dd if=/dev/XXX of=/dev/YYY11) Installige grub uuele kettale (ssd5)
12) muudame teise partitsiooni suurust kettal ssd5käivitage tööriist ketta partitsioonidega tegelemiseks:
fdisk /dev/XXXsisestage klahv d, et eemaldada olemasolev partitsioon (valige 2)
sisestage klahv n, et luua uus partitsioon
sisestage klahv p, et määrata partitsiooni tüüp "esmane"
sisestage klahv 2, et uus partitsioon saaks teise numbri
Esimene sektor: vajutage enter, et nõustuda automaatselt arvutatud partitsiooni alguse suurusega
Viimane sektor: vajutage enter, et nõustuda automaatselt arvutatud partitsiooni lõpuks suurusega
sisestage klahv l, et näha kõigi võimalike partitsioonitüüpide loendit ja leidke seal Linux raid auto
sisestage klahv t, et muuta loodud partitsiooni tüüpi (2), ja sisestage eelnevalt leitud number.
sisestage klahv w, et salvestada muudatused kettale.
12) loeme partitsioonitabeli uuesti ja kontrollime tulemustpartx -u /dev/XXX lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTlisame uue ketta praegusele raid süsteemile (ärge unustage sisestada õiged kettad)
mdadm --manage /dev/md63 --add /dev/sda2Laiendame meie süsteemi ketaste arvu kahele:
mdadm --grow /dev/md63 --raid-devices=2Vaadake tulemust: meil on määratud 2 massiivi, kuid mõlemad osalised, mis kuuluvad sellesse massiivi, on erineva suurusega
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT13) suurendame partitsiooni suurust kettal ssd4
käivitage tööriist ketta partitsioonidega tegelemiseks:
fdisk /dev/XXXsisestage klahv d, et eemaldada olemasolev partitsioon (valige 2)
sisestage klahv n, et luua uus partitsioon
sisestage klahv p, et määrata partitsiooni tüüp "esmane"
sisestage klahv 2, et uus partitsioon saaks teise numbri
Esimene sektor: vajutage enter, et nõustuda automaatselt arvutatud partitsiooni alguse suurusega
Viimane sektor: vajutage enter, et nõustuda automaatselt arvutatud partitsiooni lõpuks suurusega
Partitsioneeringu lõpus tuleks valida Ei, et jätta partitsiooni kuuluvuse signatuur massiivi.
sisestage klahv w, et salvestada muudatused kettale.
12) loeme partitsioonitabeli uuesti ja kontrollime tulemustpartx -u /dev/XXX lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINTpange tähele, et nüüd on sda2, sdc2 partitsioonid suuremad kui raid-seade.
13) Selle etapi raidi suurust saab nüüd laiendada
mdadm --grow /dev/md63 --size=max lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # kontrollige tulemustVaadake lsblk ja märkige, mis on muutunud
14) Kuid kuigi me muutsime raidi suurust, vg root, var, log suurused ei muutunud- vaadake, mis on PV suurus:
pvs - laiendame meie PV suurust:
pvresize /dev/md63 - vaadake, mis on PV suurus:
pvs15) Lisame uueks saanud ruumi VG var, root
lvs # vaatame, kui palju on nüüd reserveeritud lvextend -l +50%FREE /dev/system/root lvextend -l +100%FREE /dev/system/var lvs # kontrollige, mis on saanudSelle etapi lõpuks olete migreerinud peamise massiivi uutele kõvaketastele. Töö ssd1, ssd2 on lõpetatud
16) Meie järgmine ülesanne on viia /var/log uutele kõvaketastele, selleks loome uue massiivi ja lvm HDD-kettadel.
- vaatame, millised on uute HDD-kettade nimed
fdisk -l - loome raid massiivi
mdadm --create /dev/md127 --level=1 --raid-devices=2 /dev/sdc /dev/sdd - loome sellel PV-l suurete kettade raidi
pvcreate data /dev/md127 - loome selles PV-s grupi nimega data
vgcreate data /dev/md127 - loome loogilise mahu, mille suurus ulatub kogu vaba ruumini ja nimetame selle val_log
lvcreate -l 100%FREE -n var_log data # lvs # vaatame tulemust - vormindame loodud partitsiooni ext4-formaadis
mkfs.ext4 /dev/mapper/data-var_log - vaatame tulemust
lsblk17) edastame logifailide andmed vanalt jaotiselt uuele
mountime ajutiselt uue logifailide salvestusruumi
mount /dev/mapper/data-var_log /mntteeme jaotiste sünkroonimise
apt install rsync rsync -avzr /var/log/ /mnt/selgitame välja, millised protsessid töötavad praegu /var/log
apt install lsof lsof | grep '/var/log'peatame need protsessid
systemctl stop rsyslog.service syslog.socketteeme lõpliku jaotiste sünkroonimise (need andmed, mis võisid muutuda pärast viimast sünkroonimist)
rsync -avzr /var/log/ /mnt/vahetame jaotised omavahel
umount /mnt umount /var/log mount /dev/mapper/data-var_log /var/logkontrollime, mis on saanud
lsblk18) Muudame /etc/fstab
fstab on fail, kuhu on kirja pandud reeglid, mille järgi jaotised käivitamisel monteeritakse
meie ülesanne on leida see rida, kus /var/log monteeritakse ja muuta seadesystem-log. Tundub, etdata-var_log19) Selle etapi kõige olulisem asi on mitte unustada muuta jaotiste tabelit (nt ext4). Sest hoolimata sellest, kui palju me raid'i ja lvm'i muudame — kuni FS ei saa teate, et jaotise suurus on nüüd muutunud, ei saa me uut ruumi kasutada. Kasutage käsku
resize2fsfailisüsteemi muutmiseks.20) Lõplik akord
- teeme taaskäivituse. Kui olete kõik õigesti teinud, pääsete teie operatsioonisüsteemi tagasi (see on vajalik, et veenduda, et kõik töötab. Sellel sammul pole muud mõtet kui enesetõestamine)
- kontrollige, et kõik, mida me soovisime teha, tõesti tehti:
pvs lvs vgs lsblk cat /proc/mdstat
21) [VALIKULINE] Tehke toimingud
- taaskäivitage, klõpsates F12, et laadimisel valida erinevaid kettaid, et veenduda, et saate käivitada
kust iganes ssd-disk, et me ei kardaks ühe neist riket - nüüd on teil VG süsteemis kasutamata LV log. Jagage see ruum kas root või var vahel, kuid ärge kasutage
struktuuri 100% FREE, näidake suurust käsitsi võtmega -L:-L 500M - lahendage probleem, et /boot asub kahe jaotuse vahel ilma sünkroniseerimiseta, õigesti nii ei tohiks teha,
see on siia lisatud näite jaoks. Ärge unustage eelnevalt kuskile kopeerida /boot sisu.- loomine uus RAID ja lisage sellele sda1, sda2
- lisage need jaotused olemasolevasse RAID-i ja taastage /boot põhiraidis, kuid mitte kirjutamata.
- vaatame, millised on uute HDD-kettade nimed
- vaadake, mis on PV suurus:
- sooritage partitsioonitabeli kopeerimine, asendades õiged kettad:
- Esiteks peate kopeerima failitabeli vanalt kettalt uuele:
Allikas: habr.com









