To raid or not to raid?

Original oprettelse: 2024-02-20
Seneste git commit: 2024-10-26

“To raid or not to raid”, det er spørgsmålet. Spøg til side, så havde jeg for nyelig nogen overvejelser hvad angik, mit eget hjemme-setup.

Jeg har i alt 3 maskiner som ser regulær brug.

Ud af disse er det kun Stationæren, hvor der er plads (og det giver mening) at have flere diske. Jeg har tidligere kørt den med 3 harddrives sat op i LVM (logical volume management) For linux-nødder, kan man hurtigt gætte opstillingen som var brugt, men for dem som har mindre erfaring med LVM, vil jeg hurtigt nævne hvordan det fungere og hvordan det var sat op.

I LVM er der 3 slags volumes. Physical Volumnes (PV), Volume Group (VG) og Logical Volumes (LV).

Da jeg i dette tilfælde, bare brugte det som bulk storage, oprettede jeg bare en PV på hver disk, og smækkede dem i en fælles VG, hvor på jeg i dette tilfælde bare oprettede en fælles LV. Denne LV blev så bare mounted på en fast lokation, man kunne eksempelvis gøre det i /home/user/storage eller /storage.

Problemet er dog at der ingen parity er i dette setup, hvis en af hardiskene dør, risikere man fuld dataloss.

Raid er ikke en backup #

Hvis man ikke ved hvad RAID er så kommer en forklaring her:

Raid er ikke en erstatning for ordentlige backup-principper som eksempelvis 3-2-1. Det som raid, dog kan garantere er uptime og redudancy. Fremfor at al din data på din server/maskine ryger i tilfælde af harddrive failure, og at du skal til at skifte hardrives og overføre al din data fra en backup tilbage på din server/maskine, så kan man raid, være sikkert mod downtime fra harddrive-failure, og slippe for at skulle transfere data, og bare nøjes med at “resilver”?/genbygge array’en efter at man har skiftet det døde drive ud.

Filsystemer #

Filsystemer Oprindelig udgivelse Feature set Downsides
ext4 1990’s default
xfs
zfs snapshots, subvolumes, pools? Unfree license, Oracle
btrfs COW (copy-on-write), snapshots, subvolumes
bcachefs COW, snapshots, subvolumes stadig alpha-stage software

Raid med mdadm #

For at lave en raid med mdadm er syntax følgende:

mdadm --create /dev/md/name /dev/sda1 /dev/sdb1 /dev/sdc1 --level=5 --raid-devices=3 --bitmap=internal

mdadm [Command] [md-location] [partitions on physical drives] [type of raid by number] [number of devices in the raid] [sort of bitmap to use]