Raspberry Pis operativsystem er installeret på enten SD-kortet eller en USB-disk. På grund af de begrænsede skrivecyklusser af flashceller på SD-kort er deres pålidelighed ikke garanteret. Harddiske og SSD'er klarer sig bedre med hensyn til pålidelighed; sidstnævnte bruger slidniveaualgoritmer til at forlænge enhedens levetid. Men alligevel er det altid risikabelt at opbevare data på en enkelt disk.

Idéen med at spejle data ved hjælp af RAID-1

For at undgå tab af data i tilfælde af en diskfejl, RAID-1 dataspejling bør gennemføres. Problemet er, at opsætning af RAID ikke er mulig under installationsfasen af ​​operativsystemet på en Raspberry Pi.

Denne idé handler om at konfigurere RAID-1 Mirroring på to USB SSD'er, derefter kopiere hjemmebiblioteket til RAID-partitionen og konfigurere til at bruge det som /home. Da brugerdata findes i hjemmebiblioteket, kan data gendannes fuldt ud, og RAID kan genopbygges i tilfælde af en enkelt diskfejl.

OS vil stadig forblive på SD-kortet (eller en anden SSD). Hvis OS-disken fejler, er de vigtige data stadig tilgængelige på RAID-1-arrayet. Desuden vil OS-disken holde længere, da der er mindre disktryk. Dette skyldes, at størstedelen af ​​diskaktiviteten foregår i /home-mappen (for eksempel kontinuerlig læsning/skrivning til "Firefox-profilfiler").

instagram viewer

Denne proces anvender en webgrænseflade til at forenkle den ellers komplekse proces med at opsætte RAID. Opsætning vist her bruger Ubuntu MATE 22.04 og den samme proces kan anvendes på ethvert andet Pi OS.

Vælg den rigtige hardware i betragtning af strømtilgængeligheden

Der kræves mindst to diske til RAID-1. Disse diske kan enten være harddiske eller SSD'er. Når RAID-1 er sat op, spejles (klones) data på tværs af arrayet. Det betyder, at data skrives til begge diske og læses fra det hurtigste RAID-medlem.

USB til SATA-adaptere bruges til at tilslutte SSD'er til Pi. En SSD bruger omkring 5 watt strøm ved maksimalt forbrug. Da to af dem er nødvendige til RAID-1, skal strømtilgængeligheden medregnes.

2 (SSD'er) x 5 (Watt) = 10 Watt

En Pi 4, der kører på standard ur, forbruger omkring 6 watt og en overclocket Pi 4 ved fuld belastning forbruger tæt på 8 Watt.

Den officielle strømforsyning til en Raspberry Pi 4 er 5.1V, 3.0A.

5,1 (Volt) x 3 (Ampere) = 15,3 Watt

Sammenfattende er strømbehovet mere end adapterens maksimale output.

10 Watt + 8 Watt > 15,3 Watt

Pi'en skal også forsyne sit kølesystem. Så SSD'erne skal have strøm eksternt for at have frihøjde til stabil drift.

EN USB HDD/SSD Dual Dock passer ideelt til dette formål, den kan rumme både 2,5" og 3,5" diske. Den har sin egen strømadapter og trækker ikke strøm fra Pi'en.

SD'er til RAID, vælg modeller med ikke-identiske TBW'er, så begge diske har fejlpunkter med forskellige intervaller. Dette giver tilstrækkelig tid til at genopbygge RAID-arrayet og vil holde dine data intakte. Der er to USB 3.0-porte på Pi 4. Da docken kun bruger én af dem, er der stadig en ekstra port tilgængelig til at tilslutte en anden hurtig enhed.

Sæt diskene i docken og tænd for Pi. RAID-opsætning er let ved at bruge et værktøj kaldet "Webmin", dets grænseflade kan tilgås via browseren. Åbn terminalen (genvej: Ctrl+Alt+T) og brug disse kommandoer til at installere Webmin:

Rediger filen sources.list:

sudo nano /etc/apt/sources.liste

Tilføj denne linje (genvej: Ctrl+Shift+Indsæt):

deb http://download.webmin.com/download/repository sarge bidrag

Gem fil vha Ctrl+O, tryk på "Enter" og afslut vha Ctrl+X.

Download nøgle for at stole på kilden:

wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add

Opdater nye depoter:

sudo apt opdatering

Installer Webmin:

sudo apt installere webmin -y

Installer mdadm Software RAID-værktøj:

sudo apt installere mdadm -y

Installer diskhåndteringsværktøjet:

sudo apt installere gnome-disk-værktøj -y

Indstil en adgangskode til root-brugeren (for at administrere Webmin):

sudo su
passwd

Opdater, opgrader og genstart:

sudo apt opdatering && sudo apt upgrade -y && sudo genstart

Proces til at bygge RAID-1-arrayet

Åben Diske værktøj fra Menu > Præferencer. Du kan også bruge kommandoen:

gnome-diske

Det ville vise de nye diske, formatere begge.

Åbn webbrowseren og indtast denne URL:

https://localhost: 10000

Webmin kører på localhost ved port 10000. Da https bruges, og SSL-certifikatet ikke er installeret, vil browseren vise en advarsel. Det er sikkert at klikke Fremskreden og så Accepter risikoen og fortsæt.

Log ind med bruger som "root" og den adgangskode, du tidligere har indstillet til root. Først op, Opdater moduler. Når du er færdig, skal du udvide Hardware og vælg Linux RAID. Vælg fra rullemenuen RAID1 (spejlet) og klik på knappen Opret RAID-enhed på niveau.

Vælg de to diske ved at holde nede Ctrl nøgle. Skift Spring initialisering af enheder over. Dette fordi initialisering tager meget tid, mere end en time for hver 100 GB, og det er ikke nødvendigt at replikere tomme diske.

Klik skab. Webmin skulle svare om tre minutter med det nyoprettede array. Du kan derefter tjekke flere detaljer igennem /dev/md0. De to diske er vist som Partitioner i RAID og Filsystemstatus er Aktiv men ikke monteret.

Det nye RAID-array skal formateres, før det monteres. Dette kan gøres ved hjælp af Diske til venstre. Vælg RAID-1 Array og Formater partition.

Giv for eksempel et navn Data. Vælg alternativknappen Intern disk kun til brug med Linux-systemer (Ext4) og fremskridt med at formatere det.

Dette array skal automatisk monteres ved hver boot. Vælg Rediger monteringsindstillinger.

Skift Standardindstillinger for brugersession og klik Okay. Efter godkendelse ændrer denne proces filen "/etc/fstab".

Genstart, det monterede RAID-1-array vises som mappen "Data" i filstifinder.

Flyt Home Directory til RAID-1 Array

For at spejle vigtige data skal hjemmebiblioteket være på RAID-1-array. Det anbefales at lave en kopi i stedet for at flytte den, grunden er, at det vil hjælpe "RAID Rebuild" i fremtiden.

I terminalen:

dir /mnt

Kopiér navnet på RAID-beslaget, det ser ud som "6256d81c-c23c-42c4-aea3-d194466c6c33", og det er anderledes for dig. Erstat mappenavnet og brug denne kommando til at klone hjemmebiblioteket:

sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/

Få denne nye mappe til at montere som /home i stedet for den gamle:

sudo nano /etc/fstab

Find linjen /dev/disk... (normalt den sidste linje, siden du lige har monteret den) og skift monteringspunkt til "/home" som vist på skærmbilledet nedenfor.

Genstart, Pi's hjemmemappe er nu på RAID-1, og data spejles.

Raspberry Pi RAID-fejlgendannelsesmuligheder

I tilfælde af en RAID-fejl er der to tilgængelige muligheder for gendannelse og skal indstilles nu.

1) Monter det forringede array og genopbyg

Opret en ny fil:

sudo nano /etc/initramfs-tools/conf.d/mdadm

Inkluder dette indhold:

BOOT_DEGRADED=rigtigt

Dette vil montere RAID-arrayet, selvom en disk fejler. Hjemmemappe på det forringede array vil blive brugt.

2) Monter ikke det forringede array, men genopbyg

Gør intet, det forringede array monteres ikke ved opstart. Den gamle hjemmemappe vil blive brugt i stedet; tidligere kopierede du hjemmebiblioteket i stedet for at flytte det af denne grund. Nu vil det hjælpe med at genopbygge RAID-arrayet. Gå ikke i panik efter at have observeret manglende data i denne tilstand, husk at dette ikke er din egentlige hjemmemappe. Dine data er sikre på en anden disk og venter på at blive gendannet.

I tilfælde af at Webmin viser en fejlmeddelelse "mdadm: Kan ikke hente matrixoplysninger for /dev/md0."

Brug denne kommando til at starte arrayet:

sudo mdadm --kør /dev/md0

Genopbygning af arrayet i tilfælde af en fejl

Selvom det ikke er nødvendigt at replikere dette trin, er det godt at vide, at data kan gendannes i tilfælde af en diskfejl.

Simuleringsproces

Pi'en lukkes ned, og en disk fjernes. Pi'en tændes derefter, og Webmin åbnes. I Linux RAID, det Status vises nu som Inaktiv. Ved yderligere inspektion, kontrol /dev/md0 viser et degraderet array med kun én disk i RAID.

Dataene er intakte, men de er kun på én disk nu. RAID-arrayet skal genopbygges for at bevare dataene.

Pi'en lukkes ned, en ny tom HDD/SSD-disk indsættes i stedet for den gamle, og Pi'en tændes. Webmin er tilgået, tjekker /dev/md0 viser muligheder for at tilføje en ny disk til RAID-arrayet. Vælg den nye disk fra rullemenuen, og klik Tilføj partition.

Genopbygningen ville starte med det samme, varigheden afhænger af størrelsen på diskene. Det tager generelt en time for hver 100 GB (for SSD'er).

Det er vigtigt at beskytte din Pi's data

Med denne implementering er data sikrere, og Pi kan bruges som en daglig driver. På det seneste er Raspberry Pi'er flittigt brugt i industrielle applikationer, og nedetiden kan minimeres.

Du kan træffe et smart valg med udvalget af SSD'er. Producenter har lignende kapacitet SSD'er til forskellige prispunkter, forskellen er TBW (Total Bytes Written); den bedre model har normalt 50 % mere TBW. Når du bruger SSD'er til RAID, skal du vælge modeller med ikke-identiske TBW'er, så begge diske har fejlpunkter med forskellige intervaller. Dette giver tilstrækkelig tid til at genopbygge RAID-arrayet og vil holde dine data intakte.