Linux softwarematige RAID installatie met MDADM

UPDATE

Deze tutorial is geschreven met een debian 5.0 installatie. Debian 6.0 werkt ongeveer het zelfde dus deze tutorial is nog steeds bruikbaar maar de screenshots komen misschien niet meer overeen zoals verwacht!

Wat is een RAID installatie?

Door gebruik te maken van RAID zorg je ervoor date de up-time van een server verhoogt tegelijkertijd staat de data ook veiliger. Er zijn verschillende vormen van RAID.

  1. RAID 0: De data word over 1 of meerdere schijven verdeeld, hierdoor gaat zowel de lees als de schrijf snelheid naar boven. Als een van de schijven faalt is alle data verloren. Maar de server kan hierdoor wel dubbel zo snel naar zijn schijven schrijven en lezen.
  2. RAID 1: De schijven zijn een duplicaat van elkaar. Deze vorm van RAID is zeer duur maar wel de veiligste. De schrijf snelheid gaat niet naar boven omdat elke schijf de data moet schrijven. De leessnelheid gaat echter wel naar boven.
  3. RAID 5: Deze vorm van RAID is zowel veilig als goedkoop. Je hebt er wel minstens 3 schijven voor nodig. Als een van de schijven faalt, kan aan de hand van de 2 overige schijven alle data terug gezet worden. Indien er 2 of meerdere schijven tegelijk falen is er geen hoop meer voor de data.

Waar gaat deze tutorial over?

In deze tutorial ga ik een server installeren met RAID 1, ook ga ik uitleggen hoe we de boot record zodanig kunnen aanpassen dat de servers gewoon kunnen herstarten zonder problemen zelfs indien er een van de 2 schijven zou crashen.

Wat hebben we nodig?

dit hangt er vanaf of je een live systeem hebt of niet. Als je een fysieke server hebt, hebben we gewoon 2 harde schijven nodig in deze server. Anders gaan we gebruik maken van een virtuele machine. Dit kan je doen door gebruik te maken van bijvoorbeeld virtualbox

Het installeren van de Debian server in RAID 1

Zoals eerder uitgelegd is RAID 1 de veiligste oplossing voor belangrijke data. De RAID zoals wij hem hier gaan installeren noemt een softwarematige RAID, doordat we geen RAID controller gebruiken maar dit wel met software MDADM gaan nabootsen. Let wel op, dit kan soms lang duren. Voor 1 TB moet je toch algauw rekenen op 24 uur, daardoor raad ik je aan om voor deze eerste installatie kleinere schijven te gebruiken of alleszins kleinere partities.

Starten met installeren

Als we dit start scherm te zien krijgen, drukken we op tab, zo krijg je de lijn die je onder aan deze screenshot ziet. Hier voeg je “-linux26″ aan toe. (zonder “”).

Als je hierna op enter drukt start de Debian installatie.

Het volgende menu dat we te zien krijgen is de taal keuze. Ik koos voor een Engelse installatie omdat de meeste internationale handleidingen in het Engels zijn en het zo makkelijker kan zijn om problemen die je later tegenkomen kan op te lossen.

Ook de andere instellingen mag je naar je eigen keuze invullen. Het gaat hier dan om de taal, het land, de regio, en de toetsenbord instellingen.

Als naam voor de server hebben wij gekozen voor virtualTestserver1.

Als Domain name geef je best de FQDN in van de server, stel dat je domeinnaam toegepaste-informatica.net is dan zou de FQDN bijvoorbeeld server.toegepaste-informatica.net kunnen zijn.

Nadat we onze server een naam gegeven hebben en in een domein hebben gestoken, gaan we beginnen aan de schijf indeling (let op je hebt er 2 nodig).

We gaan onze schijven “Manueel” indelen. Als Debian zelf mag kiezen, “Guided” zal je geen RAID kunnen installeren.

In de onderstaande screenshot zie je onze 2 schijven staan. Ze hebben nog geen indeling dus dit moeten we eerst doen. Door gewoon op enter te drukken maak je dit aan.

Hier kiezen we uiteraard voor Yes.

Herhaal dit voor de 2de schijf. In de onderstaande afbeelding zie je het uiteindelijke resultaat dat je nodig hebt om verder te kunnen gaan.

Nu gaan we onze “Free Space” indelen. Wat wij nodig hebben is het volgende:

  • 2 x 8 GB ruimte (root systeem)
  • 2 x 0.6 GB ruimte (swap)

Hier onder staat uitgelegd hoe je de schijven moet indelen. We moeten alles zetten als RAID. Je mag hier dus nog niet bepalen of een schijf swap, ext3 of iets anders word.

We gaan dus als eerste een nieuwe partitie op onze server van 8 GB aanmaken.

Voor onze eerste partitie op onze eerste schijf kiezen we voor een grote van 8 GB.

Daarna moeten we bepalen wat voor “Formaat” onze partitie heeft. Hier kiezen we niet voor EXT3 maar voor “Physical volume for RAID”

Als we dat gedaan hebben gaan het 2de deel van onze harde schijf in een partitie indelen voor een grote van 584MB ook dit zetten we als “Physical volume for RAID” bij Use as.

De 2 bovenstaande stappen herhalen we ook voor onze 2de harde schijf. Als je dit gedaan hebt zou je het onderstaande resultaat moeten krijgen.

Je ziet hier 4 partities, 2 van 8 GB en 2 van, 584MB. Allemaal zijn ze van het type RAID.

Als volgende stap gaan we onze schijven in de RAID array stoppen. We kiezen nu voor de bovenste optie “Configure software RAID”

De server gaat ons vertellen dat voor we gebruik kunnen maken van de RAID we eerst de veranderingen die we net gedaan hebben moeten opslagen.

Hier kies je dus uiteraard voor Yes, anders kan je niet verder gaan.

We gaan een new MD device aanmaken.

We gaan een RAID1 device aanmaken.

We gaan in onze eerste RAID array 2 schijven gebruiken. (RAID 1 moet minimaal 2 schijven hebben).

In de volgende stap wordt er gevraagd of we een “Spare device” willen gebruiken. In deze RAID oplossing hebben wij dit niet gedaan. Maar u kan dit wel doen. Een Spare Device is een schijf die het overneemt het moment dat een van de andere faalt. De synchronisatie zal dan meteen beginnen in plaats van te wachten tot jij zelf een nieuwe schijf aanduidt. Indien je dus een server hebt die met super belangrijke data werkt kan je dit best aanzetten. Zo kan je voorkomen dat er ooit data verloren gaat.

Onze 2 actieve schijven zijn sda1 en sdb1 en sda2 en sda2 gecombineerd.

We herhalen dit dus voor de schijven sda1 & sdb1 EN sba2 & sdb2, het is belangrijk dat deze 4 schijven correct gekoppeld zijn. Daarna drukken we op Finish zoals je hier ziet.
Als je de schijven verkeerd probeert te koppelen zal MDADM je vertellen dat de grote van de schijven verschilt, als je dit verder zet kan je later grote problemen krijgen en zal je RAID oplossing wellicht falen.

Als je hier op Finish druk zal je zien dat de partitioner terug naar schijven gaat beginnen te zoeken.

Als je hier op “alt + F2″ drukt zal je in een nieuwe terminal komen. Druk hier op enter.

daarna kan je het commando:

cat /proc/mdstat ingeven

Hier kan je dan zijn dat de harde schijven nog aan het synchroniseren zijn. Afhankelijk van de grote van de schijven kan dit wel even duren.

Om terug te gaan geef je:

“alt + F1″ in

Als alles goed gegaan is zie je nu ongeveer de onderstaande screenshots. Zoals je kan zien zitten er 4 van onze schijven in RAID, Ook zijn er 2 schijven bijgekomen eentje van 8 GB en een van 589.9 MB

Als eerste gaan we onze schijf van 8 GIG indelen (ext3) en als root partitie zetten.

2 belangrijke instellingen hier

Use as: Ext3
Mount point: /
De rest is naar eigen keuze in te vullen.

Als je de 2 partities correct ingedeeld hebt zou je het onderstaande resultaat moeten zien.
De eerste partitie is een EXT3 en het “Mount Point” is /
De tweede partitie is een swap partitie.

We drukken op Finish en we krijgen de vraag van Debian of we zeker zijn dat we dit willen opslaan. Hier kiezen we uiteraard voor Yes.

Als je dezelfde stappen als hier boven doet kan je nog eens controleren of de schijven al volledige gesynchroniseerd zijn.

(Als je een fout melding krijgt mag je deze gewoon negeren en op continue drukken!)

Nadat de schijven geformatteerd zal het systeem beginnen met zichzelf te installeren.

Vanaf nu moet je de gegevens naar je eigen keuze invullen.

Het root wachtwoord is het wachtwoord voor het account root, root is het hoofd account van Linux, neem nooit een wachtwoord dat voor de hand ligt.
Mensen die dit wachtwoord hebben kunnen alles met je server doen!

De volledige naam van de gebruiker. In mijn geval “Yorkim Parmentier”

de username voor het account, ik koos hier voor “iemand”

hier vul je het wachtwoord in van het account.

Debian moet net zoals Windows soms updaten, om dit vlot te verlopen moet je hier configureren van waar Debian zijn bestanden moet gaan halen.

Als je een proxy gebruikt moet je deze hier invullen, aangezien ik in mijn netwerk geen gebruik maak van een proxy laat ik dit veld ook leeg.

Hier kan je ook kiezen wat je zelf invult. Ik duid meestal Yes aan omdat ik bereid ben om de Debian Community voorruit te helpen.

In het volgende venster kunnen we de onderdelen kiezen die we op onze server gaan installeren. Aangezien het om een server gaat installeren we enkel het “Standaard Systeem”.

Hierna zal de installatie van start gaan. Over ongeveer 10 minuten (afhankelijk van de snelheid van de server) zal de installatie klaar zijn.

Hier kiezen we voor Yes, Zonder boot loader kan het besturingssysteem niet starten.

De installatie van de server is voltooid. Wij zijn bijna klaar, we moeten nog enkele aanpassingen doen.

Onze server zal nu herstarten en voor de eerste keer starten.

Als de server gestart is log je uzelf in met de username root en het wachtwoord dat je hebt ingesteld.

Als je het commando in typt zal je alle schijven te zien krijgen die momenteel gekoppeld zijn.

Van het laatste deel zijn er momenteel geen screenshots genomen. Dit gaan wij zo snel mogelijk aanpassen!

cat /etc/fstab

df -h

RAID Array controleren

Om te zien of de RAID Array nog volledig in orde is gebruik je het commando

cat /proc/mdstat

Hier krijg je dan het onderstaande resultaat te zien.

Personalities : [raid0] [raid1] [raid5]
md0 : active raid1 sda1[0] sdb1[1]
240832 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
682688 blocks [2/2] [UU]
unused devices: none
Zoals je zelf wel ziet staat er bij de 2 RAID arrays dat alles in orde is.

Bootloader aanpassen

Als een van de 2 schijven crasht is het de bedoeling dat grub de andere start, anders zou het nut van onze RAID “weg” zijn. Om dit te doen moeten we nog een paar kleine aanpassingen maken.

vi /boot/grub/menu.lst
Als je dit doet, zal je zien dat dat er al een boot record bij staat. Hier gaan we er nog een 2de bij zetten, hd1 is bij mij de eerste schijf die grub gaat proberen, als dit mislukt gaat hij hd0 proberen te booten.
title Debian GNU/Linux, kernel 2.6.8-2-386 (hd1)
root (hd1,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md2 ro
initrd /initrd.img width=”80%”-2.6.8-2-386
savedefault
boot
title Debian GNU/Linux, kernel 2.6.8-2-386
root (hd0,0)
kernel /vmlinuz-2.6.8-2-386 root=/dev/md2 ro
initrd /initrd.img width=”80%”-2.6.8-2-386
savedefault
boot

We slaan dit bestand op. Nu het is niet zo omdat we dit er nu hebben ingezet dat grub ook op onze 2de schijf gaat starten als er iets mis gaat. Om dit te doen moeten we grub nog op onze 2de schijf installeren. In onze shell geven we het commando in.

grub

Gevolgd door
root (hd0,0)
setup (hd0)
root (hd1,0)
setup (hd1)
quit

Oke als we dit allemaal gedaan hebben kunnen we onze record eens testen door te herstarten en de verschillende mogelijkheden te proberen (alles zou moeten werken, als dit niet zo is zit je ergens met een configuratie fout)

Als alles goed gegaan is moeten we onze menu.lst nog een keer aanpassen, onder “defualt 0″ zetten we fallback 1


Zo vanaf nu is je server volledig in RAID geïnstalleerd.

Binnen kort gaan we een handleiding schrijven over schijven die falen bij een RAID installatie en hoe je ze kan vervangen. Ook over hoe we een falen van een schijf kunnen simuleren zodat we onze configuraties kunnen testen.

Comments are closed.