Wyszukiwanie w witrynie

Jak zarządzać programowymi macierzami RAID w systemie Linux za pomocą narzędzia „Mdadm” — część 9


Niezależnie od Twojego wcześniejszego doświadczenia z macierzami RAID i tego, czy wykonałeś wszystkie samouczki z tej serii RAID, czy nie, zarządzanie programowymi RAID w systemie Linux nie jest bardzo skomplikowanym zadaniem, jeśli zapoznasz się z mdadm --manage polecenie.

W tym samouczku omówimy funkcjonalność tego narzędzia, abyś mógł mieć je pod ręką, kiedy go potrzebujesz.

Scenariusz testowania RAID

Podobnie jak w ostatnim artykule z tej serii, dla uproszczenia użyjemy macierzy RAID 1 (lustrzanej), która składa się z dwóch dysków 8 GB (/dev/sdb i /dev/sdc) oraz początkowe urządzenie zapasowe (/dev/sdd) w celu zilustrowania, ale polecenia i koncepcje wymienione w tym dokumencie mają zastosowanie do innych typów także konfiguracje. To powiedziawszy, nie krępuj się, dodaj tę stronę do zakładek swojej przeglądarki i zaczynajmy.

Zrozumienie opcji i użycia mdadm

Na szczęście mdadm udostępnia wbudowaną flagę --help, która zawiera wyjaśnienia i dokumentację dla każdej z głównych opcji.

Zacznijmy więc od wpisania:


mdadm --manage --help

aby zobaczyć, jakie zadania mdadm --manage umożliwi nam wykonanie i w jaki sposób:

Jak widać na powyższym obrazku, zarządzanie macierzą RAID polega na wykonywaniu jednocześnie następujących zadań:

  1. (Ponowne) dodanie urządzenia do tablicy.
  2. Oznacz urządzenie jako wadliwe.
  3. Usunięcie wadliwego urządzenia z tablicy.
  4. Wymiana wadliwego urządzenia na zapasowe.
  5. Uruchom tablicę, która jest częściowo zbudowana.
  6. Zatrzymaj tablicę.
  7. Oznacz tablicę jako ro (tylko do odczytu) lub rw (do odczytu i zapisu).

Zarządzanie urządzeniami RAID za pomocą narzędzia mdadm

Pamiętaj, że jeśli pominiesz opcję --manage, mdadm i tak przyjmie tryb zarządzania. Należy o tym pamiętać, aby uniknąć kłopotów na dalszej drodze.

Zaznaczony tekst na poprzednim obrazie przedstawia podstawową składnię zarządzania RAID:


mdadm --manage RAID options devices

Zilustrujmy to kilkoma przykładami.

Przykład 1: Dodaj urządzenie do macierzy RAID

Zwykle dodajesz nowe urządzenie podczas wymiany wadliwego lub gdy masz część zamienną, którą chcesz mieć pod ręką w przypadku awarii:


mdadm --manage /dev/md0 --add /dev/sdd1

Przykład 2: Oznaczenie urządzenia RAID jako wadliwego i usunięcie go z macierzy

Jest to obowiązkowy krok przed logicznym usunięciem urządzenia z macierzy, a później fizycznym wyciągnięciem go z maszyny – w tej kolejności (jeśli pominiesz jeden z tych kroków, możesz spowodować faktyczne uszkodzenie urządzenia):


mdadm --manage /dev/md0 --fail /dev/sdb1

Zwróć uwagę, jak urządzenie zapasowe dodane w poprzednim przykładzie służy do automatycznej wymiany uszkodzonego dysku. Co więcej, odzyskiwanie i odbudowa danych z rajdu rozpoczyna się natychmiast:

Gdy urządzenie zostanie ręcznie wskazane jako uszkodzone, można je bezpiecznie usunąć z tablicy:


mdadm --manage /dev/md0 --remove /dev/sdb1
Przykład 3: Ponowne dodanie urządzenia będącego częścią tablicy, która została wcześniej usunięta

Do tego momentu mamy działającą macierz RAID 1, która składa się z 2 aktywnych urządzeń: /dev/sdc1 i /dev/sdd1. Jeśli spróbujemy teraz ponownie dodać /dev/sdb1 do /dev/md0:


mdadm --manage /dev/md0 --re-add /dev/sdb1

napotkamy błąd:


mdadm: --re-add for /dev/sdb1 to /dev/md0 is not possible

ponieważ tablica składa się już z maksymalnej możliwej liczby dysków. Mamy więc 2 możliwości: a) dodać /dev/sdb1 jako zapasowy, jak pokazano w przykładzie nr 1, lub b) usunąć /dev/sdd1 z tablicy i następnie dodaj ponownie /dev/sdb1.

Wybieramy opcję b) i zaczniemy od zatrzymania tablicy, aby później ją złożyć:


mdadm --stop /dev/md0
mdadm --assemble /dev/md0 /dev/sdb1 /dev/sdc1

Jeśli powyższe polecenie nie spowoduje pomyślnego dodania /dev/sdb1 z powrotem do tablicy, użyj w tym celu polecenia z Przykładu nr 1.

Chociaż mdadm początkowo wykryje nowo dodane urządzenie jako zapasowe, rozpocznie odbudowę danych i po zakończeniu powinien rozpoznać urządzenie jako aktywną część RAID:

Przykład 4: Zamień urządzenie Raid na określony dysk

Wymiana dysku w macierzy na zapasowy jest tak prosta, jak:


mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/sdd1

Powoduje to, że urządzenie podążające za przełącznikiem --with zostanie dodane do macierzy RAID, podczas gdy dysk wskazany poprzez --replace zostanie oznaczony jako uszkodzony:

Przykład 5: Oznaczenie tablicy Raid jako ro lub rw

Po utworzeniu tablicy musisz utworzyć na niej system plików i zamontować go w katalogu, aby móc z niej korzystać. Prawdopodobnie nie wiedziałeś wtedy, że możesz oznaczyć RAID jako ro, umożliwiając w ten sposób wykonywanie na nim tylko operacji odczytu, lub rw, w celu zapisu również do urządzenia.

Aby oznaczyć urządzenie jako ro, należy je najpierw odmontować:


umount /mnt/raid1
mdadm --manage /dev/md0 --readonly
mount /mnt/raid1
touch /mnt/raid1/test1

Aby skonfigurować tablicę tak, aby zezwalała również na operacje zapisu, użyj opcji --readwrite. Pamiętaj, że przed ustawieniem flagi rw będziesz musiał odmontować urządzenie i zatrzymać je:


umount /mnt/raid1
mdadm --manage /dev/md0 --stop
mdadm --assemble /dev/md0 /dev/sdc1 /dev/sdd1
mdadm --manage /dev/md0 --readwrite
touch /mnt/raid1/test2

Streszczenie

W tej serii wyjaśnialiśmy, jak skonfigurować różne programowe macierze RAID używane w środowiskach korporacyjnych. Jeśli zapoznałeś się z artykułami i przykładami zawartymi w tych artykułach, jesteś przygotowany na wykorzystanie mocy programowych RAID w systemie Linux.

Jeśli masz pytania lub sugestie, skontaktuj się z nami za pomocą poniższego formularza.