Matrix RAID na Debianie
Postaram się opisać jak, posiadają c 3 dyski SATA zainstalować Debiana na programowej macierzy RAID.
Zakładam, że czytają cy zna podstawowe pojęcia zwią zane z macierzami RAID (więcej na: http://pl.wikipedia.org/wiki/RAID )
Dla serwera w małej firmie lub dla małej grupy roboczej, moim zdaniem przy 3 identycznych dyskach, najlepszym rozwią zaniem będzie mieszanka:
- RAID 1 - pozwoli prawidłowo wystartować Debiana
- RAID 0 - przyspieszy odczyt danych
- RAID 5 - system i tymczasowa kopia danych z RAID0
Przykładowo mały serwer HP 110 ML/DL G5 z trzema dyskami SATA 250GB i 2GB pamięci , można by podzielić :
- SWAP - 2GB na każdym dysku, w zupełności wystarczy do większości zastosowań oraz umożliwi prawidłową pracę systemu podczas awarii jednego z dysków
- /boot - RAID1, 256MB (umożliwi bezproblemowy start systemu)
- /dane - RAID0, np. po 60GB z każdego dysku, co da ą cznie okoł 180 GB powierzchni z szybkim dostępem do danych
- / - RAID5 reszta przestrzeni dyskółw, powinna umożliwić instalację systemu oraz wykonywanie kopii (np. dziennych) partycji RAID 0
Pamiętajmy ! - taki układ będzie bezpieczny tylko jeżli partycja /dane z RAID0 będzie regularnie kopiowana w inne miejsce (np. na RAID5 lub na dysk zewnętrzny), ponieważ w przypadku awarii jednego z dyskółw, WSZYSTKIE dane z RAID0 będą utracone - w zamian zyskujemy zwiększoną wydajność tej partycji.
Poniżej postaram się opisać jak na takiej instalacji uruchomić Debiana (w chwili pisania artykułu - wersja Lenny)
Instalacja
1) zakładam, że posiadamy maszynę z 3 identycznymi dyskami (testy przeprowadziłem na maszynie wirtualnej):
2) rozpoczynamy standardową instalację Debiana:
3) dochodzimy do partycjonowania dysków - wybieramy procedurę ręczną :
4) na każdym z dysków tworzymy identyczny układ partycji:
- SWAP - przestrzeń wymiany
- /boot - fizyczny wolumin RAID
- /dane - fizyczny wolumin RAID
- / (root) - fizyczny wolumin RAID
zachowują c identyczne rozmiary i rodzaje partycji
5) następnie na górze listy opcji wybieramy:
"Konfiguruj RAID programowy" i po zatwierdzeniu układu partycji tworzymy nowe urzą
dzenia wielodyskowe (MD):
w moim przypadku były to:
- RAID1 - dla wygody, mirror utworzyłem na wszystkich 3 dyskach, w razie awarii któregokolwiek, system zawsze wystartuje normalne z kolejnego dysku.
Macierz tworzymy poprzez spięcie odpowiednich partycji utworzonych w kroku 4). Na pytanie o ilość aktywnych urzą dzeń odpowiadamy 3, a ilość zapasowych 0
- RAID0 (wiążemy odpowiednie partycje, u mnie to /dev/sda3,/dev/sdb3, /dev/sdc3)
- RAID5 (wiążemy odpowiednie partycje, u mnie to /dev/sda4, /dev/sdb4, /dev/sdc4)
6) na tak utworzonych "dyskach" ustawiamy już właściwe systemy plików np. ext3
7) po zakończeniu partycjonowania, ignorujemy komunikaty ostrzegawcze:
8) dokańczamy instalację Debiana, a na pytanie: "Czy zainstalować grub w głównym rekordzie rozruchowym" odpowiadamy - TAK (instalacja wrzuci go na pierwszy z dysków - hd0, chwilowo to nam wystarczy)
9) po restarcie system powinien uruchomić się prawidłowo
10) ostatnim krokiem instalacji jest umieszczenie grub na pozostałych dyskach, tak by system mógł prawidłowo wystartować z kolejnego sprawnego dysku w przypadku awarii. Zwróćmy uwagę, że jeżeli naszą partycję /boot utworzoną na RAID1 potraktujemy jako trzy dyski z identycznym układem partycji (tak jak widzi je BIOS komputera, który przecież nic nie wie o macierzy tworzonej przez ją dro linuksa) to staje sie oczywistym, że MBR który startuje system powinien zostać "wgrany" na każdy z dysków (tak na wszelki wypadek ;))
dla drugiego dysku:
#grub
#root (hd1,1)
#setup (hd1)
#quit
root (hd1,1) - oznacza drugi dysk i drugą partycję czy li nasz /boot /pierwsza to SWAP w mojej instalacji/ (grub liczy dyski i partycje 0, 1, 2, 3, ...)
i dla trzeciego dysku:
#grub
#root (hd2,1)
#setup (hd2)
#quit
11) należałoby się teraz upewnić że wszystko poszło jak trzeba i można wystartować system z każdego z naszych dysków. Najprościej zrobić to zamieniają c kolejnoś bootowania w BIOS
12) to wszystko ;) - Debian został zainstalowany na macierzy RAID
Tak na marginesie, podczas zamykania systemu otrzymamy komunikat o błędzie zatrzymania macierzy na której jest ją
dro systemu, taka sytuacja jest w miarę "normalna" i trzeba ją
zignorować.