Wstęp
Jeśli posiadamy 2 dyski o zbliżonych parametrach, to możemy się pokusić o stworzenie RAID-a 0 (identyczne parametry nie są konieczne, po prostu RAID sam spowolni szybki dysk, by dopasował się do dysku wolniejszego).
Przez takie rozwiązanie uzyskujemy zwiększenie przepustowości danych a wielkości obu dysków są sumowane.
Jak wiadomo jest to łakomy kąsek, więc czemu nie zyskac podwojenia transferów dysków
Są też jednak zagrożenia, jeżeli jeden z dysków zostanie uszkodzony to tracimy dane z obu.
Po tym krótkim wstępie zapraszam do właściwego HOWTO:
1.Odpalamy sobie livecd i przechodzimy do partycjonowania dysków.
(programowy RAID 0 polega na lączeniu partycji obu dysków w jedną macierz).
Gentoowski livecd zawiera pakiet o nazwie raidtools, który jest niezbędny do utworzenia macierzy RAID.
Jeśli korzystacie z innych livecd, to należy sie upewnić że owe livecd ten pakiet zawiera.
Akurat posiadam 2 identyczne dyski SATA i dlatego podzieliłem je też identycznie (co nie jest konieczne).
Do partycjonowania polecam cfdisk, oto moje partycje na dysku sda:
Code: Select all
Name Flags Part Type FS Type [Label] Size (MB)
--------------------------------------------------------------------------------------------------
sda1 Primary Linux XFS 98,71
sda5 Logical Linux raid autodetect 10001,95
sda6 Logical Linux swap 98,71
sda7 Logical Linux raid autodetect 10001,95
sda8 Logical Linux raid autodetect 10001,95
sda9 Logical Linux raid autodetect 39999,54
sda3 Boot Primary W95 FAT32 (LBA) 11753,93
Code: Select all
Name Flags Part Type FS Type [Label] Size (MB)
--------------------------------------------------------------------------------------------------
sdb1 Boot Primary Linux 98,71
sdb5 Logical Linux raid autodetect 10001,95
sdb6 Logical Linux swap 98,71
sdb7 Logical Linux raid autodetect 10001,95
sdb8 Logical Linux raid autodetect 10001,95
sdb9 Logical Linux raid autodetect 39999,54
sdb10 Logical W95 FAT32 11753,93
Ważne jest by partycje, które będą łączone w RAID 0 miały oznaczony za pomocą cfdisk-a typ FD Linux raid autodetect.
W przeciwnym wypadku gotowy system po zbotowaniu nie zamontuje głównego systemu plików "/".
2.Nasŧępnie musimy załadować moduł raida
Code: Select all
modprobe md
Code: Select all
touch /etc/raidtab
Code: Select all
# cat /etc/raidtab
# /
raiddev /dev/md0
raid-level 0
nr-raid-disks 2
chunk-size 32
persistent-superblock 1
device /dev/sda5
raid-disk 0
device /dev/sdb5
raid-disk 1
# /home
raiddev /dev/md1
raid-level 0
nr-raid-disks 2
chunk-size 32
persistent-superblock 1
device /dev/sda7
raid-disk 0
device /dev/sdb7
raid-disk 1
# /portage
raiddev /dev/md2
raid-level 0
nr-raid-disks 2
chunk-size 32
persistent-superblock 1
device /dev/sda8
raid-disk 0
device /dev/sdb8
raid-disk 1
# /ftp
raiddev /dev/md3
raid-level 0
nr-raid-disks 2
chunk-size 32
persistent-superblock 1
device /dev/sda9
raid-disk 0
device /dev/sdb9
raid-disk 1
opcja
Code: Select all
raiddev /dev/md*
Code: Select all
persistent-superblock 1
device /dev/sda*
raid-disk 0
device /dev/sdb*
5. po poprawnej edycji /etc/raidtab przechodzimy do stworzenia rzeczywistego RAID-a 0.
Code: Select all
mkraid /dev/md0
mkraid /dev/md1
....itd w zależności ile zrobiliśmy urządzeń w /etc/raidtab
Code: Select all
mkfs.xfs /dev/md*
7.Gdy już mamy urządzenia możemy spokojnie instalować system jak zwykle czyli zacząć od podmontowania dysków, w tym przypadku macierzy RAID
Code: Select all
mont /dev/md* /mnt/gentoo
Code: Select all
cp /etc/raidtab /mnt/gentoo/etc/raidtab
Opisze to na przykladzie kernela 2.6.*
Code: Select all
Device Drivers --->
Multi-device support (RAID and LVM) --->pport (RAID and LVM) --->
gdzie zaznaczamy koniecznie na stałe:
[*] Multiple devices driver support (RAID and LVM)
<*> RAID support
< > Linear (append) mode
<*> RAID-0 (striping) mode
< > RAID-1 (mirroring) mode
< > RAID-4/RAID-5 mode
< > RAID-6 mode (EXPERIMENTAL)
< > Multipath I/O support
< > Device mapper support
Code: Select all
emerge sys-fs/raidtools
o to mój /etc/fstab
Code: Select all
cat /etc/fstab
/dev/md0 / xfs noatime 0 1
/dev/sda1 /boot xfs noatime 0 2
/dev/sda6 none swap sw 0 2
/dev/sdb6 none swap sw 0 2
/dev/md1 /home xfs noatime 0 2
/dev/md2 /portage xfs noatime 0 2
/dev/md3 /ftp xfs noatime 0 2
Code: Select all
cat /boot/grub/grub.conf
default 0
timeout 10
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo Linux (RAID)
root (hd0,0)
kernel /boot/bzImage root=/dev/md0 vga=791
dla przykladu:
Code: Select all
hdparm -t /dev/md0
/dev/md0:
Timing buffered disk reads: 242 MB in 3.02 seconds = 80.14 MB/sec
Na zakończenie jeszcze jedna ważna sprawa, jeżeli sprawdzamy system plikow za pomocą fsck czy innych narzędzi zawsze sie odwołujmy do całej macierzy jeżeli odwołamy sie do pojedynczej partycji na dysku to na pewno stracimy dane z całej macierzy RAID.
No i było by to na tyle, dziękuje za uwage.





