Content
- Koncepcje wprowadzające
- Stopnie szczegółowości
- Ogólny proces awarii
- Jak wymienić dysk
- Przewodnik krok po kroku dotyczący wymiany uszkodzonego dysku w systemie głównym ZFS
- Określenie tablicy partycji (GPT lub MBR) i przeniesienie jej na nowy dysk
- Kopiowanie partycjonowania dla GPT
- Kopiowanie partycji MBR
- Instalacja bootloadera
- Dodawanie dysku
- Podsumowanie
Wymiana uszkodzonego dysku w systemie głównym ZFS
Koncepcje wprowadzające
Niniejszy dokument służy jako przewodnik dla administratorów i osób, które posiadają pewien poziom wiedzy na temat komputerowych platform sprzętowych i koncepcji pamięci masowej, takich jak RAID. Jeśli posiadasz już dobre zrozumienie ogólnego procesu awarii, możesz pominąć sekcje dotyczące wymiany dysku i naprawy puli.
Stopnie szczegółowości
Za każdym razem, gdy dysk ulegnie awarii lub wystąpią błędy, system SmartOS rejestruje wiele informacji. Aby dowiedzieć się, co jest przyczyną awarii dysku, należy zagłębić się w szczegóły. Poniżej znajdują się polecenia w kolejności malejącej:
Polecenie "zpool status" zapewnia przegląd stanu puli.
iostat zapewnia nam wysoki poziom liczby błędów, a także szczegółowe informacje o urządzeniach.
fmadm faulty pomoże nam dokładniej określić, co spowodowało awarię dysku. fmadm jest również w stanie usunąć przejściowe błędy;
Polecenie fmdump zapewnia nam dziennik ostatnich {n} dni zdarzeń błędów.
Oprócz wymiany uszkodzonych dysków, informacje te mogą być niezwykle pomocne w wyizolowaniu głównej przyczyny problemu, jeśli problem jest bardziej złożony niż zwykła awaria dysku.
Ogólny proces awarii
W systemie, gdy wystąpi awaria dysku, ZFS nie jest pierwszym komponentem, który ją wykrywa i reaguje na nią. Zamiast tego ma miejsce następująca ogólna kolejność zdarzeń:
1. FMA (Fault Management Architecture) wykrywa i rejestruje uszkodzony dysk. FMA monitoruje i zarządza błędami sprzętowymi w systemie.
2. Gdy FMA wykryje uszkodzony dysk, system operacyjny wkracza do akcji i usuwa dysk z systemu.
3. ZFS, który jest solidnym i skalowalnym systemem plików, staje się świadomy zmienionego stanu. System ZFS wykrywa, że dysk został usunięty i reaguje, zgłaszając błąd urządzenia. Błąd urządzenia oznacza, że ZFS oznacza dysk jako uszkodzony i podejmuje niezbędne środki w celu utrzymania integralności i dostępności danych.
Ten ogólny proces awarii zapewnia, że wszelkie awarie dysków w systemie są szybko wykrywane, rejestrowane i reagowane przez odpowiednie komponenty. FMA wykonuje początkowy krok identyfikacji uszkodzonego dysku, po którym następuje usunięcie go przez system operacyjny, a na końcu ZFS reaguje na zmieniony stan poprzez uszkodzenie urządzenia. Postępując zgodnie z tą kolejnością zdarzeń, system może skutecznie obsługiwać awarie dysków i utrzymywać ogólną stabilność i niezawodność infrastruktury pamięci masowej.
Należy pamiętać, że jest to ogólny opis procesu awarii i może się różnić w zależności od konkretnej implementacji i konfiguracji systemu.
Jak wymienić dysk
Ogólny przegląd nieudanej wymiany dysku w systemie głównym ZFS
Uwaga: Przed przystąpieniem do procesu wymiany dysku upewnij się, że poprawnie zidentyfikowałeś uszkodzony dysk. Upewnij się również, że masz dostępny zapasowy dysk do wymiany.
Przewodnik krok po kroku dotyczący wymiany uszkodzonego dysku w systemie głównym ZFS
Załóżmy, że serwer ma 2 dyski: /dev/sda i /dev/sdb
Jeden z dysków uległ awarii, na przykład /dev/sdb
Uszkodzony dysk musi zostać wymieniony.
Najpierw zdefiniujmy naszą pulę za pomocą polecenia:
zpool list
Przed wymianą dysku zaleca się usunięcie go z macierzy:
zpool detach rpool /dev/sdb
Następnie należy wyłączyć serwer, jeśli nie ma możliwości wymiany dysków na gorąco, ale wszystko opisane poniżej można wykonać bez zatrzymywania serwera - jeśli posiadamy kontroler i hotswap.
poweroff
Fizyczna wymiana uszkodzonego dysku.
Określenie tablicy partycji (GPT lub MBR) i przeniesienie jej na nowy dysk
Po wymianie uszkodzonego dysku należy określić, czy tablica partycji to GPT czy MBR.
W tym celu należy użyć programu gdisk. Zainstaluj gdisk:
apt-get install gdisk -y
Uruchom polecenie:
gdisk -l /dev/sda
Gdzie /dev/sda jest prawidłowym dyskiem w macierzy RAID.
Dla MBR wynik będzie w przybliżeniu następujący:
Partition table scan: MBR: MBR only BSD: not present APM: not present GPT: not present
Dla GPT jest to w przybliżeniu następujące:
Partition table scan: MBR: protective BSD: not present APM: not present GPT: present
Przed dodaniem dysku do macierzy należy go podzielić na partycje dokładnie tak, jak dobry dysk sda. Odbywa się to w różny sposób w zależności od podziału dysku na partycje.
Kopiowanie partycjonowania dla GPT
Aby skopiować partycjonowanie GPT:
Uwaga!Pierwszy dysk to dysk, na który partycjonowanie jest kopiowane, a drugi to dysk, z którego partycjonowanie jest kopiowane. Jeśli je pomylisz, partycjonowanie na pierwotnie sprawnym dysku zostanie zniszczone.
sgdisk -R /dev/sdb /dev/sda
Przypisz nowy losowy identyfikator UUID do dysku:
sgdisk -G /dev/sdb
Kopiowanie partycji MBR
Aby skopiować partycjonowanie MBR:
Uwaga!
W tym miejscu należy najpierw zapisać dysk, z którego przenoszona jest partycja, a następnie dysk, na który jest ona przenoszona.
sfdisk -d /dev/sda | sfdisk /dev/sdb
Jeśli partycje nie są widoczne w systemie, można ponownie odczytać tablicę partycji za pomocą polecenia:
sfdisk -R /dev/sdb
Instalacja bootloadera
Po partycjonowaniu dysku należy zainstalować na nim bootloader:
grub-install /dev/sdb
Dodawanie dysku
Określamy dysk, który chcemy zastąpić (w naszym przypadku jest to /dev/sdb3):
zpool replace rpool /dev/sdb3
Dodawanie dysku do raid:
zpool online rpool /dev/sdb3
Czekamy na zakończenie synchronizacji macierzy:
zpool status
Podsumowanie
Postępując zgodnie z tymi instrukcjami, można z powodzeniem wymienić uszkodzony dysk w systemie ZFS root bez narażania integralności danych. Ważne jest, aby podjąć środki ostrożności i wykonać kroki tworzenia kopii zapasowych i weryfikacji, aby uniknąć potencjalnej utraty danych i zapewnić płynne działanie.