Witam.
Chciałbym zainstalować Debiana 6 na programowym RAID-zie. Wcześniej korzystałem z tzw. fakeraid na Debianie 5, z którym są podobno problemy w najnowszej wersji z powodu GRUB-a2. Zacznę od tego, że w internecie widziałem ogromną ilość stron zachwalających programowy RAID na Linuksie, a tymczasem ciężko znaleźć pełne informacje w jednym poradniku.
Zacznę chyba od pytania podstawowego: czy RAID, który można konfigurować z poziomu instalacji Debiana to mdadm?
Czy tak skonfigurowany RAID działa od razu, czy trzeba go aktywować jeszcze w systemie?
Czy są jakieś przeszkody, żeby najpierw zainstalować system, a dopiero potem spiąć go w RAID?
Paradoksalnie do programu mdadm jest bardzo dobra dokumentacja, ale instalator systemu, który ma graficzny interfejs i powinien być pomocny nie ułatwia sprawy, bo nie jest dobrze opisany. Tymczasem trzeba wpisywać długie linie poleceń w konsoli.
Posiadam 4 dyski twarde 1TB i chciałbym spiąć je w RAID 10. Podczas instalacji pojawiły się jednak problemy. Na każdym z dysków utworzyłem dwie partycje: 8GB na partycję wymiany i reszta na cały system. Następnie dwukrotnie (osobno dla partycji wymiany i dla całego systemu) wybrałem opcję ustawiania RAID10 na odpowiednich partycjach. Wpisałem, że każdy "md" ma składać się z dwóch aktywnych dysków, połączonych w celu zwiększenia pojemności i z dwóch dysków zapasowych (lustrzanych). Niestety po tych operacjach oba RAID-y przedstawiły się z "pojedynczą" pojemnością (tzn. 1TB zamiast 2TB i 8GB zamiast 16GB) - czy powinienem wpisać inne parametry (ilości dysków) podczas konfiguracji?
Na koniec zostawiłem jeszcze jedną kwestię, o które doczytałem dopiero później. Podobno pomimo tego, że RAID10 jest wspierany z poziomu instalatora Debiana, GRUB nawet w wersji 2 ma problemy z poprawnym ładowaniem systemu - czy to prawda? Na wielu stronach zaleca się stosowanie RAID1 dla osobnej, bardzo małej partycji /boot, zatem, czy RAID1 można ustawić też na 4 partycjach?
Bardzo proszę o jakiekolwiek odpowiedzi, nawet na pojedyncze moje pytania.
Pomocne strony, z których korzystałem:
http://kromey.us/2009/08/raid-10-with-mdadm-65.html
http://techblog.tgharold.com/2006/08/cr ... dadm.shtml
http://www.unrest.ca/configuring-mdadm- ... ubuntu-910
http://www.linuxplanet.com/linuxplanet/ ... ls/6518/1/
https://wiki.archlinux.org/index.php/In ... AID_or_LVM
https://wiki.archlinux.org/index.php/Co ... em_to_RAID
http://www.howtoforge.com/install-ubunt ... re-raid-10
Programowy RAID10 na Debianie6
Co innego LVM a co innego fake raid udostępniany przez bios płyty głównej.
Wielokrotnie instalowałem system na fake raid gdzie pospinane były dyski nie zaś partycje (LVM).
Jest problem błędnej konfiguracji z poziomu instalatora który to mimo uruchomienia z opcja dmraid=true nie potrafi zainstalować gruba w MBR.
Można to naprawić po instalacji systemu dzięki live cd i chroot.
Wielokrotnie instalowałem system na fake raid gdzie pospinane były dyski nie zaś partycje (LVM).
Jest problem błędnej konfiguracji z poziomu instalatora który to mimo uruchomienia z opcja dmraid=true nie potrafi zainstalować gruba w MBR.
Można to naprawić po instalacji systemu dzięki live cd i chroot.
Czy to wersja mdadm - v3.2.3 - 23rd December 2011 lub nowsza?
Jeżeli tak to zmienione zostało podejście do blkid we wszystkich rodzajach macierzy.
da nam dla raid0:
O ile partycjonowałeś dyski pojedynczo z wymuszeniem UUID (opcja -U) przydziel także na urządzenie md12x- już blokowe w nowych wersjach mdadm niezależną sygnaturkę UUID.
Blkid powinno pokazywać coś takiego:
Dyski, stają się elementami całości i można dzielić na partycje cały raid, ale jeżeli niezależnie wcześniej partycję miały pojedyncze dyski, może w niektórych układach, na pewno raid0 nie uruchomić się ot choćby, jeżeli wykonamy:
Otrzymamy prawidłowy podział partycji w macierzy:
Teraz niedogodności z ładowaniem systemu.
Mój plik /etc/fstab wygląda tak
Włączał mi się:
czyli BusyBox
Poradziłem sobie z konfliktem miedzy blkid, opóźnionym mapowaniem gruba i mdadm tak.
Dodałem plik do /etc/initramfs-tools/scripts/init-top.
Plik o nazwie powiedzmy wesmar-raid i zawartości
Operacje odłączania raid, o ile sobie przypomnę mniej więcej robiłem w takiej kolejności
Przy zakładaniu musisz zobaczyć różnicę w poleceniach, ta pierwsza jest zrozumiała, ale opcja ,,-A'' nie jest zdaje się opisana, a działała u mnie i nie była samą "assemble"
Gruba możesz już zrobić za pomocą dystrybucji livecd sysrescd.
Oto moje dane:
A to część ważniejsza grub.cfg od gruba-pc
Uwaga - nie mam wpisów w grub.cfg jak dawniej:
Są zbędne.
Porównując wyniki z windowsowym raidem i sterownikiem 10.8.0.1003 najnowszym gdy to piszę, Linux jest wydajniejszy o 2,4 %, zaś we wcześniejszych mdadm nieco słabiej, o jakieś 7%.
Jeżeli będą kłopoty nietypowe z raidem, mogę pomóc zdalnie przez tunelowanie się na mój serwer w przypadku braku możliwości uzyskania otwartego na zewnątrz portu. Wystarczy w zasadzie jakaś dystrybucja livecd uruchomiona z pendrive (np. rescuecd).
Jeżeli tak to zmienione zostało podejście do blkid we wszystkich rodzajach macierzy.
Kod: Zaznacz cały
cat /proc/mdstat
Kod: Zaznacz cały
md126 : active raid0 sda[1] sdb[0]
1953519616 blocks super external:/md127/0 128k chunks
md127 : inactive sdb[1](S) sda[0](S)
5288 blocks super external:imsm
Blkid powinno pokazywać coś takiego:
Kod: Zaznacz cały
root@server:~# blkid
/dev/sda: TYPE="isw_raid_member"
/dev/sdb: TYPE="isw_raid_member"
/dev/md126p1: LABEL="/" UUID="aec96098-fab1-442a-a763-6efac3c521b0" TYPE="ext4"
/dev/md126p2: LABEL="data" UUID="959c1b33-6c05-43c2-8ea0-a121e638be3e" TYPE="ext4"
/dev/md126p3: UUID="8af7bc20-ae6b-46fd-b5fe-1a5b978a44f1" TYPE="swap"
Kod: Zaznacz cały
cfdisk /dev/md126
Kod: Zaznacz cały
cfdisk (util-linux 2.20.1)
Urządzenie: /dev/md126
Rozmiar: 2000404086784 bajtów, 2000.4 GB
Głowic: 255 Sektorów na ścieżce: 63 Cylindrów: 243201
Nazwa Flagi Typ partycjSystem plików [Etykieta] Rozmiar (M
B------------------------------------------------------------------------------
Gł/Log Wolne miejsce 1,05*
md126p1 Rozruch Główna ext4 [/] 80015,79*
md126p2 Główna ext4 [data] 1919338,68*
md126p3 Główna swap 1048,58*
mdadm --detail /dev/md126 powinno nam pokazać coś takiego:
/dev/md126:
Container : /dev/md/imsm0, member 0
Raid Level : raid0
Array Size : 1953519616 (1863.02 GiB 2000.40 GB)
Raid Devices : 2
Total Devices : 2
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Chunk Size : 128K
UUID : d040870b:bcaa8577:118fcc03:45d036ce
Number Major Minor RaidDevice State
1 8 0 0 active sync /dev/sda
0 8 16 1 active sync /dev/sdb
Mój plik /etc/fstab wygląda tak
Kod: Zaznacz cały
UUID="aec96098-fab1-442a-a763-6efac3c521b0" / ext4 errors=remount-ro 0 1
UUID="959c1b33-6c05-43c2-8ea0-a121e638be3e" /media/data ext4 defaults,noatime 0 2
UUID="8af7bc20-ae6b-46fd-b5fe-1a5b978a44f1" none swap sw 0 0
//10.21.16.120/Volume_1 /media/dns cifs rw,username=guest 0 0
Kod: Zaznacz cały
Built - in shell
Poradziłem sobie z konfliktem miedzy blkid, opóźnionym mapowaniem gruba i mdadm tak.
Dodałem plik do /etc/initramfs-tools/scripts/init-top.
Plik o nazwie powiedzmy wesmar-raid i zawartości
Kod: Zaznacz cały
#!/bin/sh
sleep 2
mdadm --assemble --scan
sleep 2
Kod: Zaznacz cały
service mdadm stop
mdadm --remove /dev/md126
mdadm --stop /dev/md126
i potem zawsze sprawdzanie:
mdadm --detail /dev/md126
Kod: Zaznacz cały
mdadm --examine --scan >> /etc/mdadm/mdadm.conf
mdadm -A --scan
mdadm --assemble --scan
Oto moje dane:
Kod: Zaznacz cały
root@server:/boot/grub# cat device.map
(hd0) /dev/disk/by-id/ata-ST1000DM003-9YN162_W1D01ACA
(hd1) /dev/disk/by-id/ata-ST1000DM003-9YN162_W1D01ARY
Kod: Zaznacz cały
linux /boot/vmlinuz-3.2.16-999-optimus root=/dev/md126p1 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.2.16-999-optimus
Kod: Zaznacz cały
insmod part_msdos
insmod ext2
insmod mdraid
itd.
Porównując wyniki z windowsowym raidem i sterownikiem 10.8.0.1003 najnowszym gdy to piszę, Linux jest wydajniejszy o 2,4 %, zaś we wcześniejszych mdadm nieco słabiej, o jakieś 7%.
Jeżeli będą kłopoty nietypowe z raidem, mogę pomóc zdalnie przez tunelowanie się na mój serwer w przypadku braku możliwości uzyskania otwartego na zewnątrz portu. Wystarczy w zasadzie jakaś dystrybucja livecd uruchomiona z pendrive (np. rescuecd).