LFCS #6: Hvordan sette sammen partisjoner som RAID-enheter i Linux


Linux Foundation lanserte sertifiseringen LFCS (Linux Foundation Certified Sysadmin), en glimrende sjanse for systemadministratorer overalt til å demonstrere, gjennom en ytelsesbasert eksamen, at de er i stand til å utføre overordnet driftsstøtte på Linux-systemer: systemstøtte, diagnostisering og overvåking på første nivå, pluss problemeskalering, når det er nødvendig, til andre støtteteam.

Serien får tittelen Preparation for the LFCS (Linux Foundation Certified Sysadmin) Del 1 til 33 og dekker følgende emner:

Part 1

Slik bruker du 'Sed'-kommandoen til å manipulere filer i Linux

Part 2

Hvordan installere og bruke Vi/Vim i Linux

Part 3

Hvordan komprimere filer og kataloger og finne filer i Linux

Part 4

Hvordan partisjonere lagringsenheter i Linux

Part 5

Hvordan montere (Samba og NFS) filsystemer i Linux

Part 6

Hvordan sette sammen partisjoner som RAID-enheter og lage systemsikkerhetskopier

Part 7

Administrere systemoppstartsprosesser og -tjenester (SysVinit, Systemd og Upstart

Part 8

Hvordan administrere brukere og grupper, filtillatelser og Sudo-tilgang

Part 9

Linux Package Management med Yum, RPM, Apt, Dpkg, Aptitude og Zypper

Part 10

Lære grunnleggende Shell-skripting og feilsøking av filsystem

Part 11

Hvordan administrere og opprette LVM ved å bruke vgcreate-, lvcreate- og lvextend-kommandoer

Part 12

Hvordan utforske Linux med installert hjelpedokumentasjon og verktøy

Part 13

Hvordan konfigurere og feilsøke Grand Unified Bootloader (GRUB)

Part 14

Overvåk Linux-prosesser ressursbruk og angi prosessgrenser på en per-bruker-basis

Part 15

Hvordan stille inn eller endre kjernekjøringsparametere i Linux-systemer

Part 16

Implementering av obligatorisk tilgangskontroll med SELinux eller AppArmor i Linux

Part 17

Hvordan angi tilgangskontrolllister (ACL) og diskkvoter for brukere og grupper

Part 18

Installere nettverkstjenester og konfigurere automatisk oppstart ved oppstart

Part 19

En ultimat guide for å sette opp FTP-server for å tillate anonyme pålogginger

Part 20

Konfigurer en grunnleggende rekursiv bufring DNS-server og konfigurer soner for domene

Part 21

Hvordan installere, sikre og ytelsesjustering av MariaDB Database Server

Part 22

Hvordan installere og konfigurere NFS-server for filsystemdeling

Part 23

Hvordan sette opp Apache med navnebasert virtuell hosting med SSL-sertifikat

Part 24

Slik konfigurerer du en Iptables-brannmur for å aktivere ekstern tilgang til tjenester i Linux

Part 25

Hvordan gjøre en Linux om til en ruter for å håndtere trafikk statisk og dynamisk

Part 26

Hvordan sette opp krypterte filsystemer og bytte ved hjelp av Cryptsetup Tool

Part 27

Hvordan overvåke systembruk, strømbrudd og feilsøke Linux-servere

Part 28

Slik konfigurerer du et nettverkslager for å installere eller oppdatere pakker

Part 29

Hvordan revidere nettverksytelse, sikkerhet og feilsøking

Part 30

Hvordan installere og administrere virtuelle maskiner og containere

Part 31

Lær det grunnleggende om Git for å administrere prosjekter effektivt

Part 32

En nybegynnerveiledning for å konfigurere IPv4- og IPv6-adresser i Linux

Part 33

En nybegynnerveiledning for å lage nettverksbinding og brobygging i Ubuntu

Dette innlegget er Del 6 av en 33-tutorial-serie, her i denne delen vil vi forklare hvordan du setter sammen partisjoner som RAID-enheter og oppretter og administrerer systemsikkerhetskopier, som er kreves for LFCS-sertifiseringseksamenen.

Forstå RAID i Linux

Teknologien kjent som Redundant Array of Independent Disks (RAID) er en lagringsløsning som kombinerer flere harddisker til en enkelt logisk enhet for å gi redundans av data og/eller forbedre ytelsen i lese-/skriveoperasjoner til disk.

Den faktiske feiltoleransen og disk I/O-ytelsen er imidlertid avhengig av hvordan harddiskene er satt opp for å danne diskarrayen. Avhengig av tilgjengelige enheter og behov for feiltoleranse/ytelse, er forskjellige RAID-nivåer definert.

Du kan referere til følgende RAID-serieartikkel for mer detaljert forklaring av hvert RAID-nivå.

Installer mdadm i Linux

Vårt foretrukne verktøy for å lage, sette sammen, administrere og overvåke programvare-RAIDene våre kalles mdadm (forkortelse for admin for flere disker).

sudo apt install mdadm         [On Debian, Ubuntu and Mint]
sudo yum install mdadm         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo zypper install mdadm      [On OpenSUSE]    

Sette sammen partisjoner som RAID-enheter

Prosessen med å sette sammen eksisterende partisjoner som RAID-enheter består av følgende trinn.

1. Opprett en ny matrise med mdadm

Hvis en av partisjonene har blitt formatert tidligere eller har vært en del av en annen RAID-matrise tidligere, vil du bli bedt om å bekrefte opprettelsen av den nye matrisen.

Forutsatt at du har tatt de nødvendige forholdsreglene for å unngå å miste viktige data som kan ha ligget i dem, kan du trygt skrive y og trykke Enter.

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

2. Sjekk Array Creation Status

For å sjekke array-opprettingsstatusen, vil du bruke følgende kommandoer – uavhengig av RAID-type. Disse er like gyldige som når vi lager en RAID0 (som vist ovenfor), eller når du er i ferd med å sette opp en RAID5, som vist på bildet under.

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

3. Formater RAID-enhet

Formater enheten med et filsystem i henhold til dine behov/krav, som forklart i del 4 av denne serien.

4. Overvåk RAID Array Service

Instruer overvåkingstjenesten til å "holde et øye" med matrisen. Legg til utdataene fra mdadm --detail --scan til /etc/mdadm/mdadm.conf (Debian og derivater) eller /etc/mdadm.conf (CentOS/openSUSE), som det.

mdadm --detail --scan

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

For å sikre at tjenesten starter ved systemoppstart, kjør følgende kommandoer som root.

systemctl start mdmonitor
systemctl enable mdmonitor

5. Sjekk RAID-diskfeil

I RAID-nivåer som støtter redundans, bytt ut defekte stasjoner ved behov. Når en enhet i diskmatrisen blir defekt, starter en gjenoppbygging automatisk bare hvis det ble lagt til en reserveenhet da vi først opprettet matrisen.

Ellers må vi manuelt koble en ekstra fysisk stasjon til systemet vårt og kjøre det.

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

Hvor /dev/md0 er arrayen som opplevde problemet og /dev/sdX1 er den nye enheten.

6. Demonter en arbeidsgruppe

Du må kanskje gjøre dette hvis du trenger å opprette en ny matrise ved hjelp av enhetene – (Valgfritt trinn).

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

7. Opprett e-postvarsler

Du kan konfigurere en gyldig e-postadresse eller systemkonto for å sende varsler til (sørg for at du har denne linjen i mdadm.conf). – (Valgfritt trinn)

MAILADDR root

I dette tilfellet vil alle varsler som RAID-overvåkingsdemonen samler inn, sendes til den lokale rotkontoens postboks. En av slike varsler ser slik ut.

Merk: Denne hendelsen er relatert til eksemplet i TRINN 5, der en enhet ble merket som defekt og reserveenheten ble automatisk innebygd i matrisen av mdadm. Dermed «gikk vi tom» for sunne reserveenheter og vi fikk varselet.

Forstå RAID-nivåer i Linux

Her er en kort oversikt over vanlige RAID-nivåer:

RAID 0

Den totale matrisestørrelsen er n ganger størrelsen på den minste partisjonen, der n er antall uavhengige disker i matrisen (du trenger minst to stasjoner). Kjør følgende kommando for å sette sammen en RAID 0-matrise ved hjelp av partisjonene /dev/sdb1 og /dev/sdc1.

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

Vanlige bruksområder: Oppsett som støtter sanntidsapplikasjoner der ytelse er viktigere enn feiltoleranse.

RAID 1 (aka Mirroring)

Den totale matrisestørrelsen tilsvarer størrelsen på den minste partisjonen (du trenger minst to stasjoner). Kjør følgende kommando for å sette sammen en RAID 1-matrise ved å bruke partisjonene /dev/sdb1 og /dev/sdc1.

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

Vanlige bruksområder: Installasjon av operativsystemet eller viktige underkataloger, for eksempel /home.

RAID 5 (aka stasjoner med paritet)

Den totale matrisestørrelsen vil være (n – 1) ganger størrelsen på den minste partisjonen. "tapt"-plassen i (n-1) brukes til beregning av paritet (redundans) (du trenger minst tre stasjoner).

Merk at du kan spesifisere en reserveenhet (/dev/sde1 i dette tilfellet) for å erstatte en defekt del når et problem oppstår. Kjør følgende kommando for å sette sammen en RAID 5-matrise ved hjelp av partisjoner /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

Vanlige bruksområder: Nett- og filservere.

RAID 6 (aka Drives with Double Parity

Den totale matrisestørrelsen vil være (n*s)-2*s, der n er antall uavhengige disker i matrisen og s er størrelsen på den minste disken. Merk at du kan spesifisere en reserveenhet (/dev/sdf1 i dette tilfellet) for å erstatte en defekt del når et problem oppstår.

Kjør følgende kommando for å sette sammen en RAID 6-matrise ved hjelp av partisjoner /dev/sdb1, /dev/sdc1, /dev/sdd1 , /dev/sde1 og /dev/sdf1 som reservedeler.

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

Vanlige bruksområder: Fil- og sikkerhetskopiservere med stor kapasitet og høye tilgjengelighetskrav.

RAID 1+0 (aka Stripe of Mirrors)

Den totale matrisestørrelsen beregnes basert på formlene for RAID 0 og RAID 1 siden RAID 1+0 er en kombinasjon av begge. Beregn først størrelsen på hvert speil og deretter størrelsen på stripen.

Merk at du kan spesifisere en reserveenhet (/dev/sdf1 i dette tilfellet) for å erstatte en defekt del når et problem oppstår. Kjør følgende kommando for å sette sammen en RAID 1+0-matrise ved hjelp av partisjoner /dev/sdb1, /dev/sdc1, /dev /sdd1, /dev/sde1 og /dev/sdf1 som reservedeler.

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

Vanlige bruksområder: Database- og applikasjonsservere som krever raske I/O-operasjoner.

Opprette og administrere systemsikkerhetskopier i Linux

Det skader aldri å huske at RAID med alle dens fordeler IKKE ER EN ERSTATTNING FOR SIKKERHETSKOPIER! Skriv det 1000 ganger på tavlen hvis du trenger det, men pass på at du beholder det ideen i tankene til enhver tid.

Før vi begynner, må vi merke oss at det ikke finnes noen en-størrelse-passer-alle-løsning for systemsikkerhetskopiering, men her er noen ting du må ta hensyn til når du planlegger en sikkerhetskopieringsstrategi.

  • Hva bruker du systemet ditt til? (Skrivebord eller server? Hvis sistnevnte tilfelle gjelder, hva er de mest kritiske tjenestene – hvis konfigurasjon ville være vanskelig å miste?)
  • Hvor ofte må du ta sikkerhetskopier av systemet ditt?
  • Hva er dataene (f.eks. filer/kataloger/databasedumper) du vil sikkerhetskopiere? Det kan også være lurt å vurdere om du virkelig trenger å sikkerhetskopiere store filer (som lyd- eller videofiler).
  • Hvor (som betyr fysisk sted og media) vil disse sikkerhetskopiene bli lagret?

1. Sikkerhetskopier stasjoner med dd-kommando

Sikkerhetskopier hele stasjoner med dd-kommandoen. Du kan enten sikkerhetskopiere en hel harddisk eller en partisjon ved å lage et nøyaktig bilde når som helst. Merk at dette fungerer best når enheten er frakoblet, noe som betyr at den ikke er montert og det er ingen prosesser som får tilgang til den for I/O-operasjoner.

Ulempen med denne sikkerhetskopieringsmetoden er at bildet vil ha samme størrelse som disken eller partisjonen, selv når de faktiske dataene opptar en liten prosentandel av den.

For eksempel, hvis du vil avbilde en partisjon på 20 GB som bare er 10 % full, vil bildefilen fortsatt være 20 GB i størrelse. Med andre ord, det er ikke bare de faktiske dataene som blir sikkerhetskopiert, men hele partisjonen i seg selv. Du kan vurdere å bruke denne metoden hvis du trenger nøyaktige sikkerhetskopier av enhetene dine.

Opprette et partisjonsbilde

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 

Gjenopprette et partisjonsbilde

dd if=/system_images/sda.img of=/dev/sda
OR 
gzip -dc /system_images/sda.img.gz | dd of=/dev/sda 

2. Sikkerhetskopier filer med tar-kommando

Sikkerhetskopier visse filer /-kataloger med tar-kommandoen – allerede dekket i del 3 av denne serien. Du kan vurdere å bruke denne metoden hvis du trenger å beholde kopier av spesifikke filer og kataloger (konfigurasjonsfiler, brukernes hjemmekataloger og så videre).

2. Sikkerhetskopier og synkroniser filer ved hjelp av rsync-kommandoen

Synkroniser filer med kommandoen rsync, som er et allsidig eksternt (og lokalt) filkopieringsverktøy. Hvis du trenger å sikkerhetskopiere og synkronisere filene dine til/fra nettverksstasjoner, er rsync en tur.

Enten du synkroniserer to lokale kataloger eller lokale < --- > eksterne kataloger montert på det lokale filsystemet, er den grunnleggende syntaksen den samme.

Synkronisering av to lokale kataloger

rsync -av source_directory destination directory

Hvor -a går tilbake til underkataloger (hvis de eksisterer), bevar symbolske lenker, tidsstempler, tillatelser og opprinnelig eier/gruppe og -v detaljert.

I tillegg, hvis du ønsker å øke sikkerheten for dataoverføringen over ledningen, kan du bruke ssh over rsync.

Synkroniserer lokale → Eksterne kataloger over SSH

rsync -avzhe ssh backups root@remote_host:/remote_directory/

Dette eksemplet vil synkronisere sikkerhetskopikatalogen på den lokale verten med innholdet i /root/remote_directory på den eksterne verten.

Hvor -h-alternativet viser filstørrelser i menneskelig lesbart format, og -e-flagget brukes til å indikere en SSH-tilkobling.

Synkroniserer ekstern → Lokale kataloger over SSH

I dette tilfellet bytter du kilde- og målkatalogen fra forrige eksempel.

rsync -avzhe ssh root@remote_host:/remote_directory/ backups 

Vær oppmerksom på at dette bare er 3 eksempler (de vanligste tilfellene du sannsynligvis kommer inn i) på bruken av rsync. For flere eksempler og bruk av rsync-kommandoer kan du finne i den følgende artikkelen.

Sammendrag

Som systemadministrator må du sørge for at systemene dine yter så godt som mulig. Hvis du er godt forberedt, og hvis integriteten til dataene dine støttes godt av lagringsteknologi som RAID og regelmessige systemsikkerhetskopier, er du trygg.

LFCS eBook er tilgjengelig for kjøp nå. Bestill ditt eksemplar i dag og start reisen din til å bli en sertifisert Linux-systemadministrator!

Product Name Price Buy
The Linux Foundation’s LFCS Certification Preparation Guide $19.99 [Buy Now]

Sist, men ikke minst, bør du vurdere å kjøpe eksamenskupongen din ved å bruke følgende lenker for å tjene oss en liten provisjon, som vil hjelpe oss å holde denne boken oppdatert.

Hvis du har spørsmål, kommentarer eller flere ideer om hvordan denne artikkelen kan forbedres, kan du gjerne si fra nedenfor. I tillegg bør du vurdere å dele denne serien gjennom dine sosiale nettverksprofiler.