Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOW-TO] - Programowy RAID 0
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish)
View previous topic :: View next topic  
Author Message
arsen
Bodhisattva
Bodhisattva


Joined: 10 Apr 2004
Posts: 1803
Location: Tychy, Poland

PostPosted: Sat Jul 24, 2004 8:56 pm    Post subject: [HOW-TO] - Programowy RAID 0 Reply with quote

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
Code:

modprobe md

3.Po czym przechodzimy do ważnej rzeczy, tworzymy plik raidtab na podstawie którego RAID połączy sobie partycje w macierze.
Code:


touch /etc/raidtab


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
Code:

raiddev                 /dev/md*

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 :) )
Code:

mkfs.xfs /dev/md*

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
View user's profile Send private message
adam1957
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2004
Posts: 121

PostPosted: Fri Oct 01, 2004 4:39 pm    Post subject: Reply with quote

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
View user's profile Send private message
arsen
Bodhisattva
Bodhisattva


Joined: 10 Apr 2004
Posts: 1803
Location: Tychy, Poland

PostPosted: Fri Oct 01, 2004 5:08 pm    Post subject: Reply with quote

w tym że zależy to od instalatora. Gentoo go nie ma i jest lepiej :)
Back to top
View user's profile Send private message
adam1957
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2004
Posts: 121

PostPosted: Fri Oct 01, 2004 8:50 pm    Post subject: Reply with quote

Dzięki za info !
Chyba póki co nie spróbuję.
Adam
Back to top
View user's profile Send private message
Bonk_pb
n00b
n00b


Joined: 28 Sep 2004
Posts: 28
Location: Poland Lodz

PostPosted: Wed Oct 06, 2004 9:38 am    Post subject: Sprzetowy RAID Reply with quote

Wiecie moze jak wyglada sprawa sprzetowego RAID 0 i bootowania z lilo lub gruba?
Back to top
View user's profile Send private message
zytek
Apprentice
Apprentice


Joined: 06 Feb 2004
Posts: 233
Location: Poland, Ostrów Wlkp.

PostPosted: Wed Oct 06, 2004 10:33 am    Post subject: Reply with quote

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
View user's profile Send private message
Bonk_pb
n00b
n00b


Joined: 28 Sep 2004
Posts: 28
Location: Poland Lodz

PostPosted: Wed Oct 06, 2004 7:21 pm    Post subject: Reply with quote

Super dzieki, co prawda ja nie bede uzywac niestety hdd scsi, ale znajac zycie to nie ma wplywu... dzieki kupuje drugi hdd :D
Back to top
View user's profile Send private message
yemu
Guru
Guru


Joined: 05 Jun 2003
Posts: 342
Location: /poland/warsaw

PostPosted: Thu Oct 07, 2004 10:01 am    Post subject: Reply with quote

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
View user's profile Send private message
zytek
Apprentice
Apprentice


Joined: 06 Feb 2004
Posts: 233
Location: Poland, Ostrów Wlkp.

PostPosted: Thu Oct 07, 2004 11:14 am    Post subject: Reply with quote

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
View user's profile Send private message
yemu
Guru
Guru


Joined: 05 Jun 2003
Posts: 342
Location: /poland/warsaw

PostPosted: Thu Oct 07, 2004 3:32 pm    Post subject: Reply with quote

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
View user's profile Send private message
nelchael
Retired Dev
Retired Dev


Joined: 20 Mar 2004
Posts: 1948
Location: /dev/drzewo

PostPosted: Thu Oct 07, 2004 3:33 pm    Post subject: Reply with quote

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
View user's profile Send private message
Bonk_pb
n00b
n00b


Joined: 28 Sep 2004
Posts: 28
Location: Poland Lodz

PostPosted: Fri Oct 08, 2004 7:01 pm    Post subject: Reply with quote

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
View user's profile Send private message
arsen
Bodhisattva
Bodhisattva


Joined: 10 Apr 2004
Posts: 1803
Location: Tychy, Poland

PostPosted: Fri Oct 08, 2004 8:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
Bonk_pb
n00b
n00b


Joined: 28 Sep 2004
Posts: 28
Location: Poland Lodz

PostPosted: Fri Oct 08, 2004 10:21 pm    Post subject: Reply with quote

PROMISE PDC20265R i z tego co widze to jest support :)

Update: literowka byla :)
Back to top
View user's profile Send private message
adam1957
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2004
Posts: 121

PostPosted: Mon Nov 08, 2004 6:02 am    Post subject: Reply with quote

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
View user's profile Send private message
Woocash
Guru
Guru


Joined: 01 May 2004
Posts: 525
Location: Poland, Praszka

PostPosted: Mon Nov 08, 2004 9:10 am    Post subject: Reply with quote

adam1957 wrote:

Zwykły proces chroot-owania nie działa.
Co robić?
Adam


Jak to nie działa ? 8O

Wywala jakieś błędy, jeżeli tak to napisz je tu

btw. co do ładowanie lilo do mbr'a wystarczy wpisać w konsoli
Code:
lilo
;)
Back to top
View user's profile Send private message
adam1957
Tux's lil' helper
Tux's lil' helper


Joined: 30 Aug 2004
Posts: 121

PostPosted: Mon Nov 08, 2004 11:50 am    Post subject: Reply with quote

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 czynnoœci 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
View user's profile Send private message
Woocash
Guru
Guru


Joined: 01 May 2004
Posts: 525
Location: Poland, Praszka

PostPosted: Mon Nov 08, 2004 5:19 pm    Post subject: Reply with quote

Nie, musisz tylko poszukać livecd który obsługuje raida. @arsen^ chyba tworzył takie livecd, zobacz na jego stronke
Back to top
View user's profile Send private message
coyote01
Tux's lil' helper
Tux's lil' helper


Joined: 05 Sep 2004
Posts: 98
Location: Rzeszów, Poland

PostPosted: Fri Nov 18, 2005 12:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum