Zanim uruchomisz maszynę, dodaj do niej 3 dyski po 20 MB i sprawdź czy karta sieciowa jest ustawiona na NAT
Uruchom maszynę i pobierz adres internetowy
Zainstaluj program mdadm jeśli apt-get nie może go odnaleźć dodaj poniższą linijkę do pliku z adresami repozytoriów.
Usuń z pliku z repozytoriami niepotrzebne wpisy jeśli tam jakieś są (odnośniki do CDROM'u, odnośniki do nieoficjalnych repozytorów)
Podziel dysków /dev/hdb na 4 równe partycje, u mnie dysk po podziale wyglądają tak (każda ma po 10 cylindrów)
Teraz jeszcze zmienimy typ partycji każdej z partycji na `Linux raid autodetect'
Za pomocą opcji `t' możemy zmienić `typ partycji' lub inaczej ID partycji. Listę wszystkich typów możesz zobaczyć wciskając klawisz L w uruchomionym programie fdisk. Nas będzie interesować typ o kodzie fd - Linux raid autodetect.
Zmianę ID partycji dokonuje się za pomocą opcji `t'. Przykładowo dla partycji pierwszej typ zmienia się w następujący sposób
Zadanie
Zmień typ analogicznie na pozostałych partycjach, zapisz zmiany używając opcji `w'.
Po wykonaniu punktu 5. tablica partycji na dysku /dev/hdb powinna wyglądać następująco
Teraz analogicznie jak przed chwilą podzielimy pozostałe trzy dyski (/dev/hdc i /dev/hdd). Jednak zamiast żmudnie za pomocą fdiska partycjonować dyski i zmieniać system użyjemy sprytnej komendy która utworzy analogiczny do /dev/hdb podział na każdym z pozostałych dysków
Polecenie sfdisk służy do zarządzania partycjami na dysku. Jeśli nie rozumiesz co się stało w tym miejscu spytaj prowadzącego.
Zadanie
Sprawdź, że wszystkie dyski /dev/hdb, /dev/hdc, /dev/hdd mają taką samą strukturę partycji.
Teraz po kolei utworzymy macierze RAID0, RAID1 i RAID5.Do tworzenia macierzy będziemy używać polecenia mdadm
Zaczniemy od RAID0 (stripe)
--create /dev/md0 - oznacza że tworzymy nową macierz o nazwie md0 (odpowiedni plik będzie umieszczony w katalogu /dev)
--level=0 - oznacza, że tworzymy macierz typu RAID0
--raid-devices=3 /dev/hdb1 /dev/hdc1 /dev/hdd1 - określa ilość elementów wchodzących w skład macierzy i specyfikuje jakie to elementy
Jednym z ostatnich komunikatów pojawiających się podczas tworzenie macierzy jest
który oznacza, że macierz została uruchomiona, i że można jej używać, będziemy ją traktować jak normalną partycję i na przykład w następnych punktach będziemy tworzyć na niej system plików.
Zanim zaczniemy używać stworzonej macierzy, wypełnimy jeszcze plik konfiguracyjny mdadm.conf , który zazwyczaj znajduje się w katalogu /etc/mdadm (u nas jest właśnie w tym katalogu).Ten plik konfiguracyjny jest wykorzystywany przez program mdadm na przykład podczas włączania macierzy. Sprawdźmy jak to działa.
Zatrzymajmy naszą macierz
Zatrzymana macierz nie możemy być używana
Jak widać nie można na niej utworzyć systemu plików
Uruchommy naszą macierz (do uruchamiania istniejącej macierzy używa się opcji --assemble)
Niestety ponieważ nie uzupełniliśmy jeszcze pliku mdadm.conf więc nie da się po prostu uruchomić macierzy poprzez
Należy podać dodatkowo jakie dyski wchodzą w skład macierzy
Jak widać macierz została uruchomiona (ostatni komunikat na powyższym zrzucie `mówi' `has been started'). Konieczność podawania partycji wchodzących w skład macierzy może być męczące … no i kto by spamiętał te wszystkie informacje . Dlatego po utworzeniu macierzy powinno się zaktualizować plik mdadm.conf o odpowiedni wpis
Przy aktualizacji pliku konfiguracyjnego przydaje się polecenie
Które wyświetla informacje o konfiguracji istniejących uruchomionych macierzy. My na razie mamy tylko jedną macierz /dev/md0.
Można przekierować wynik tego polecenia bezpośrednio do pliku konfiguracyjnego
I teraz już można uruchomić macierz bezpośrednio poleceniem
oczywiście o ile ta macierz nie jest jeszcze uruchomiona .
Polecenie mdadm z opcją --scan wyświetla informacje o wszystkich utworzonych uruchomionych macierzach więc przy następnym przekierowaniu jego wyniku do pliku konfiguracyjnego znowu zostanie dodany wpis dotyczący macierzy /dev/md0 jeśli ta macierz w tym momencie będzie uruchomiona. Takie dublujące się napisy najlepiej usuwać z pliku konfiguracyjnego.
Zadanie
Sprawdź jak wygląda zawartość pliku /etc/mdadm/mdadm.conf
Zadanie
Jeśli nie masz uruchomionej macierzy /dev/md0, to ją uruchom. Następnie załóż na tej macierzy system plików ext3 (analogicznie ja robiliśmy to na partycjach), podmontuj macierz w dowolnym katalogu i utwórz na niej dowolny plik.
Zadanie
Spróbuj zatrzymać zamontowaną macierz /dev/md0 nie powinno Ci się to udać, powinien pojawić się komunikat `resource busy'. Odmontuj macierz i zatrzymaj ją, teraz powinno się udać.
Informacje o aktualnie uruchomionych macierzach możesz znaleźć w pliku /proc/mdstat. Ponieważ teraz żadna macierz nie powinna być uruchomiona (jeśli wykonałeś poprzednie zadania to tak jest) więc w pliku nie będzie żadnej informacji o działających macierzach
Jeśli uruchomisz macierz, już wiesz jak to się robi, w pliku /proc/mdstat pojawi się odpowiedni wpis z nazwą macierzy i wchodzącymi w jej skład partycjami
Za pomocą polecenia
można wyświetlić informacje o działającej macierzy, wśród wyświetlonych danych widać m.in. typ macierzy (raid0), ilość zasobów wchodzących w skład macierzy (Raid devices: 3), rozmiar macierzy (Array Size : 14784). Mam nadzieję, że wiesz dlaczego ta macierz ma taki rozmiar. Wiesz?
Zadanie
Czym są MiB i MB w rozmiarze macierzy.
Podmontuj macierz w dowolnym katalogu. Za pomocą polecenia
możesz również sprawdzić ilość dostępnego miejsca na podmontowanych zasobach. W tym przypadku widać, że na naszej macierzy jest ok. 14MB miejsca
Zatrzymaj macierz.
Teraz utworzymy macierz RAID1 (mirror), powinno pójść już trochę szybciej.
Na razie nasza macierz będzie składała się z 2 dysków
I dodajmy ją do pliku konfiguracyjnego
Sprawdźmy, że macierz rzeczywiście działa
Słowo PENDING oznacza, że elementy macierzy nie zostały jeszcze zsynchronizowane.
Utwórzmy na macierzy system plików
Teraz jak sprawdzimy status macierzy w moim przypadku wygląda on już tak
(macierz jest już aktywna), litera U oznacza, że zasób jest używany i działa poprawnie
Sprawdźmy parametry naszej macierzy
Wiesz dlaczego rozmiar tej macierzy jest równy 4928 kilobajtów (Array Size : 4928)?
Teraz do naszej macierzy /dev/md1 dodamy nowy zasób /dev/hdd2 (do/z macierzy RAID1, RAID5, i kilku innych, można dodawa/usuwać zasoby nie można tego robić z macierzami RAID0)
I `powiemy' naszej macierzy, że powinna się rozszerzyć do 3 dysków
Teraz możemy sprawdzić, że nasza macierz składa się z 3 zasobów
ale jak widać jej rozmiar oczywiście się nie zmienił.
Można tez sprawdzić, że wszystkie zasoby działają
Analogicznie jak dodaliśmy dysk, to możemy dysk odłączyć. Aby to zrobić w pierwszej kolejności należy oznaczyć dysk jako fail a następnie usunąć (można obie operacje wykonać w jednej linii)
Teraz aktywne są tylko dwa zasoby
Wystarczy tylko zredukować rozmiar macierzy
i mamy widoczne tylko dyski aktywne
Zwróć uwagę, że wszystkie ostatnie operacje wykonujemy na działających macierzach.
I na końcu utworzymy macierz RAID5
Zadanie
Jaki rozmiar ma macierz /dev/md2?
Zadanie
Dodaj do macierzy /dev/md2 pozostałe nie wykorzystywane jeszcze na tych zajęciach partycje. Czy wzrósł rozmiar macierzy ?
Zadanie
Zamontuj macierz /dev/md2 w dowolnym katalogu i przekopiuj na nią jakieś dane.
Usuń z macierzy dowolny dysk czy danej zapisane na tej macierzy są wciąż dostępne?
Czy da się w tej macierzy usunąć jeszcze jeden dysk?
Zadanie
Połącz zasadę działania LVM z macierzami. Utwórz logiczny dysk który będzie zabezpieczony przed utrata danych poprzez użycie macierzy RAID5.