gagol.eu

Malmö 21.01.2013


RAID

Jag kommer att skapa RAID5 och utdela den via nätverk.
Använder VirtualBox, Debian GNU/Linux som server och Ubuntu som
klienter. Maskiner befinner sig i ett separat virtuell nätverk, trafik till
Internet sker via andra virtuell maskin med pfsense - det är en router baserad
på FreeBSD. Pfsense har också DHCP server som tilldelar IP-adresser till mina
labb-maskiner.


Maskiner är i separerat nätverk virbr0



Pfsense har också webbgränssnitt, jag använder commandline.

Mina virtuella diskar har storlek 4GB var, för att testa funktionalitet
och data integritet skapar jag en fil på diskar i RAID med storlek 6GB och md5sum.

dd if=/dev/zero of=file bs=512 count=12288000
md5sum file > file.md5
md5sum -c file.md5
På Debian.
Kollar tillgängliga diskar
fdisk -l
Använder program mdadm. Syntax:
mdadm -C {$dev_RAID} --level={$typ_av_RAID} --raid-devices={$antal_enheter} {$enheter}

    -C, --create - skapar en ny RAID enhet.

    -l, --level - sätta typ av RAID: linear, raid0, 0, stripe, raid1, 1, mirror, 
	raid4, 4, raid5, 5, raid6, 6.

    -n, --raid-devices - antal diskar i RAID

    -x, --spare-devices - Antalet reserv (eXtra)-enheter i RAID. Reservdiskar kan
	 också lägga till och ta bort senare.

    -v --verbose - "pratsam" läge. 

    --auto=yes - automatiskt skapa enheter i /dev/ för mdadm (vanligtvis används
	 med udev).
Mitt system befinner sig på den första disken. Man kan installera systemet bara
på RAID1, det finns ett sätt att migrera från enskild disk till RAID1, men det
är ganska komplicerad. Det är enklare att skapa RAID under system installation,
det finns optioner i system installatör.
Skapar RAID5 med 3 diskar - totalt 8GB
mdadm -C -v /dev/md0 -l 5 -n 3 /dev/sdb /dev/sdc /dev/sdd


Array skapades och synkroniserades.

Man kan kolla status

cat /proc/mdstat
eller
mdadm --detail /dev/md0


RAID är färdigt.

Om en disk saknas vid system start, får man varning: Degraded array
Så bör man montera en extra disk innan system startar. Synkronisering sker senare.
Om man har reserv disk så synkronisering sker automatiskt strax efter system start.


Root får email meddelande om Degraded array.

Adderar reserv disk

mdadm --add /dev/md0 /dev/sde


Reservdisk har (S) märke för "spare".

Använder reserv disk i RAID. Nu har jag RAID5 med 4 diskar - 12GB.

mdadm --grow /dev/md0 -n 4


RAID blir större.

AoE

ATA over Ethernet (AOE) är ett nätverksprotokoll som utvecklats av Brantley Coile
Company, konstruerad för enkel, högpresterande tillgång SATA lagringsenheter över
Ethernet-nätverk. Det används för att bygga lagringsnätverk (SAN) med låg kostnad,
med användning av standard teknik.
AoE körs på lager 2 OSI-modellen, använder inte Internet Protocol (IP). Genom att
använda AoE har klienten tillgång till en fjärrdisken som om den var direkt
ansluten. Det finns inga AoE-specifika mekanismer för lösenord eller kryptering.


aoe - iscsi jämföring.

På server - Debian - sida:

apt-get install vblade
Debian är en dedikerad server för lagring så använder jag vblade-persist kommandot.
Syntax är:
shelf slot ethif device
Skapar utdelning
vblade-persist setup 0 1 eth0 /dev/md0


Skapar shelf 0 och slot 1.

Vill automatiskt start med systemet efter reboot

vblade-persist auto 0 1
Startar första gång
vblade-persist start 0 1
På klient - Ubuntu - sida:
Installerar verktyg
apt-get install aoetools
laddar modul
modprobe aoe
om behövs det permanent
echo "aoe" >> /etc/modules


Modul aoe.

Kör kommandot:

aoe-discover
och sen
aoe-stat


Fjärr enhet är upptäckt. Det är innan adderade jag den fjärde disken.

Innan börja montera enheten, måste den ha ett filsystem, så formaterar jag enheten
till ext.3 filsystem

mkfs.ext3 /dev/etherd/e0.1


Enheten måste formatera.

senare skapar mount directory och monterar

mount /dev/etherd/e0.1 /mnt/blade
Jag vill ha den enhet monterad permanent, men det fungerar inte med /etc/fstab,
så skriver jag kommandot till /etc/rc.local.

Jag skapar en test fil.



Adderar fjärde disken till RAID och kollar integritet.



Maskiner behöver inte IP-adresser, pfsense är off.

Jag har implementerat AoE hemma. Jag har Ubuntu som server, i Ubuntu vblade-persist är i ett separat packet.
usage: ./vblade <shelf> <slot> <ethn> <device>
På server sida:

# apt-get install vblade
# fdisk -l
# vbladed 1 1 eth0 /dev/sda2
På klient sida:
# apt-get install aoetools
# modprobe aoe
# aoe-discover
# aoe-stat
# mount /dev/etherd/e1.1 /home/pawel/Desktop/disk/
# echo "aoe" >> /etc/modules