Czy uszkodzony dysk Btrfs w macierzy RAID-1 można wymienić na żywo?


15

Próbuję zdecydować o systemie plików i chciałbym wiedzieć, czy można wymienić uszkodzony dysk w macierzy RAID btrfs bez przestojów.

  1. Załóżmy, że tworzę nowy system plików btrfs za pomocą polecenia

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. Załóżmy teraz, że jeden dzień się /dev/sdcnie 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 /mnta następnie usunąć stare za pomocą btrfs device delete /dev/sdc /mnt.

  3. 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ę?


1
Jeśli jeden dysk się zapali, reszta twojego systemu prawdopodobnie też się pali
Journeyman Geek

1
@JourneymanGeek Funny you .. :) Chciałem tylko wyjaśnić, że mam na myśli katastrofalną, nagłą i nieprzewidywalną awarię - dysk po prostu przestaje działać. Jest to raczej rzadkie, dysk twardy zwykle ulega awarii stopniowo i przy skutecznym monitorowaniu mogę je wymienić, zanim to nastąpi, ale co jeśli ...
NothingsImpossible

2
W Linuksie btrfs replace mountpoint old_disk new_diskdodano 3.8 .
Brian

@Brian woow ... To jest odpowiedź. Poszukałem hasła „btrfs replace”, co pokazało lwn.net/Articles/524589 . Właśnie tego dokładnie szukałem. Prześlij ją jako odpowiedź, aby ją zaakceptować.
Nic nie można

Odpowiedzi:


11

W Linuksie 3.8 btrfs replace mountpoint old_disk new_diskzostał dodany. Jeśli używasz najnowszego jądra, zapewni ono funkcjonalność, której szukasz.


4
To byłoby teraz btrfs replace start /dev/old /dev/new /mountpoint( dodano początek ). Zobacz także man btrfs-replace.
basic6,

1

mała korekta, obecna składnia to:

btrfs zamień start OLDDEV NEWDEV MOUNTPOINT

które następnie tła.

Możesz sprawdzić status za pomocą

btrfs zastąp status MOUNTPOINT

który pokaże ci stale aktualizowany status operacji zamiany.


1
To nie jest odpowiedź na pierwotne pytanie. Aby skrytykować lub poprosić autora o wyjaśnienie, zostaw komentarz pod jego postem - zawsze możesz komentować własne posty, a gdy będziesz mieć wystarczającą reputację , będziesz mógł komentować każdy post .
DavidPostill
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.