Próbuję zdecydować o systemie plików i chciałbym wiedzieć, czy można wymienić uszkodzony dysk w macierzy RAID btrfs bez przestojów.
Załóżmy, że tworzę nowy system plików btrfs za pomocą polecenia
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
Załóżmy teraz, że jeden dzień się
/dev/sdc
nie powiedzie. Istnieją dwie możliwości: może się nie udać stopniowo, wyświetlając błędy SMART - w tej sytuacji mogę dodać nowe urządzenie za pomocą,btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
a następnie usunąć stare za pomocąbtrfs device delete /dev/sdc /mnt
.Ale jeśli nagle się nie powiedzie, stanie się nieczytelny ... Wyszukiwanie w Internecie mówi, że w tej sytuacji muszę najpierw odmontować system plików, zamontować w trybie awaryjnym, dodać nowe urządzenie, a następnie usunąć brakujące urządzenie.
umount /mnt mount -o degraded /dev/sdb /mnt btrfs device add /dev/sdf /mnt btrfs device delete missing /mnt
Odmontowanie jest oczywiście operacją zakłócającą, więc wystąpiłby przestój - każda aplikacja korzystająca z systemu plików otrzymywałaby błąd we / wy. Ale tego rodzaju „samouczki” na temat btrfs wyglądają na przestarzałe, biorąc pod uwagę, że btrfs jest w fazie intensywnego rozwoju.
Pytanie brzmi: biorąc pod uwagę obecny stan btrfs, czy można to zrobić online, tzn. Bez odmontowywania?
Jeśli nie, istnieje rozwiązanie tylko dla oprogramowania, które może zaspokoić tę potrzebę?
źródło
btrfs replace mountpoint old_disk new_disk
dodano 3.8 .Odpowiedzi:
W Linuksie 3.8
btrfs replace mountpoint old_disk new_disk
został dodany. Jeśli używasz najnowszego jądra, zapewni ono funkcjonalność, której szukasz.źródło
btrfs replace start /dev/old /dev/new /mountpoint
( dodano początek ). Zobacz takżeman btrfs-replace
.mała korekta, obecna składnia to:
które następnie tła.
Możesz sprawdzić status za pomocą
który pokaże ci stale aktualizowany status operacji zamiany.
źródło