LFCS: Samling af partitioner som RAID-enheder - Oprettelse og styring af systembackups - Del 6


For nylig lancerede Linux Foundation LFCS (Linux Foundation Certified Sysadmin) certificering, en skinnende chance for systemadministratorer overalt at demonstrere gennem en præstationsbaseret eksamen, at de er i stand til at udføre samlet operativ support på Linux-systemer: system support -niveau diagnosticering og overvågning plus eskalering, når det er nødvendigt, til andre supportteam.

Følgende video giver en introduktion til Linux Foundation-certificeringsprogrammet.

Dette indlæg er del 6 af en serie med 10 tutorials, her i denne del vil vi forklare, hvordan man samler partitioner som RAID-enheder - Oprettelse og styring af systembackups, der kræves til LFCS-certificeringseksamen.

Forståelse af RAID

Teknologien kendt som Redundant Array of Independent Disks ( RAID ) er en lagringsløsning, der kombinerer flere harddiske til en enkelt logisk enhed for at give redundans af data og/eller forbedre ydeevnen i læse/skrive operationer til disk.

Den faktiske fejltolerance og disk I/O-ydeevne afhænger imidlertid af, hvordan harddiskene er indstillet til at danne diskarrayet. Afhængigt af de tilgængelige enheder og behovet for fejltolerance/ydelse defineres forskellige RAID-niveauer. Du kan henvise til RAID-serien her i linux-console.net for en mere detaljeret forklaring på hvert RAID-niveau.

RAID-guide : Hvad er RAID, begreber RAID og RAID-niveauer forklaret

Vores valgfrie værktøj til oprettelse, samling, styring og overvågning af vores RAID-software kaldes mdadm (forkortelse for administration af flere diske).

---------------- Debian and Derivatives ----------------
# aptitude update && aptitude install mdadm 
---------------- Red Hat and CentOS based Systems ----------------
# yum update && yum install mdadm
---------------- On openSUSE ----------------
# zypper refresh && zypper install mdadm # 

Processen med at samle eksisterende partitioner som RAID-enheder består af følgende trin.

Hvis en af partitionerne tidligere er formateret eller tidligere har været en del af et andet RAID-array, bliver du bedt om at bekræfte oprettelsen af det nye array. Forudsat at du har truffet de nødvendige forholdsregler for at undgå at miste vigtige data, der muligvis har været i dem, kan du trygt skrive y og trykke på Enter .

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

For at kontrollere status for array-oprettelse bruger du følgende kommandoer - uanset RAID-typen. Disse er lige så gyldige som når vi opretter en RAID0 (som vist ovenfor), eller når du er i færd med at oprette en RAID5, som vist på billedet nedenfor.

# cat /proc/mdstat
or 
# mdadm --detail /dev/md0	[More detailed summary]

Formater enheden med et filsystem i henhold til dine behov/krav, som forklaret i del 4 i denne serie.

Instruer overvågningstjenesten til at ”holde øje” med arrayet. Føj output fra mdadm –detail –scan til /etc/mdadm/mdadm.conf (Debian og derivater) eller /etc/mdadm.conf (CentOS/openSUSE), sådan.

# mdadm --detail --scan
# mdadm --assemble --scan 	[Assemble the array]

For at sikre, at tjenesten starter ved systemstart, skal du køre følgende kommandoer som root.

Debian og derivater, selvom det som standard skal starte ved opstart.

# update-rc.d mdadm defaults

Rediger filen /etc/default/mdadm , og tilføj følgende linje.

AUTOSTART=true
# systemctl start mdmonitor
# systemctl enable mdmonitor
# service mdmonitor start
# chkconfig mdmonitor on

I RAID-niveauer, der understøtter redundans, skal du udskifte mislykkede drev, når det er nødvendigt. Når en enhed i diskarrayet bliver defekt, starter en genopbygning automatisk kun, hvis der blev tilføjet en reserveenhed, da vi først oprettede arrayet.

Ellers skal vi manuelt tilslutte et ekstra fysisk drev til vores system og køre.

# mdadm /dev/md0 --add /dev/sdX1

Hvor /dev/md0 er det array, der oplevede problemet, og /dev/sdX1 er den nye enhed.

Du bliver muligvis nødt til at gøre dette, hvis du har brug for at oprette et nyt array ved hjælp af enhederne - ( Valgfrit trin ).

# mdadm --stop /dev/md0 				#  Stop the array
# mdadm --remove /dev/md0 			# Remove the RAID device
# mdadm --zero-superblock /dev/sdX1 	# Overwrite the existing md superblock with zeroes

Du kan konfigurere en gyldig e-mail-adresse eller systemkonto til at sende alarmer til (sørg for at du har denne linje i mdadm.conf ). - ( Valgfrit trin )

MAILADDR root

I dette tilfælde sendes alle alarmer, som RAID-overvågningsdemon indsamler, til den lokale rodkontos postkasse. En af sådanne alarmer ser ud som følgende.

Bemærk: Denne begivenhed er relateret til eksemplet i TRIN 5 , hvor en enhed blev markeret som defekt, og reserveenheden blev automatisk indbygget i arrayet af mdadm. Således løb vi tør ”for sunde reserveenheder, og vi fik alarmeringen.

Den samlede arraystørrelse er n gange størrelsen på den mindste partition, hvor n er antallet af uafhængige diske i arrayet (du skal bruge mindst to drev). Kør følgende kommando for at samle et RAID 0 -array ved hjælp af partitioner /dev/sdb1 og /dev/sdc1 .

# mdadm --create --verbose /dev/md0 --level=stripe --raid-devices=2 /dev/sdb1 /dev/sdc1

Almindelige anvendelser : Opsætninger, der understøtter realtidsapplikationer, hvor ydeevne er vigtigere end fejltolerance.

Den samlede matrixstørrelse er lig med størrelsen på den mindste partition (du skal bruge mindst to drev). Kør følgende kommando for at samle et RAID 1 -array ved hjælp af partitioner /dev/sdb1 og /dev/sdc1 .

# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1

Almindelige anvendelser : Installation af operativsystemet eller vigtige underkataloger, såsom /home .

Den samlede matrixstørrelse vil være ( n - 1 ) gange størrelsen på den mindste partition. Mellemrummet “ mistet ” i ( n-1 ) bruges til beregning af paritet (redundans) (du skal bruge mindst tre drev).

Bemærk, at du kan angive en reserveenhed (/dev/sde1 i dette tilfælde) til at erstatte en defekt del, når et problem opstår. Kør følgende kommando for at samle et RAID 5 -array ved hjælp af partitioner /dev/sdb1 , /dev/sdc1 , /dev/sdd1 og /dev/sde1 som reserve.

# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 --spare-devices=1 /dev/sde1

Almindelige anvendelser : Web- og filservere.

Den samlede matrixstørrelse vil være ( n * s) -2 * s , hvor n er antallet af uafhængige diske i arrayet og s er størrelsen på den mindste disk. Bemærk, at du kan angive en reserveenhed (/dev/sdf1 i dette tilfælde) til at erstatte en defekt del, når et problem opstår.

Kør følgende kommando for at samle et RAID 6 array ved hjælp af partitioner /dev/sdb1 , /dev/sdc1 , /dev/sdd1 , /dev/sde1 og /dev/sdf1 som reserve.

# mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde --spare-devices=1 /dev/sdf1

Almindelige anvendelser : Fil- og sikkerhedsservere med store kapacitetskrav og høj tilgængelighedskrav.

Den samlede matrixstørrelse beregnes baseret på formlerne for RAID 0 og RAID 1 , da RAID 1 + 0 er en kombination af begge. Beregn først størrelsen på hvert spejl og derefter stribens størrelse.

Bemærk, at du kan angive en reserveenhed (/dev/sdf1 i dette tilfælde) til at erstatte en defekt del, når et problem opstår. Kør følgende kommando for at samle et RAID 1 + 0 array ved hjælp af partitioner /dev/sdb1 , /dev/sdc1 , /dev/sdd1 , /dev/sde1 og /dev/sdf1 som reserve.

# mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sd[b-e]1 --spare-devices=1 /dev/sdf1

Almindelige anvendelser : Database- og applikationsservere, der kræver hurtige I/O-operationer.

Det gør aldrig ondt at huske, at RAID med alle sine dusørmuligheder IKKE ERSTATNING TIL BACKUPS! Skriv det 1000 gange på tavlen, hvis du har brug for det, men sørg for at holde den idé i tankerne hele tiden. Før vi begynder, skal vi bemærke, at der ikke er nogen one-size-fits-all løsning til systembackups, men her er nogle ting, du skal tage i betragtning, når du planlægger en backup-strategi.

  1. Hvad bruger du dit system til? (Desktop eller server? Hvis sidstnævnte tilfælde finder anvendelse, hvad er de mest kritiske tjenester - hvis konfiguration vil være en reel smerte at miste?)
  2. Hvor ofte har du brug for at tage sikkerhedskopier af dit system?
  3. Hvad er de data (f.eks. filer/kataloger/databasedumps), som du vil sikkerhedskopiere? Det kan også være en god idé at overveje, om du virkelig har brug for at tage backup af store filer (f.eks. Lyd- eller videofiler).
  4. Hvor (dvs. fysisk sted og medier) gemmes disse sikkerhedskopier?

Metode 1 : Sikkerhedskopier hele drev med dd kommando. Du kan enten sikkerhedskopiere en hel harddisk eller en partition ved at oprette et nøjagtigt billede til enhver tid. Bemærk, at dette fungerer bedst, når enheden er offline, hvilket betyder, at den ikke er monteret, og der ikke er nogen processer, der får adgang til den til I/O-operationer.

Ulempen ved denne backup tilgang er, at billedet har samme størrelse som disken eller partitionen, selv når de faktiske data optager en lille procentdel af det. For eksempel, hvis du vil afbilde en partition på 20 GB, der kun er 10% fuld, vil billedfilen stadig være 20 GB i størrelse. Med andre ord er det ikke kun de faktiske data, der bliver sikkerhedskopieret, men hele selve partitionen. Du kan overveje at bruge denne metode, hvis du har brug for nøjagtige sikkerhedskopier af dine enheder.

# dd if=/dev/sda of=/system_images/sda.img
OR
--------------------- Alternatively, you can compress the image file --------------------- 
# dd if=/dev/sda | gzip -c > /system_images/sda.img.gz 
# dd if=/system_images/sda.img of=/dev/sda
OR 

--------------------- Depending on your choice while creating the image  --------------------- 
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

Metode 2 : Sikkerhedskopier visse filer / mapper med kommandoen tar - allerede dækket af del 3 i denne serie. Du kan overveje at bruge denne metode, hvis du har brug for at gemme kopier af specifikke filer og mapper (konfigurationsfiler, brugernes hjemmekataloger osv.).

Metode 3 : Synkroniser filer med rsync kommando. Rsync er et alsidigt eksternt (og lokalt) filkopieringsværktøj. Hvis du har brug for at sikkerhedskopiere og synkronisere dine filer til/fra netværksdrev, er rsync en chance.

Uanset om du synkroniserer to lokale mapper eller lokale <-> fjernmapper monteret på det lokale filsystem, er den basale syntaks den samme.

# rsync -av source_directory destination directory

Hvor -a genoprettes i underkataloger (hvis de findes), skal du bevare symbolske links, tidsstempler, tilladelser og original ejer/gruppe og -v uddybende.

Derudover kan du bruge ssh over rsync , hvis du vil øge sikkerheden ved dataoverførslen via ledningen.

# rsync -avzhe ssh backups [email _host:/remote_directory/

Dette eksempel synkroniserer sikkerhedskopimappen på den lokale vært med indholdet af /root/remote_directory på den eksterne vært.

Hvor indstillingen -h viser filstørrelser i menneskeligt læsbart format, og flagget -e bruges til at angive en ssh-forbindelse.

Synkronisering af fjern → lokale mapper over ssh.

I dette tilfælde skal du skifte kilde- og destinationsmapper fra det foregående eksempel.

# rsync -avzhe ssh [email _host:/remote_directory/ backups 

Bemærk, at dette kun er 3 eksempler (hyppigste tilfælde, som du sandsynligvis støder på) af brugen af rsync. For flere eksempler og anvendelser af rsync-kommandoer kan du finde i den følgende artikel.

Læs også : 10 rsync-kommandoer til synkronisering af filer i Linux

Resumé

Som sysadmin skal du sikre dig, at dine systemer fungerer så godt som muligt. Hvis du er godt forberedt, og hvis integriteten af dine data understøttes godt af en lagringsteknologi som RAID og regelmæssige sikkerhedskopier af systemet, er du sikker.

Hvis du har spørgsmål, kommentarer eller yderligere ideer til, hvordan denne artikel kan forbedres, er du velkommen til at tale ud nedenfor. Derudover skal du overveje at dele denne serie gennem dine sociale netværksprofiler.