Om RAID

Lagringsteknologien kjent som RAID (Redundant Array of Independent Disks) kombinerer flere fysiske disker til en logisk enhet. Stasjonene kan vanligvis kombineres for å gi data redundans eller for å utvide størrelsen på logiske enheter utover funksjonen til de fysiske diskene eller begge deler. Teknologien gir også mulighet for vedlikehold av maskinvare uten å slå av systemet.

Typene RAID organisering er beskrevet i RAID Wiki.

Merk at mens RAID gir beskyttelse mot diskfeil, er det ikke en erstatning for sikkerhetskopiering. En fil slettet er fortsatt slettet på alle diskene i en RAID matrise. Moderne sikkerhetskopier gjøres vanligvis via rsync-3.3.0.

Det er tre hovedtyper av RAID implementering: Maskinvare RAID, BIOS-basert RAID og programvare RAID.

Maskinvare RAID

Maskinvarebasert RAID gir kapasitet gjennom proprietær maskinvare og dataoppsett. Kontrollen og konfigurasjonen er generelt gjort via fastvare i forbindelse med kjørbare programmer gjort tilgjengelig av enhetsprodusenten. Mulighetene leveres vanligvis via et PCI-kort, selv om det er noen forekomster av RAID komponenter integrert i hovedkortet. Hardware RAID kan også være tilgjengelig i et frittstående kabinett.

En fordel med maskinvarebasert RAID er at stasjonene tilbys til operativsystemet som en logisk stasjon og ingen operativsystemavhengig konfigurasjon er nødvendig.

Ulemper inkluderer vanskeligheter med å overføre stasjoner fra ett system til et annet, oppdatere fastvare eller erstatte ødelagt RAID-maskinvare.

BIOS-basert RAID

Noen datamaskiner tilbyr en maskinvarelignende RAID-implementering i system-BIOS. Noen ganger blir dette referert til som "falsk" RAID siden funksjoner vanligvis er integrert i fastvare uten maskinvare akselerasjon.

Fordelene og ulempene med BIOS-basert RAID er generelt det samme som hardware RAID med den ekstra ulempen at det ikke er maskinvareakselerasjon.

I noen tilfeller er BIOS-basert RAID-fastvare aktivert som standard (f.eks. noen DELL systemer). Hvis programvare RAID er ønsket, må dette alternativet være eksplisitt deaktivert i BIOS.

Programvare RAID

Programvarebasert RAID er den mest fleksible formen for RAID. Det er enkelt å installere og oppdatere og gir full kapasitet på alle eller del av alle stasjoner som er tilgjengelige for systemet. I BLFS, RAID-programvaren finnes i mdadm-4.3.

Det er enkelt å konfigurere en RAID enhet mdadm. Vanligvis opprettes enheter i /dev mappen som /dev/mdx hvor x er et heltall.

Det første trinnet i å lage en RAID matrise er å bruke partisjoneringsprogramvare som for eksempel fdisk eller parted-3.6 til å definere partisjonene som trengs for matrisen. Vanligvis vil det være en partisjon på hver stasjon som deltar i RAID matrisen, men det er ikke strengt nødvendig. For dette eksemplet vil det være fire harddisker: /dev/sda, /dev/sdb, /dev/sdc, og /dev/sdd. De vil bli delt opp som følger:

Partition Size     Type                Use
sda1:     100 MB   fd Linux raid auto  /boot    (RAID 1) /dev/md0
sda2:      10 GB   fd Linux raid auto  /        (RAID 1) /dev/md1
sda3:       2 GB   83 Linux swap       swap
sda4      300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2

sdb1:     100 MB   fd Linux raid auto  /boot    (RAID 1) /dev/md0
sdb2:      10 GB   fd Linux raid auto  /        (RAID 1) /dev/md1
sdb3:       2 GB   83 Linux swap       swap
sdb4      300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2

sdc1:      12 GB   fd Linux raid auto  /usr/src (RAID 0) /dev/md3
sdc2:     300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2

sdd1:      12 GB   fd Linux raid auto  /usr/src (RAID 0) /dev/md3
sdd2:     300 GB   fd Linux raid auto  /home    (RAID 5) /dev/md2 

I dette arrangementet opprettes en egen oppstartspartisjon som første RAID matrise og et rootfilsystem som den andre RAID matrisen, begge speilet. Den tredje partisjonen er en stor (omtrent 1 TB) matrise for /home mappen. Dette gir en evne til å stripe data på tvers av flere enheter, og forbedre hastigheten for både lesing og skriving av store filer. Til slutt opprettes en fjerde matrise som kobler sammen to partisjoner til en større enhet.

[Notat]

Notat

Alle mdadm kommandoer må kjøres som root bruker.

For å opprette disse RAID matrisene er kommandoene:

/sbin/mdadm -Cv /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
/sbin/mdadm -Cv /dev/md1 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2
/sbin/mdadm -Cv /dev/md3 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1
/sbin/mdadm -Cv /dev/md2 --level=5 --raid-devices=4 \
        /dev/sda4 /dev/sdb4 /dev/sdc2 /dev/sdd2 

Enhetene som er opprettet kan undersøkes enhet for enhet. For eksempel, å se detaljene om /dev/md1, bruk /sbin/mdadm --detail /dev/md1:

        Version : 1.2
  Creation Time : Tue Feb  7 17:08:45 2012
     Raid Level : raid1
     Array Size : 10484664 (10.00 GiB 10.74 GB)
  Used Dev Size : 10484664 (10.00 GiB 10.74 GB)
   Raid Devices : 2
  Total Devices : 2
    Persistence : Superblock is persistent

    Update Time : Tue Feb  7 23:11:53 2012
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : core2-blfs:0  (local to host core2-blfs)
           UUID : fcb944a4:9054aeb2:d987d8fe:a89121f8
         Events : 17

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync   /dev/sda1
       1       8       17        1      active sync   /dev/sdb1

Fra dette tidspunktet kan partisjonene formateres med filsystemet du velger (f.eks. ext3, ext4, xfsprogs-6.10.1, etc). De formaterte partisjonene kan da bli montert. /etc/fstab filen kan bruke enhetene som er opprettet for montering ved oppstart og linux kommandolinjen i /boot/grub/grub.cfg kan spesifisere root=/dev/md1.

[Notat]

Notat

vekselminnet bør spesifiseres i /etc/fstab filen som normalt. Kjernen striper normalt vekselminnets data på tvers av flere vekselminnefiler og bør ikke lages som del av en RAID matrise.

For ytterligere alternativer og administrasjonsdetaljer for RAID enheter, se man mdadm.

Ytterligere detaljer for å overvåke RAID matriser og håndtere problemer finner du på Linux RAID Wiki.