En liten digresjon: denne LR er syntetisk.
Noen av oppgavene beskrevet her kan gjøres mye enklere, men siden oppgaven til l/r er å bli kjent
med raid- og lvm-funksjonalitet er noen operasjoner kunstig kompliserte.
Krav til verktøy for å utføre LR:
Virtualiseringsverktøy som Virtualbox
Linux installasjonsbilde, for eksempel Debian9
Tilgjengelighet av Internett for nedlasting av flere pakker
Koble via ssh til den installerte VM-en (valgfritt)
FORSIKTIG
Dette laboratoriearbeidet er relatert til en så subtil sak som datasikkerhet - dette er et område hvor
som lar deg miste alle dataene dine på grunn av den minste feilen - én ekstra bokstav eller tall.
Siden du gjør laboratoriearbeid, er du ikke i fare, bortsett fra at du må begynne å gjøre det på nytt.
I det virkelige liv er alt mye mer alvorlig, så du bør skrive inn disknavn veldig nøye, forståelse
hva gjør du med gjeldende kommando og hvilke disker jobber du med.
Det andre viktige punktet er navn på disker og partisjoner: avhengig av situasjonen kan disknummer variere
fra de verdiene som presenteres i kommandoene i laboratoriearbeidet.
Så hvis du for eksempel fjerner sda-disken fra arrayet og deretter legger til en ny disk, vil den nye disken vises
på et system som heter sda. Hvis du starter på nytt før du legger til en ny disk, vil den nye
disken vil hete sdb, og den gamle vil bli kalt sda
Laben må kjøres som superbruker (root) slik de fleste kommandoene krever
forhøyede privilegier, og det gir ikke mening å stadig eskalere privilegier via sudo
dd if=/dev/xxx av=/dev/yyy
7) arbeide med partisjonstabellen
partx
sfdisk
mkfs.ext4
8) arbeider med oppstartslasteren
grub-install /dev/XXX
oppdatering-grub
9) div
lsof
apt
rsync
Laboratoriearbeid består av 3 deler:
sette opp et fungerende system ved hjelp av lvm, raid
emulering av en av diskfeilene
bytte ut disker i farten, legge til nye disker og flytte partisjoner.
Oppgave 1 (OS-installasjon og konfigurasjon av LVM, RAID)
1) Opprett en ny virtuell maskin som gir den følgende egenskaper:
1 gb ram
1 cpu
2 hdds (navngi dem ssd1, ssd2 og tilordne like størrelser, sjekk hot swap- og ssd-boksene)
SATA-kontroller konfigurert for 4 porter
2) Begynn å installere Linux og når du kommer til å velge harddisker, gjør følgende:
Partisjoneringsmetode: manuell, hvoretter du skal se dette bildet:
Sette opp en separat partisjon for /boot: Velg den første disken og lag en ny partisjonstabell på den
Partisjonsstørrelse: 512M
Monteringspunkt: /boot
Gjenta innstillingene for den andre disken, men siden du ikke kan montere /boot to ganger samtidig, velg monteringspunkt: ingen, får til slutt følgende (bilde med en jamb, for lat til å gjøre det om):
RAID-oppsett:
Velg ledig plass på den første disken og konfigurer partisjonstypen som fysisk volum for RAID
Velg "Ferdig med å sette opp partisjonen"
Gjenta nøyaktig de samme innstillingene for den andre disken, noe som resulterer i følgende:
Velg "Konfigurer programvare RAID"
Opprett MD-enhet
Programvare RAID-enhetstype: Velg en speilet matrise
Aktive enheter for RAID XXXX-matrisen: Velg begge stasjonene
Reserveenheter: La 0 stå som standard
Aktive enheter for RAID XX-matrisen: velg partisjonene du opprettet under raid
Finish
Som et resultat bør du få et bilde som dette:
Konfigurere LVM: Velg Configure the Logical Volume Manager
Behold gjeldende partisjonsoppsett og konfigurer LVM: Ja
Opprett volumgruppe
Volumgruppenavn: system
Enheter for den nye volumgruppen: Velg din opprettede RAID
Lag logisk volum
logisk volumnavn: root
logisk volumstørrelse: 25 av diskstørrelsen din
Lag logisk volum
logisk volumnavn: var
logisk volumstørrelse: 25 av diskstørrelsen din
Lag logisk volum
logisk volumnavn: logg
logisk volumstørrelse: 15 av diskstørrelsen din
Ved å velge Vis konfigurasjonsdetaljer skal du få følgende bilde:
Når du har fullført konfigureringen av LVM, bør du se følgende:
Partisjonsoppsett: en etter en, velg hvert volum som er opprettet i LVM og layout dem, for eksempel for root slik:
Bruk som: ext4
monteringspunkt: /
Resultatet av å merke rotpartisjonen skal se slik ut:
gjenta partisjoneringsoperasjonen for var og log, velg de riktige monteringspunktene (/var og /var/log manuelt angitt), og oppnå følgende resultat:
Velg Fullfør partisjonering
Du vil bli stilt flere spørsmål om det faktum at du fortsatt har en umontert partisjon og swap ikke er konfigurert. Begge spørsmålene skal besvares benektende.
Det endelige resultatet skal se slik ut:
3) Fullfør OS-installasjonen ved å installere grub på den første enheten (sda) og start opp systemet.
4) Kopier innholdet av /boot-partisjonen fra sda-stasjonen (ssd1) til sdb-stasjonen (ssd2)
List opp alle diskene som den forrige kommandoen ga deg og beskriv hva slags disk det er
Finn stasjonen der grub ikke ble installert og utfør denne installasjonen: grub-install /dev/sdb
vis informasjon om gjeldende raid med kommandoen cat /proc/mdstat og skriv ned det du ser.
se på utgangen av kommandoene: pvs, vgs, lvs, mount og skriv ned nøyaktig hva du så
Beskriv med egne ord hva du gjorde og hvilket resultat du fikk av oppgaven.
Etter å ha fullført denne oppgaven, anbefales det å lagre en sikkerhetskopi av mappen eller lage den virtuelle maskinen
vagrant boks: https://t.me/bykvaadm/191
Resultat: Virtuell maskin med disker ssd1, ssd2
Oppgave 2 (Emulerer feilen på en av diskene)
1) Hvis du har krysset av i hot swap-boksen, kan du slette disker med en gang
Slett disk ssd1 i maskinegenskaper
Finn katalogen der filene dine for den virtuelle maskinen er lagret, og slett ssd1.vmdk
2) Sørg for at den virtuelle maskinen fortsatt kjører
3) Start den virtuelle maskinen på nytt og kontroller at den fortsatt kjører
4) sjekk statusen til RAID-arrayen: cat /proc/mdstat
5) legg til en ny disk av samme størrelse i VM-grensesnittet og gi den navnet ssd3
6) utfør operasjonene:
se at den nye disken har kommet inn i systemet ved hjelp av fdisk -l
kopier partisjonstabellen fra den gamle disken til den nye: sfdisk -d /dev/XXXX | sfdisk /dev/YYY
se på resultatet med fdisk -l
Legg til en ny disk i raid-arrayen: mdadm —manage /dev/md0 —add /dev/YYY
Se på resultatet: cat /proc/mdstat. Du skal se at synkroniseringen har startet
7) Nå må du manuelt synkronisere partisjoner som ikke er en del av RAID.
For å gjøre dette bruker vi dd-verktøyet, kopierer fra "live"-disken til den nye som du nylig installerte
dd if=/dev/XXX of=/dev/YYY
8) Etter at synkroniseringen er fullført, installer grub på den nye stasjonen
9) Start VM-en på nytt for å sikre at alt fungerer
Beskriv med egne ord hva du gjorde og hvilket resultat du fikk av oppgaven.
Resultat: Disk ssd1 ble fjernet, disk ssd2 ble lagret, disk ssd3 ble lagt til.
Oppgave 3 (legge til nye disker og flytte en partisjon)
Dette er den mest komplekse og omfangsrike oppgaven av alle presenterte.
Sjekk veldig nøye hva du gjør og med hvilke disker og partisjoner.
Det anbefales å lage en kopi før du kjører den.
Denne oppgaven er uavhengig av oppgave nr. 2, den kan utføres etter oppgave nr. 1, justert for disknavn.
Den andre delen av denne laboratorieoppgaven skal føre til nøyaktig samme tilstand som var etter å ha fullført den første delen.
For å gjøre arbeidet ditt enklere, kan jeg anbefale å ikke fjerne disker fysisk fra vertsmaskinen, men bare
koble dem fra i maskinegenskapene. Fra synspunktet til OS i VM vil det se nøyaktig det samme ut, men du kan
hvis noe skjer, koble disken tilbake og fortsett arbeidet ved å rulle tilbake et par punkter, if
du har problemer. For eksempel kan du ha gjort det feil eller glemt å kopiere /boot-partisjonen til den nye disken.
Jeg kan bare råde deg til å dobbeltsjekke hvilke disker og partisjoner du jobber med flere ganger, eller enda bedre
Skriv ned korrespondansen mellom diskene, partisjonene og det "fysiske" disknummeret på et stykke papir. Vakkert og klart tre
laget trekker lsblk, bruk den så ofte som mulig til å analysere hva du har gjort og hva som må gjøres.
Til historien...
Tenk deg at serveren din har kjørt i lang tid på 2 SSD-stasjoner, da plutselig...
1) Simuler ssd2-diskfeil ved å fjerne disken fra VM-egenskapene og starte på nytt
2) Se gjeldende status for disker og RAID:
5) Først av alt bør du ta vare på sikkerheten til dataene på den gamle disken.
Denne gangen vil vi overføre data ved hjelp av LVM:
Først av alt må du kopiere filtabellen fra den gamle disken til den nye:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Bytt ut de riktige diskene med x,y og finn ut hva denne kommandoen gjør.
Kjør lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT og sammenlign utgangen med forrige kall.
Hva har forandret seg?
bruk dd-kommandoen til å kopiere /boot-dataene til den nye disken
dd if=/dev/XXX of=/dev/YYY
hvis /boot forble montert på den gamle disken, bør den monteres på nytt på live disken:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
Installer oppstartslasteren på den nye ssd-stasjonen
grub-install /dev/YYY
Hvorfor utfører vi denne operasjonen?
lag en ny raid-array inkludert bare én ny ssd-disk:
Kommandoen ovenfor vil ikke fungere uten å spesifisere en spesiell nøkkel.
Les hjelpen og legg til denne nøkkelen i kommandoen.
Bruk kommandoen cat /proc/mdstat for å sjekke resultatet av operasjonen. Hva har forandret seg?
Kjør lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT og sammenlign utgangen med forrige kall.
Hva har forandret seg?
6) Neste trinn er å konfigurere LVM
kjør pvs-kommandoen for å se informasjon om gjeldende fysiske volumer
opprette et nytt fysisk volum inkludert den tidligere opprettede RAID-matrisen:
pvcreate /dev/md63
Kjør lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT og sammenlign utgangen med forrige kall.
Hva har forandret seg?
Kjør pvs-kommandoen igjen. Hva har forandret seg?
La oss øke størrelsen på Volume Group-systemet ved å bruke følgende kommando:
vgextend system /dev/md63
Kjør kommandoene og skriv ned hva du så og hva som endret seg.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
På hvilken fysisk disk er LV var,log,root plassert?
Flytt data fra den gamle stasjonen til den nye ved å bruke de riktige enhetsnavnene.
Kjør kommandoene og skriv ned hva du så og hva som endret seg.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
La oss endre vår VG ved å fjerne den gamle raiddisken fra den. Bytt ut det riktige raidnavnet.
vgreduce system /dev/md0
Kjør kommandoene og skriv ned hva du så og hva som endret seg.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
For å gjøre bildet vakrere, remonter /boot til den andre ssd-disken (ssd4) og kjør lsblk. Som et resultat gjør ikke ssd3-disken det
ingenting skal monteres. Sjekk nøye at /boot-partisjonen ikke er tom! ls /boot må vise
flere filer og mapper. Studer hva som er lagret i denne delen og skriv ned hvilken filkatalog som er ansvarlig for hva.
7) fjern ssd3-disken og legg til ssd5, hdd1, hdd2 i henhold til de tekniske spesifikasjonene beskrevet ovenfor, noe som resulterer i:
ssd4 - den første nye ssd
ssd5 - andre nye ssd
hdd1 - første nye hdd
hdd2 - andre nye hdd
8) Sjekk hva som skjedde etter å ha lagt til disker:
9) La oss gjenopprette driften av hovedraid-arrayet:
kopier partisjonstabellen, og bytt ut de riktige diskene:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
Vær oppmerksom på at når vi kopierte partisjonstabellen fra den gamle disken, så det ut til at den nye størrelsen
bruker ikke hele harddiskkapasiteten.
Derfor må vi snart endre størrelsen på denne partisjonen og utvide raidet.
Se selv ved å kjøre kommandoen:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) kopier oppstartspartisjonen /boot fra ssd4 til ssd5
dd if=/dev/XXX of=/dev/YYY
11) Installer grub på den nye stasjonen (ssd5)
12) endre størrelsen på den andre partisjonen på ssd5-disken
kjør diskpartisjoneringsverktøyet:
fdisk /dev/XXX
skriv inn d-tasten for å slette en eksisterende partisjon (velg 2)
skriv inn nøkkelen n for å opprette en ny partisjon
skriv inn tasten p for å indikere at partisjonstypen er "primær"
skriv inn tast 2 slik at den nye partisjonen har det andre tallet
Første sektor: trykk enter for å godta den automatisk beregnede størrelsen på begynnelsen av partisjonen
Siste sektor: trykk enter for å godta den automatisk beregnede størrelsen på slutten av partisjonen
skriv inn l-tasten for å se en liste over alle mulige partisjonstyper og finn Linux raid auto i den
skriv inn t-tasten for å endre typen til den opprettede partisjonen (2) og skriv inn nummeret som ble funnet i forrige trinn.
skriv inn w-tasten for å skrive endringen til disk.
12) les partisjonstabellen på nytt og sjekk resultatet
legg til en ny disk i gjeldende raid-array (ikke glem å erstatte de riktige diskene)
mdadm --manage /dev/md63 --add /dev/sda2
La oss utvide antallet disker i arrayet vårt til 2:
mdadm --grow /dev/md63 --raid-devices=2
Se på resultatet: vi har 2 arrays merket opp, men begge seksjonene inkludert i denne arrayen har forskjellige størrelser
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) øk partisjonsstørrelsen på ssd4-disken
kjør diskpartisjoneringsverktøyet:
fdisk /dev/XXX
skriv inn d-tasten for å slette en eksisterende partisjon (velg 2)
skriv inn nøkkelen n for å opprette en ny partisjon
skriv inn tasten p for å indikere at partisjonstypen er "primær"
skriv inn tast 2 slik at den nye partisjonen har det andre tallet
Første sektor: trykk enter for å godta den automatisk beregnede størrelsen på begynnelsen av partisjonen
Siste sektor: trykk enter for å godta den automatisk beregnede størrelsen på slutten av partisjonen
På slutten av markeringen velger du Nei for å la signaturen til partisjonens medlemskap være i matrisen.
skriv inn w-tasten for å skrive endringen til disk.
12) les partisjonstabellen på nytt og sjekk resultatet
Vær oppmerksom på at nå har sda2, sdc2-partisjoner en størrelse > enn størrelsen på raidenheten.
13) på dette stadiet kan raidstørrelsen nå utvides
mdadm --grow /dev/md63 --size=max
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT # check result
Se gjennom lsblk og legg merke til hva som har endret seg
14) Selv om vi endret størrelsen på raidet, endret ikke størrelsene på vg root,var,log seg selv
se på PV-størrelsen:
pvs
La oss utvide størrelsen på vår PV:
pvresize /dev/md63
se på PV-størrelsen:
pvs
15) Legg til den nylig dukkede plasseringen VG var,root
lvs # посмотрим сколько сейчас размечено
lvextend -l +50%FREE /dev/system/root
lvextend -l +100%FREE /dev/system/var
lvs # проверьте что получилось
På dette tidspunktet har du fullført migreringen av hovedarrayen til de nye diskene. arbeid med ssd1, ssd2 er fullført
16) Vår neste oppgave er å flytte /var/log til nye disker, for dette vil vi lage en ny array og lvm på hdd-disker.
La oss lage et logisk volum med størrelsen på all ledig plass og kalle det val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
formater den opprettede partisjonen i ext4
mkfs.ext4 /dev/mapper/data-var_log
la oss se resultatet
lsblk
17) overføre loggdata fra den gamle partisjonen til den nye
midlertidig installere en ny logglagring
mount /dev/mapper/data-var_log /mnt
la oss synkronisere partisjonene
apt install rsync
rsync -avzr /var/log/ /mnt/
La oss finne ut hvilke prosesser som kjører i /var/log
apt install lsof
lsof | grep '/var/log'
stoppe disse prosessene
systemctl stop rsyslog.service syslog.socket
utføre endelig synkronisering av partisjoner (data som kan ha endret seg siden siste synkronisering)
rsync -avzr /var/log/ /mnt/
bytt ut seksjonene
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
la oss sjekke hva som skjedde
lsblk
18) Rediger /etc/fstab
fstab - en fil som registrerer reglene for hvilke partisjoner skal monteres ved oppstart
vår oppgave er å finne linjen der /var/log er montert og fikse enheten system-log på data-var_log
19) Det viktigste på dette stadiet er ikke å glemme å endre radela-tabellen (ext4, for eksempel). For uansett hvordan vi endrer et hvilket som helst raid, lvm, før FS på partisjonen får beskjed om at partisjonsstørrelsen nå er endret, vil vi ikke kunne bruke den nye plassen. Bruk kommandoen resize2fs for å endre FS.
20) Sluttakkord
La oss starte på nytt. Hvis du gjorde alt riktig, vil du bli tatt tilbake til operativsystemet ditt (dette er nødvendig for å være sikker på at alt fungerer. Dette trinnet har ingen annen betydning enn selvtesting)
sjekk at alt vi ønsket å gjøre faktisk ble gjort:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [VALGFRITT] Følg trinnene
start på nytt ved å trykke F12 for å spesifisere forskjellige stasjoner ved oppstart for å være sikker på at du kan starte opp
fra noen av ssd-stasjonene, slik at vi ikke er redde for feil på en av dem
nå har du unødvendig LV-logg i VG-system. Tildel dette rommet mellom root eller var, men i stedet for å bruke
design 100% GRATIS spesifiser størrelsen for hånd ved å bruke -L-tasten:
-L 500M
fikse problemet med at /boot er plassert på to partisjoner uten synkronisering, det er ikke nødvendig å gjøre dette riktig,
det er lagt til her som et eksempel. Ikke glem å kopiere innholdet av /boot et sted først.
lag et nytt raid og ta med sda1,sda2 i det
inkludere disse partisjonene i det eksisterende raidet og gjenopprett /boot til hovedraidet, men uten å montere det.