Linux – Friheden til systemadministration: Version 2.8.20060113 – 2021-01-07 | ||
---|---|---|
forrige | Kapitel 3. Filsystemer | næste |
RAID er en metode til at slå flere diske sammen til én volume (dvs. én logisk disk); det kan gøres for at opnå et større brugerdrev eller for at højne sikkerheden ved redundans.
Derfor er der flere måder at kombinere diske til et RAID, og man har derfor vedtaget nogle RAID-levels.
RAID kan laves hardware- eller software-mæssigt. Det sikreste er via hardware eller med andre ord en RAID-controller.
Ved at lade hardwaren styre diskene og "narre" styresystemet til at tro at der er tale om et eller flere logiske drev, behøver man ikke at bekymre sig så meget om opsætning af Linux, da hardwareproducenterne som regel har en brugervenlig opsætningsmenu installeret i kortets BIOS.
Ulempen er at disse kort som regel er dyre at anskaffe og ofte benytter sig af de noget dyrere scsi-diske. Med andre ord: En RAID-controller er ofte "bare" en avanceret scsi-controller.
Her lader man et stykke software styre RAID, hvilket sparer en RAID-controller og det er muligt at blande scsi-diske med IDE eller kun benytte sig af IDE.
Ulempen er at man så selv skal sætte RAID op. På Linux er det lidt besværligt.
Et disk-spejl er hvis man ønsker 2 diske som en logisk enhed, hvor begge diske indeholder samme data. Sikkerheden er her at hvis en disk står af, så kører den anden videre.
Hvis man ønsker yderligere sikkerhed, kan man benytte en ekstra reservedisk som vil kunne erstatte en nedbrudt disk i spejlet. På den måde undværer man kun sikkerheden i den tid som det tager RAID-softwaren at opbygge et nyt spejl på reservedisken.
Start i enkeltbrugertilstand - (linux s ved opstart eller init 1).
Opret partitionen på begge diske med fdisk. Filsystemet skal være "Linux RAID autodetect". Skriv enhedens nummer ned.
Opret en /etc/raidtab-fil, med indhold som kunne se således ud:
raiddev /dev/md0 raid-level 1 nr-raid-disks 2 chunk-size 8 persistent-superblock 1 nr-spare-disks 0 device /dev/sdc1 raid-disk 0 device /dev/sdd1 raid-disk 1
Opret RAID-enheden med kommandoen mkraid /dev/md0.
Opret filsystemet til din logiske enhed /dev/md0 med kommandoen mkfs /dev/md0.
Montér det logiske drev med f.eks. mount /dev/md0 /spejl
Opret en linje i /etc/fstab svarende til det nye spejl.
/dev/sda1 / ext2 defaults 1 1 /dev/md0 /Spejl ext2 defaults 1 2 /dev/sda5 /home ext2 defaults 1 2 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 0 0 /dev/sdb5 /vol2 ext2 defaults 1 2 /dev/sdb1 swap swap defaults 0 0 /dev/fd0 /mnt/floppy ext2 noauto,owner 0 0 none /proc proc defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0
Har du tidligere haft et RAID-system sat op på diskene, skal du bruge mkraid --force /dev/md0 til at initialisere diskene igen, også selvom de er slettede med fdisk. Husk dog at tage backup (f.eks. tar pcfz data.tar.gz /mount/data, før du anvender mkraid --force /dev/md0, da RAID-diskene slettes derved.
Betegnelsen Linear RAID betyder, at man ønsker at slå flere diske sammen til én logisk enhed og udnytte den samlede disk kapacitet. Det giver ikke større data-sikkerhed - kun større samlet plads. Et eksempel på en /etc/raidtab hvor 2 diske som slås sammen er følgende:
raiddev /dev/md0 raid-level linear nr-raid-disks 2 chunk-size 8 persistent-superblock 1 nr-spare-disks 0 device /dev/sdc1 raid-disk 0 device /dev/sdd1 raid-disk 1
Det er muligt at tilføje og fjerne diske fra RAID-systemet medens systemet kører. Det kan være en god ting, hvis filsystemet af en eller anden grund er gået i stykker på den ene af diskene. Det kan ske uden at disken rent fysisk har fejlet.
Fjern disk
F.eks. fjern disken /dev/hdd1 fra RAID-systemet:
[root@linus /etc]# raidhotremove -a /dev/md0 /dev/hdd1
Nu kan man arbejde på disken med fdisk.
Tilføj disk
Disken som er blevet repartitioneret, kan tages i brug således:
[root@linus /etc]# raidhotadd -a /dev/md0 /dev/hdd1
RAID-systemet vil automatisk blive opdateret, og et evt. spejl vil blive genopbygget medens produktionen kører, performance-nedgangen er lille selv ved IDE-diske.