View previous topic :: View next topic |
Author |
Message |
arsen Bodhisattva
Joined: 10 Apr 2004 Posts: 1803 Location: Tychy, Poland
|
Posted: Sat Jul 24, 2004 8:56 pm Post subject: [HOW-TO] - Programowy RAID 0 |
|
|
PROGRAMOWY RAID 0
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: |
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
|
a to partycje na sdb:
Code: |
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
|
Jak widać partycje swap, windowsowe i sda1/sdb1 (sda1 przeznaczona na /boot, gdyż mialem kłopoty z grubem który RAIDA w ogóle nie widział i przez to nie chciał się zainstalować) nie będą pracować w RAID, będą to zwykłe partycje.
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
3.Po czym przechodzimy do ważnej rzeczy, tworzymy plik raidtab na podstawie którego RAID połączy sobie partycje w macierze.
4.moja kofiguracja dopasowana do nazw urządzeń w moim systemie
Code: |
# 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
|
teraz pokrótce wyjaśnię o co chodzi...
opcja
oznacza nazwę urządzenia w systemie po połączeniu 2 partycji na osobnych dyskach.
Code: |
persistent-superblock 1
device /dev/sda*
raid-disk 0
device /dev/sdb*
|
oznacza partycje które bedą łączone w macierz. Prawda że proste
5. po poprawnej edycji /etc/raidtab przechodzimy do stworzenia rzeczywistego RAID-a 0.
Code: |
mkraid /dev/md0
mkraid /dev/md1
....itd w zależności ile zrobiliśmy urządzeń w /etc/raidtab
|
6.Jeżeli już mamy nowe urządzenia tworzymy na nich system-y plików (np. mój ulubiony xfs )
gdzie "*" to numer naszego urządzenia, oczywiście możemy utworzyć dowolny system plików w zależności od upodobań
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: |
mont /dev/md* /mnt/gentoo
|
w razie własnych potrzeb można podmontować inne macierze. Po rozpakowaniu stage'a, należy nie zapomnieć o przekopiowaniu raidtaba
Code: |
cp /etc/raidtab /mnt/gentoo/etc/raidtab
|
8. Gdy nastąpi etap konfiguracji kernela musimy w nim parę rzeczy zaznaczyć.
Opisze to na przykladzie kernela 2.6.*
Code: |
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
|
Po tym zabiegu możemy być spokojni, że RAID 0 będzie miał właściwy suport od strony kernela, nie należy zapomnieć o pakiecie raidtools, a zatem...
Code: |
emerge sys-fs/raidtools
|
No to teraz przyszedł czas na /etc/fstab, który też sie bedzie rożnił od zwykłego nazwami urządzeń oczywiście zgodnymi z macierzami RAID.
o to mój /etc/fstab
Code: |
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
|
9.Następnie tak jak zwykle konfigurujemy grub-a (lub lilo), mój grub.conf
Code: |
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
|
Po tych zabiegach można się cieszyć elegancką wydajnością
dla przykladu:
Code: |
hdparm -t /dev/md0
/dev/md0:
Timing buffered disk reads: 242 MB in 3.02 seconds = 80.14 MB/sec
|
dla nie zamontowanego md* wynosi to ponad 105 MB/sec, nie od dzisiaj wiadomo że hdparm słabo sie nadaje jako benchmark, czasem ma dziwne przekłamania, jak porobie testy za pomocą bonnie++ to się podziele wrażeniami.
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.
Last edited by arsen on Fri Oct 01, 2004 9:38 pm; edited 2 times in total |
|
Back to top |
|
|
adam1957 Tux's lil' helper
Joined: 30 Aug 2004 Posts: 121
|
Posted: Fri Oct 01, 2004 4:39 pm Post subject: |
|
|
Cześć!
Mam pytanie do Autora:
Czy można przygotować podobny programowy RAID dla innej dystrybucji linuksa? Jeżeli tak, to w czym różnice?
Adam |
|
Back to top |
|
|
arsen Bodhisattva
Joined: 10 Apr 2004 Posts: 1803 Location: Tychy, Poland
|
Posted: Fri Oct 01, 2004 5:08 pm Post subject: |
|
|
w tym że zależy to od instalatora. Gentoo go nie ma i jest lepiej |
|
Back to top |
|
|
adam1957 Tux's lil' helper
Joined: 30 Aug 2004 Posts: 121
|
Posted: Fri Oct 01, 2004 8:50 pm Post subject: |
|
|
Dzięki za info !
Chyba póki co nie spróbuję.
Adam |
|
Back to top |
|
|
Bonk_pb n00b
Joined: 28 Sep 2004 Posts: 28 Location: Poland Lodz
|
Posted: Wed Oct 06, 2004 9:38 am Post subject: Sprzetowy RAID |
|
|
Wiecie moze jak wyglada sprawa sprzetowego RAID 0 i bootowania z lilo lub gruba? |
|
Back to top |
|
|
zytek Apprentice
Joined: 06 Feb 2004 Posts: 233 Location: Poland, Ostrów Wlkp.
|
Posted: Wed Oct 06, 2004 10:33 am Post subject: |
|
|
Na serwerze mam sprzętowy m.in. RAID 0. Na początku sam się zastanawiałem jak to będzie "cykać" ale sprawa okazała się banalna.
Mając dwa dyski SCSI połączone w RAID 0 system widzi go po prostu jako jeden dysk - /dev/sda (z jedną partycją /dev/sda1 i taka też jest podawana w lilo jako root, mbr w /dev/sda)
Następne trzy dyski w RAID5 są widoczne jako /dev/sdb itd. |
|
Back to top |
|
|
Bonk_pb n00b
Joined: 28 Sep 2004 Posts: 28 Location: Poland Lodz
|
Posted: Wed Oct 06, 2004 7:21 pm Post subject: |
|
|
Super dzieki, co prawda ja nie bede uzywac niestety hdd scsi, ale znajac zycie to nie ma wplywu... dzieki kupuje drugi hdd |
|
Back to top |
|
|
yemu Guru
Joined: 05 Jun 2003 Posts: 342 Location: /poland/warsaw
|
Posted: Thu Oct 07, 2004 10:01 am Post subject: |
|
|
czy sa jakies wymagania odnosnie wielkosci dyskow albo partycji laczonych w raid? mam dwa dyski, jeden wiekszy (160) i drugi mniejszy (80) i chcialbym sobie zarzucic raida. czy wystarczy, ze zrobie sobie partycje o mniej wiecej takiej samej wielkosci na obu dyskach i polacze je w raida? dodam ze jeden dysk jest szybki (nowe hitachi) drugi wolniejszy (seagate 5400rpm), jaki to bedzie mialo wplyw na wydajnosc raida?
pozdrawiam
y _________________ Centrum Jêzyka Francuskiego VOILA - http://www.voila.edu.pl |
|
Back to top |
|
|
zytek Apprentice
Joined: 06 Feb 2004 Posts: 233 Location: Poland, Ostrów Wlkp.
|
Posted: Thu Oct 07, 2004 11:14 am Post subject: |
|
|
Darowałbym sobie raida 0 na takiej konfiguracji, bo żeby to połączyć w "jeden szybki dysk" to stracisz 80Gb z hitachi oraz całość będzie wolna, ze względu na starego seagate.
Jeśli Ci nie zależy na tych 80Gb to możesz od biedy sprawdzić wyniki hdparm -tT dla seagate, pomnożyc razy dwa i sprawdzić, czy jest to większe od wyników hdparm -tT dla hitachi ;DD |
|
Back to top |
|
|
yemu Guru
Joined: 05 Jun 2003 Posts: 342 Location: /poland/warsaw
|
Posted: Thu Oct 07, 2004 3:32 pm Post subject: |
|
|
na 80gb jednak troche mi zalezy wiec raczej opchne tego seagate'a i kupie drugiego hitachi
<spam>
ktos chce moze kupic?
</spam> _________________ Centrum Jêzyka Francuskiego VOILA - http://www.voila.edu.pl |
|
Back to top |
|
|
nelchael Retired Dev
Joined: 20 Mar 2004 Posts: 1948 Location: /dev/drzewo
|
Posted: Thu Oct 07, 2004 3:33 pm Post subject: |
|
|
A ile za niego chcesz? _________________ [color=gray:17697d0166]http://dev.gentoo.org/~nelchael/[/color:17697d0166]
[size=14:17697d0166]>> [b:17697d0166]Zasady na f.g.o->Polish[/b:17697d0166] <<[/size:17697d0166] |
|
Back to top |
|
|
Bonk_pb n00b
Joined: 28 Sep 2004 Posts: 28 Location: Poland Lodz
|
Posted: Fri Oct 08, 2004 7:01 pm Post subject: |
|
|
Sorka ze sie podczepiam pod temat...
Jak mam sprzetowy RAID to musze miec cos w jajku wkampilowane specjalinie czy linux wogole nie wie ze te dyski pracuja w RAID bo wszystko jest zalatwiane sprzetowo? |
|
Back to top |
|
|
arsen Bodhisattva
Joined: 10 Apr 2004 Posts: 1803 Location: Tychy, Poland
|
Posted: Fri Oct 08, 2004 8:40 pm Post subject: |
|
|
Musisz mieć wkompilowaną obsługe kontrolera swojego RAIDA, ale jeśli masz jedną z płyt głownych z "pseudo" kontrolerem raida, to możesz mieć problemy. |
|
Back to top |
|
|
Bonk_pb n00b
Joined: 28 Sep 2004 Posts: 28 Location: Poland Lodz
|
Posted: Fri Oct 08, 2004 10:21 pm Post subject: |
|
|
PROMISE PDC20265R i z tego co widze to jest support
Update: literowka byla |
|
Back to top |
|
|
adam1957 Tux's lil' helper
Joined: 30 Aug 2004 Posts: 121
|
Posted: Mon Nov 08, 2004 6:02 am Post subject: |
|
|
Cześć !
Postanowiłem skorzystać z pomysłu Arsena i zainstalować Gentoo na w/w soft-RAID. Starałem się postępować zgodnie ze wskazówkami:
1. przygotowałem dwie identyczne partycje /dev/hda2 i /dev/hdc1 na /dev/md0
2. /dev/hda1 to malutka na /boot
3. proces tworzenia, montowania, instalacji i konfiguracji systemu oraz kernela i lilo wydawał się prawidłowy
4. LILO ładowane z /dev/hda1, którą uczyniłem aktywną.
Niestety coś musiałem skopsać, bo LILO się nie ładuje.
I tu moje pytanie:
Jak się dostać do tak przygotowanego środowiska,
aby coś naprawić, np LILO ?
Zwykły proces chroot-owania nie działa.
Co robić?
Adam |
|
Back to top |
|
|
Woocash Guru
Joined: 01 May 2004 Posts: 525 Location: Poland, Praszka
|
Posted: Mon Nov 08, 2004 9:10 am Post subject: |
|
|
adam1957 wrote: |
Zwykły proces chroot-owania nie działa.
Co robić?
Adam |
Jak to nie działa ?
Wywala jakieś błędy, jeżeli tak to napisz je tu
btw. co do ładowanie lilo do mbr'a wystarczy wpisać w konsoli
|
|
Back to top |
|
|
adam1957 Tux's lil' helper
Joined: 30 Aug 2004 Posts: 121
|
Posted: Mon Nov 08, 2004 11:50 am Post subject: |
|
|
To muszę szerzej!!
Mam trzy dyski: dwa IDE (hda i hdc) i trzeci dysk SATA. Na IDE chciałem założyć soft-RAID, na trzecim mam XP. W BIOS-ie mam start z SATA. Po wykonaniu czynnoci przewidzianych przez Arsena ustawiłem /dev/hda1 jako /boot i LILO zaistalowałem na tej partycji. Ustawiłem jš jako aktywnš i REBOOT... i nic ! Nie ma dysku i.t.p. Po przestawienie aktywnej na SATA XP elegancko startuje. Podejrzewam, że co schrzaniłem przy lilo. Ale aby naprawić trzeba się do instalacji chroot-ować. Jak to zrobić jeżeli instalka była na /dev/md0, której nie ma, bez startu odpowiedniego kernela, modułu md i.t.d. Jak wystartuję z dowolnej "live" np: Gentoo, lub Rescue to widzi dwa oddzielne dyski, a nie macierz RAID-0. A musiałbym się chroot-ować do macierzy(/dev/md0). Czy problem jest rozwišzywalny, czy też jedynie pozostało kompletne powtórzenie całego procesu tworzenia soft-RAIDA + instalka GENTOO + konfiguracja kernela + LILO(, lub GRUB).
Liczę na pomoc!
Adam |
|
Back to top |
|
|
Woocash Guru
Joined: 01 May 2004 Posts: 525 Location: Poland, Praszka
|
Posted: Mon Nov 08, 2004 5:19 pm Post subject: |
|
|
Nie, musisz tylko poszukać livecd który obsługuje raida. @arsen^ chyba tworzył takie livecd, zobacz na jego stronke |
|
Back to top |
|
|
coyote01 Tux's lil' helper
Joined: 05 Sep 2004 Posts: 98 Location: Rzeszów, Poland
|
Posted: Fri Nov 18, 2005 12:46 pm Post subject: |
|
|
adam1957 wrote: | Ale aby naprawić trzeba się do instalacji chroot-ować. Jak to zrobić jeżeli instalka była na /dev/md0, której nie ma, bez startu odpowiedniego kernela, modułu md i.t.d. Jak wystartuję z dowolnej "live" np: Gentoo, lub Rescue to widzi dwa oddzielne dyski, a nie macierz RAID-0. A musiałbym się chroot-ować do macierzy(/dev/md0). Czy problem jest rozwišzywalny, czy też jedynie pozostało kompletne powtórzenie całego procesu tworzenia soft-RAIDA + instalka GENTOO + konfiguracja kernela + LILO(, lub GRUB). |
aby sie dostac z LiveCD do raida musisz zrobic tak:
- startujesz z LiveCD
- po zaladowniu wpisujesz:
# modprobe md
- pozniej albo kopiujesz plik raidtab (jesli masz na jakiejs partycji / nosniku do ktorego masz dostep. ja kopie tego plik trzymam na partycji boot) do /etc lub jesli go nie masz to wklepujesz parametry RAIDa recznie do /etc/raidtab
- startujesz raid:
# raidstart /dev/mdX
(jesli wystapi blad zwiazany z brakiem urzadzen w /dev ["cannot determine md version: no MD device file in /dev"] to musisz je utworzyc: # cd /dev; MAKEDEV md)
- jesli raid wystartowal to jzu mozesz zamontowac partycje z raidem i chrootowac sie do systemu |
|
Back to top |
|
|
|