Inleiding
Ik ben aan het kijken voor een nieuwe server voor thuis, de huidige server barst inmiddels uit zijn voegen en de disk ruimte word ook wat krap. Op dit moment zitten er 2 disken in van 250GB in een RAID1 opstelling en heb nog 2 USB disken van 1TB aan in gebruik voor opslag, ik wil het meteen goed aan pakken en ben van plan in het nieuwe systeem in eerste instantie 4 disken van 2TB in te zetten, ik wil dit niet meer in RAID1 draaien maar op RAID5. Heb geen zin om een dure hardware raid contoler aan te schaffen software raid is voor mij voldoende. tegenwoordig zou je die ook moeten kunnen uitbreiden. Dus vooruitlopend op de nieuwe hardware eerst maar even wat testje met een RAID5 systeem.
Test Opstelling
Omdat ik de hardware nog niet heb ga ik testen op een virtual machine, Ik maak hier voor gebruik van KVM, maar je kan dit zelfde natuurlijk ook doen met andere virtualisatie software zoals (VMWARE, Virtualbox, xen ….) het OS wat ik gebruik is ubuntu 9.10 (karmic) je zou het ook met andere Linux distributie kunnen doen. de installatie schermen zien er misschien iets anders uit maar de theorie er achter blijft het zelfde.
Mijn virtual machine krijgt 1 CPU, 512Mb memory, 4 disken en netwerk aansluiting. De disken zijn 5GB groot dat is voor het test systeem ruim voldoende. met 4 disken in RAID5 krijg je dus ongeveer een 15GB installatie device. De installatie vind plaats dmv van een PXE boot, maar je kan het natuurlijk ook vanaf CD/DVD doen.
Disk Indeling
Het systeem word ingericht met LVM (Logical Volume Manager) de boot loader(grub) kan niet binnen LVM lezen daarom hebben we ook een extra filesysteem nodig wat buiten de LVM ligt (met de komst van grub2 is het wel mogenlijk om /boot binnen lvm te leggen). dat is /boot. Verder kan grub niet omgaan met /boot op RAID5 dus gebruiken we voor /boot RAID1 dat is niet zo’n probleem want /boot word alleen gebruikt tijdens het starten van het systeem, maar we verliezen wel op de overige disken ongeveer 100MB alhoewel verliezen, je kan deze ruimte uiteraard wel gebruiken in je systeem voor andere filesystemen of eventueel als 3 RAID device (RAID1). Mijn test systeem heeft 4 disken. ik maak op iedere disk 2 partities, aan het begin een kleine primaire partitie van 100MB voor /boot, zet de boot flag aan, de andere partitie is ook primair en beslaat de rest van de disk. de 2 kleine partities van de eerste 2 disken maak ik een RAID1 device van en van de 4 grote maak ik een RAID5 device. op het RAID1 device leg ik een filesysteem. Op het RAID5 Device plaats ik LVM, binnen LVM maak ik voor het test systeem 2 filesystemen / en /home, verder komt swap ook binnen LVM te liggen. De reden dat ik swap binnen lvm gebruik en niet op een aparte partitie is dat als ik de raid set in de toekomt uitbreid wil ik niet dat swap ook automatische word of dat ik daar ruimte aan verlies.
Hier boven een grafische voorstelling van hoe de disk ruimte is ingedeeld.
De Installatie
Hier vind je de installatie zoals ik die uitgevoerd heb via de Installer van Ubuntu. op andere distributies ziet het er mischien iets anders uit maar het idee blijft het zelfde. Ik ga er verder van uit dat als je met RAID aan de gang gaat je al vaker een installatie hebt gedaan, dus ik ga hier niet het hele installatie process beschrijven. Je kan het aanmaken van de storage eigenlijk in 4 hoofdgroepen verdelen.
- Aanmaken partities
- Aanmaken raid devices
- Opzetten Logical Volume Manager
- Creeeren van filesystemen
Partition
Door loop het installatie proces tot dat je bij “Partition disk” komt. |
|
Ga op de eerste disk staan en druk enter
je ziet hier 4 disken omdat ik gebruik maak van KVM (virtio block devices) heten de disken bij mij vda, vdb enz. deze namen kunnen afwijken, de namen zijn afhankelijk van de interface van de disk. Op deze disken maken we dus partities aan. ik maar gebruik van LVM op RAID5 voor alle filesystemen en het swap device. en omdat de bootloader grub niet kan omgaan met booten van RAID5 en lvm maak ik een extra /boot partitie aan op RAID1 en houdt deze ook buiten LVM. Ik maak dus 2 partities aan op ierdere disk. |
|
Bij de eerste disk staat nu de vrije ruimte. als je al partities hebt verwijder deze dan eerst. Ga op de vrije ruimte staan en druk enter. |
|
Maak een nieuwe partitie aan. |
|
Vul de size in voor de eerste partitie, deze hoeft niet groot te zijn omdat hij voor /boot word gebuikt. ik maak mijn /boot meestal zo’n 100MB, dat is ruim voldoende om een aantal kernels in plaatsen. |
|
het volgende scherm kiezen we voor primary partition. |
|
Vevolgens word gevraagd waar de partitie moet beginnen. kies voor aan het begin van de disk. |
|
Dan krijgen we de keus om op te geven van welk type de partitie moet zijn. omdat het /boot moet worden en die willen we op een RAID1 device plaatsen kiezen we voor “Physical volume for RAID” |
|
Bootable flag: on. De eerste paritie kan aangemaakt worden, kies “Done setting up the partition” |
|
Je komt nu weer op het scherm met de disken en zult daar zien dat er een partitie is en vrije ruimte belangrijk is dat het type op RAID staat. Ga nu op de vrije ruimte staan en we herhalen bovenstaande stappen voor de 2de partitie. |
|
Voor de 2de partitie alloceren we alle overgebleven ruimte. ook hier maken we een primaire partitie van en we hoeven niet te booten van deze partitie dus “Bootable flag: 0ff”. Ook deze partitie is weer van het type RAID.Alle bovenstaan de stappen herhalen we voor alle 4 de disken. je krijgt dus op alle 4 de disken de zelfde partitie layout. |
Configure Software RAID
We hebben nu alle partities aangemaakt en gaan nu de RAID sets (2 stuks) maken. Kies de optie “Configure software RAID” |
|
Schrijf partitie informatie naar disk
Je hebt wel partities aangemaakt maar deze staan nog niet op de disk. Je moet dus eerst alle wijzigingen naar de disken weg schrijven. Zoals het scherm ook aangeeft mag je als je de RAID sets heb geconfigureerd geen wijzigingen meer aanbrengen aan de onderliggende partities. Kies in dit scherm voor “YES” |
|
In het volgende scherm gaan we een RAID (md device maken) kies “Create MD device” |
|
In het volgende scherm kan je kiezen wat voor een RAID device het moet worden. Het eerste RAID device is md0 deze word voor /boot en we kiezen hier dus RAID1 (plaatje geeft andes aan ben vergeten een screenschot te maken)Het volgende scherm (ook geen screenshot) word er gevraagd uit hoeveel partities de raid set bestaat. dit nummer is de som van zowel de active partities als de spare partities. voor RAID1 is het dus minimaal 2 active. kies hier voor 2 als je nog spare wilt hebben kan je 3 invullen (partities hebben we toch over). ik heb niet voor spare gekozen. omdat ik als het systeem actief is nog wat wil testen met RAID binnen een actief OS.
Het volgende scherm (ook geen screenshot) geef je het aantal spare disken op, in mijn geval dus 0. |
|
In dit scherm geef je alleen de active partities op die je wilt gebruiken. We zijn met /boot bezig en kiezen voor de eerste partitie op disk 1 en op disk 2. Als je ook voor spare’s disken hebt gekozen dan moet je in het volgende scherm de andere, 1 of 2 aangeven. De RAID set word nu aangemaakt. |
|
We maken nog een extra RAID set aan dus hebben weer voor “Create MD device” gekozen. Vervolgens kiezen we voor RAID5. |
|
Ook hier moeten we opgeven uit hoeveel devices de RAID set bestaat, voor RAID 5 heb je minimaal 3 devices nodig. Je kan ook 1 spare device opgeven. Mijn RAID 5 set bestaat uit 4 active devices ik gebruik geen spare device. Ik vul hier dus 4 in.Ik gebruik devices van ongeveer 5G voor mijn RAID5 set je verliest altijd 1 device aan parity je hebt dus N-1 aan vrij ruimte, Waar N het totaal aantal beschikbare devices is. In mijn geval is N dus 4 en de effectieve beschikbare ruimte is dus 3 * 5GB = 15GB |
|
In dit scherm geef je het aantal spare devices op in mijn geval 0. |
|
Nu moeten we alleen nog opgeven welke devices we willen gebruiken voor de RAID5 set. we kiezen hier de 4 overgebleven devices. Omdat we op hebben gegeven dat we geen spare device gebruiken word deze vraag ook niet gesteld. |
|
We hebben nu alle RAID sets aangemaakt dus kunnen dit stuk ook afsluiten. |
Create Filesystem /boot
De volgende stap is het aanmaken van het /boot filesysteem, deze komt rechtstreeks op het RAID device (md0) liggen.Ga onder de regel “RAID1 device #0 – 98.6 MB Software RAID device” staan en druk op enter. |
|
Je krijgt nu de keus om een filesysteem te maken. We kiezen voor een Ext4 filesystem, mount point is /boot. Ik zet er ook meestal een label op BOOT, dit is optioneel. de rest laat ik standaard.Als je alles hebt ingesteld ziet het scherm er uit zoals hier naast. |
Logical Volume Manager Instellen
Het eerste filesysteem is aangemaakt (/boot) de overige filesystemen worden binnen LVM geregeld, inclusief swap. Ik vind het zo ie zo prettig om met LVM te werken maar het heeft ook als voordeel dat als we de raid set uitbreiden het allemaal wat eenvoudiger gaat. Kies dus voor de optie “Configure the logical Volume Manager” |
|
Voor dat we verder kunnen moeten we eerst de hier voor gemaakt raid device en filesysteem weg schrijven naar disk. kies “YES” |
|
Voordat we LV’s (Logical Volumes) kunnen aanmaken zullen we eerst een VG (Volume Group) moeten aanmaken. Kies “Create Volume Group” |
|
Kies een naam voor de VG, Je mag zelf een naam verzinnen ik houd het voor nu standaard en gebruik VG00 |
|
In het volgende scherm geef je aan welke fysieke device er moet worden toegekend aan de VG. We kiezen hier voor “/dev/md1” |
|
De VG is nu aangemaakt nu kunnen we LV’s gaan aanmaken. |
|
In welke VG willen we de LV’s aanmaken? we hebben nog maar 1 VG dus kiezen we VG00. |
|
Hoe gaan we de LV noemen? Normaal gesproken maak ik voor een server een aantal verschillende LV/filesystemen aan, afhankelijk van de taken. Maar in deze test gebruik ik er maar 3 de eerste is voor het root filesysteem. de 2de is voor de swap space en de 3de zou niet nodig zijn maar om toch een extra LV/filesysteem te hebben /home ook maar apart.De eerste LV noemen we root, 2de LV is voor swap, die noemen we swap en de 3de word home |
|
In het Volgende scherm geef je op hoe groot de LV gaat worden. omdat alles in / word geïnstalleerd maak ik die 10G groot. swap maken we 1G en de rest voor /home. |
|
Als we dus 3 LV hebben aangemaakt zal het laatste scherm er dus zoals dit scherm uit zien. |
Create Filesystemen binnen LVM
We gaan nu filesystemen (/ en /home) aan maken op de zojuist gecreëerde LV’s ga iederkeer op de regel met de size staan. en druk enter. deze stappen doen we dus 1 keer voor / en een keer voor /home |
|
We vullen alles weer in zoals we dat eerder gedaan hebben, we kiezen weer voor ext4, geven het mount punt op (/ en /home) eventueel weer een LABEL opgeven. |
|
Voor het swap device doen we eigenlijk het zelfde maar hier kiezen we niet voor ext4 maar voor het type “swap area” |
|
Het is een hele lijst inmiddels maar het overzicht moet er ongeveer zo uit zien. |
|
Als alles klaar is krijg je nog de mogelijkheid om aan te geven wat er moet gebeuren mocht er een disk faillure zijn. je kan het zo instellen dat het systeem niet meer opstart op het moment dat er een disk stuk is. ik wil dit niet dus kies voor “YES” gewoon opstarten. |
|
Hier word gevraagd of je de laatst wijzigingen wil wegschrijven naar disk, “Yes” dus. |
Het hele disk gebeuren is nu klaar doorloop de rest van de installatie en je hebt als alles goed gaat een werkend linux systeem met een software RAID 5. in een andere document zal ik beschrijven hoe je het 1 en andere kan controleren, en eventuele problemen kunt oplossen.
Recente reacties