Jak zaktualizować macierz ZFS RAID-Z do większych dysków w OpenSolaris?

11

Planuję zainstalować OpenSolarisa na moim serwerze domowym (teraz ma on Linuksa) i chciałbym wiedzieć, jak przygotować się do aktualizacji serwera, aby w przyszłości miał większe dyski twarde. Teraz serwer ma 4x dyski SATA 400 GB i chciałbym zainstalować na nich OpenSolaris z ZFS RAID-Z. Jakiś czas później, w tym lub w przyszłym roku, zamierzam zaktualizować dyski do może 4x dysków SATA 1 TB.

Jak mogę zaktualizować i zwiększyć rozmiar partycji za pomocą ZFS? Czy jest to prosta i bezbolesna operacja (np. Wymieniaj jeden dysk na raz, a ZFS automatycznie zmieni rozmiar, aby wykorzystać całą przestrzeń), czy też są jakieś specjalne kroki? Czy można to zrobić bez wyłączania systemu?

Esko Luontola
źródło

Odpowiedzi:

17
  1. Dysk offline nr 1.
  2. Zastąp stary dysk nowszym dyskiem o dużej pojemności.
  3. zpool wymień dysk.
  4. Poczekaj na przebudowę zamiennika.
  5. Przejdź do kroku 1 i powtórz dla każdego kolejnego dysku w tablicy.

Może być konieczne wyeksportowanie, a następnie zaimportowanie zpool po zakończeniu tej procedury; pula wyświetli wówczas zwiększony rozmiar. Przestoje nie są wymagane, ale jeśli dysk udaje się na południe podczas uaktualniania macierzy, stracisz wszystko, podobnie jak w przypadku czterech dysków ogółem prawdopodobnie masz konfigurację 3 + 1. (Szanse nie są tak duże, ale Murphy nigdy nie śpi.)

Oficjalne źródło: „Wymiana urządzeń w puli pamięci” w Przewodniku administracyjnym ZFS . ZFS Best Practices Guide jest również przydatna.

Brad Ackerman
źródło
+1 dla „Być może trzeba będzie wyeksportować, a następnie zaimportować zpool po zakończeniu tej procedury” - procedura wymiany nie działała dla mnie, dopóki nie podjąłem tej akcji.
Josh
Nie trzeba go ponownie importować, jeśli dla puli autoexpandustawiono opcję on
bahamat
15

Chciałbym dodać, że wymiana nieuszkodzonego napędu sprawia, że ​​nalot jest mniej odporny na awarie. Przed wyjęciem mniejszego dysku możesz najpierw wypełnić dysk zastępujący danymi. Więc zamówienie stanie się.

  • Podłącz większy dysk (może być nawet przez USB)
  • zpool replace smallerdrive biggerdrive
  • czekać
  • kiedy to zrobisz, wyjmij mniejszy dysk lub cokolwiek musisz zrobić.
  • powtarzać
  • i na koniec może być konieczne uruchomienie zpool set autoexpand=on pool

Teraz murphy to mniejszy problem

Josh
źródło
Dla ludzi, którzy robią to w Linuksie: Z powodzeniem wymieniłem każdy dysk, ale nie zwiększy to miejsca podczas pracy autoexpand=on. Musiałem uruchomić zpool online -e poolname devicenamedla każdego urządzenia, a potem zadziałało. Import / eksport nic nie zrobił.
Peterdk,