Het besturingssysteem van Raspberry Pi is geïnstalleerd op de SD-kaart of op een USB-schijf. Vanwege de beperkte schrijfcycli van flash-cellen op SD-kaarten, is hun betrouwbaarheid niet gegarandeerd. Harde schijven en SSD's presteren beter op betrouwbaarheid; de laatste gebruikt algoritmen voor slijtageniveaus om de levensduur van het apparaat te verlengen. Maar toch is het altijd riskant om gegevens op slechts één schijf te bewaren.
Het idee om gegevens te spiegelen met RAID-1
Om gegevensverlies bij een schijfstoring te voorkomen, RAID-1-gegevensspiegeling moet worden uitgevoerd. Het probleem is dat het instellen van RAID niet mogelijk is tijdens de installatiefase van het besturingssysteem op een Raspberry Pi.
Dit idee gaat over het instellen van RAID-1 Mirroring op twee USB SSD's, vervolgens het kopiëren van de homedirectory naar de RAID-partitie en configureren om deze te gebruiken als /home. Aangezien gebruikersgegevens zich in de homedirectory bevinden, kunnen gegevens volledig worden hersteld en kan RAID opnieuw worden opgebouwd in het geval van een enkele schijfstoring.
Het besturingssysteem blijft nog steeds op de SD-kaart (of een andere SSD). Als de besturingssysteemschijf defect raakt, zijn de belangrijke gegevens nog steeds beschikbaar op de RAID-1-array. Ook gaat de OS-schijf langer mee omdat er minder schijfdruk is. Dit komt omdat het grootste deel van de schijfactiviteit plaatsvindt in de map /home (bijvoorbeeld continu lezen/schrijven naar "Firefox-profielbestanden").
Dit proces maakt gebruik van een webinterface om het anders complexe proces van het instellen van RAID te vereenvoudigen. Opstelling hier getoond gebruikt Ubuntu MATE 22.04 en hetzelfde proces kan worden toegepast op elk ander Pi OS.
Kies de juiste hardware rekening houdend met de beschikbaarheid van stroom
Er zijn minimaal twee schijven vereist voor RAID-1. Deze schijven kunnen harde schijven of SSD's zijn. Zodra RAID-1 is ingesteld, worden gegevens gespiegeld (gekloneerd) over de array. Dit betekent dat gegevens naar beide schijven worden geschreven en worden gelezen van het snelste RAID-lid.
USB naar SATA-adapters worden gebruikt om SSD's aan de Pi te bevestigen. Een SSD verbruikt bij piekgebruik ongeveer 5 Watt aan stroom. Aangezien er twee nodig zijn voor RAID-1, moet rekening worden gehouden met de beschikbaarheid van stroom.
2 (SSD's) x 5 (Watt) = 10 Watt
Een Pi 4 die op de standaardklok draait, verbruikt ongeveer 6 Watt en een overgeklokte Pi 4 verbruikt bij volledige belasting bijna 8 Watt.
De officiële voeding van een Raspberry Pi 4 is 5.1V, 3.0A.
5,1 (volt) x 3 (ampère) = 15,3 watt
Samenvattend, de stroombehoefte is meer dan de maximale output van de adapter.
10 Watt + 8 Watt > 15,3 Watt
De Pi moet ook zijn koelsysteem van stroom voorzien. De SSD's moeten dus extern worden gevoed om voldoende hoofdruimte te hebben voor een stabiele werking.
EEN USB HDD/SSD dubbel dock ideaal voor dit doel, het kan zowel 2,5" als 3,5" schijven bevatten. Het heeft zijn eigen stroomadapter en zal geen stroom halen uit de Pi.
SD's voor RAID, kies modellen met niet-identieke TBW's zodat beide schijven met verschillende tussenpozen storingspunten hebben. Dit geeft voldoende tijd om de RAID-array opnieuw op te bouwen en houdt uw gegevens voor altijd intact. Er zijn twee USB 3.0-poorten op de Pi 4. Omdat het dock er maar één gebruikt, is er nog een vrije poort beschikbaar om een ander snel apparaat aan te sluiten.
Sluit de schijven aan op het dock en schakel de Pi in. RAID-installatie is eenvoudig met behulp van een tool genaamd "Webmin", de interface is toegankelijk via de browser. Open de terminal (snelkoppeling: Ctrl+Alt+T) en gebruik deze opdrachten om Webmin te installeren:
Bewerk sources.list-bestand:
sudo nano /etc/apt/sources.lijst
Voeg deze regel toe (snelkoppeling: Ctrl+Shift+Invoegen):
deb http://download.webmin.com/download/repository sarge contrib
Bestand opslaan met Ctrl+O, druk op "Enter" en sluit af met Ctrl+X.
Downloadsleutel om de bron te vertrouwen:
wget -q -O- http://www.webmin.com/jcameron-key.asc | sudo apt-key add
Update nieuwe opslagplaatsen:
sudo apt update
Webmin installeren:
sudo apt installeren webmin -y
Installeer mdadm Software RAID-hulpprogramma:
sudo apt installeren mdadm -y
Installeer het hulpprogramma voor schijfbeheer:
sudo apt installeren gnome-disk-utility -y
Stel een wachtwoord in voor de rootgebruiker (om Webmin te beheren):
sudo su
passwd
Update, upgrade en herstart:
sudo apt update && sudo apt upgrade -y && sudo reboot
Proces om de RAID-1-array te bouwen
Open Schijven gereedschap van Menu > Voorkeuren. Je kunt ook het commando gebruiken:
gnome-schijven
Het zou de nieuwe schijven tonen, beide formatteren.
Open de webbrowser en voer deze URL in:
https:// lokale host: 10000
Webmin draait op localhost op poort 10000. Omdat https wordt gebruikt en SSL-certificaat niet is geïnstalleerd, geeft de browser een waarschuwing weer. Het is veilig om te klikken Geavanceerd en dan Accepteer het risico en ga verder.
Log in met gebruiker als “root” en het wachtwoord dat je eerder voor root hebt ingesteld. Als eerste, Modules vernieuwen. Als u klaar bent, breidt u uit Hardware en selecteer Linux RAID. Selecteer in de vervolgkeuzelijst RAID1 (gespiegeld) en klik op de knop Maak RAID-apparaat van niveau.
Selecteer de twee schijven door de. ingedrukt te houden Ctrl sleutel. Schakelaar Initialisatie van apparaten overslaan. Dit omdat initialisatie veel tijd kost, meer dan een uur voor elke 100 GB, en het niet nodig is om lege schijven te repliceren.
Klik Creëren. Webmin zou binnen drie minuten moeten reageren met de nieuw gemaakte array. U kunt dan meer details bekijken via /dev/md0. De twee schijven worden weergegeven als: Partities in RAID en de Status van bestandssysteem is Actief maar niet gekoppeld.
De nieuwe RAID-array moet worden geformatteerd voordat deze wordt gemonteerd. Dit kan worden gedaan met behulp van Schijven aan de linkerkant. Selecteer de RAID-1-array en Partitie formatteren.
Geef bijvoorbeeld een naam Gegevens. Selecteer het keuzerondje Interne schijf alleen voor gebruik met Linux-systemen (Ext4) en ga verder met het formatteren.
Deze array moet bij elke opstart automatisch worden gemount. Selecteer Koppelingsopties bewerken.
Schakelaar Standaardinstellingen gebruikerssessie en klik Oké. Na authenticatie wijzigt dit proces het bestand "/etc/fstab".
Start opnieuw op, de gekoppelde RAID-1-array verschijnt als de map "Data" in de bestandsverkenner.
Verplaats de basismap naar RAID-1-array
Om belangrijke gegevens te spiegelen, moet de homedirectory zich in de RAID-1-array bevinden. Het wordt aanbevolen om een kopie te maken in plaats van deze te verplaatsen, omdat dit in de toekomst zal helpen bij "RAID Rebuild".
In de terminal:
dir / mnt
Kopieer de naam van de RAID-mount, het ziet eruit als "6256d81c-c23c-42c4-aea3-d194466c6c33" en het is anders voor jou. Vervang de directorynaam en gebruik deze opdracht om de homedirectory te klonen:
sudo rsync -av /home/* /mnt/6256d81c-c23c-42c4-aea3-d194466c6c33/
Maak deze nieuwe map om te mounten als /home in plaats van de oude:
sudo nano /etc/fstab
Vind de lijn /dev/disk... (meestal de laatste regel sinds je hem zojuist hebt aangekoppeld) en verander het koppelpunt in "/home" zoals weergegeven in de onderstaande schermafbeelding.
Start opnieuw op, de thuismap van de Pi staat nu op RAID-1 en de gegevens worden gespiegeld.
Herstelopties voor Raspberry Pi RAID-fout
In het geval van een RAID-storing zijn er twee beschikbare opties voor herstel en deze moeten nu worden ingesteld.
1) Monteer de gedegradeerde array en herbouw
Maak een nieuw bestand aan:
sudo nano /etc/initramfs-tools/conf.d/mdadm
Voeg deze inhoud toe:
BOOT_DEGRADED=WAAR
Hierdoor wordt de RAID-array geactiveerd, zelfs als een schijf uitvalt. De thuismap op de gedegradeerde array wordt gebruikt.
2) Mount de gedegradeerde array niet, maar herbouw
Doe niets, de gedegradeerde array wordt niet geactiveerd bij het opstarten. In plaats daarvan wordt de oude thuismap gebruikt; eerder kopieerde u de homedirectory om deze reden in plaats van deze te verplaatsen. Nu zal het helpen om de RAID-array opnieuw op te bouwen. Raak niet in paniek na het waarnemen van ontbrekende gegevens in deze modus, onthoud dat dit niet uw werkelijke thuismap is. Uw gegevens staan veilig op een andere schijf en wachten op herstel.
In het geval dat Webmin een foutmelding toont "mdadm: Cannot get array info for /dev/md0."
Gebruik deze opdracht om de array te starten:
sudo mdadm --loop /dev/md0
De array opnieuw opbouwen in het geval van een storing
Hoewel het niet nodig is dat u deze stap repliceert, is het goed om te weten dat gegevens kunnen worden hersteld in het geval van een schijfstoring.
Simulatieproces
De Pi wordt afgesloten en één schijf wordt verwijderd. De Pi wordt vervolgens ingeschakeld en Webmin wordt geopend. In Linux RAID, de Toestand wordt nu weergegeven als Inactief. Bij nadere inspectie, controle /dev/md0 toont een gedegradeerde array met slechts één schijf in RAID.
De gegevens zijn intact, maar staan nu nog maar op één schijf. De RAID-array moet opnieuw worden opgebouwd om de gegevens te behouden.
De Pi wordt afgesloten, een nieuwe lege HDD/SSD-schijf wordt in de plaats van de oude geplaatst en de Pi wordt ingeschakeld. Webmin is geopend, controleren /dev/md0 toont opties om een nieuwe schijf aan de RAID-array toe te voegen. Selecteer de nieuwe schijf in de vervolgkeuzelijst en klik op Partitie toevoegen.
Het opnieuw opbouwen zou onmiddellijk beginnen, de duur hangt af van de grootte van de schijven. Het duurt over het algemeen een uur voor elke 100 GB (voor SSD's).
Het beschermen van de gegevens van uw Pi is essentieel
Met deze implementatie zijn data veiliger en kan de Pi als dagelijkse driver worden gebruikt. De laatste tijd worden Raspberry Pi's veelvuldig gebruikt in industriële toepassingen en kan downtime worden geminimaliseerd.
Met de keuze aan SSD's maak je een slimme keuze. Fabrikanten hebben SSD's met vergelijkbare capaciteit in verschillende prijsklassen, met als verschil TBW (Total Bytes Written); het betere model heeft meestal 50% meer TBW. Kies bij het gebruik van SSD's voor RAID modellen met niet-identieke TBW's, zodat beide schijven met verschillende tussenpozen storingspunten hebben. Dit geeft voldoende tijd om de RAID-array opnieuw op te bouwen en houdt uw gegevens voor altijd intact.