Я пытаюсь выбрать файловую систему и хотел бы знать, можно ли заменить неисправный диск в RAID-массиве btrfs без простоев.
Предположим, я создаю новую файловую систему btrfs с помощью команды
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
Теперь предположим, что один день
/dev/sdc
не удался. Есть две возможности: он может постепенно выходить из строя, показывая ошибки SMART - в этой ситуации я могу добавить новое устройство с помощью,btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
а затем удалить старое с помощьюbtrfs device delete /dev/sdc /mnt
.Но если вдруг происходит сбой, он становится нечитаемым ... Поиск в сети говорит, что в этой ситуации я должен сначала размонтировать файловую систему, смонтировать в ухудшенном режиме, добавить новое устройство, а затем удалить отсутствующее устройство.
umount /mnt mount -o degraded /dev/sdb /mnt btrfs device add /dev/sdf /mnt btrfs device delete missing /mnt
Размонтирование, очевидно, является разрушительной операцией, поэтому возможны простои - любое приложение, использующее файловую систему, получит ошибку ввода-вывода. Но такого рода «учебники» по btrfs выглядят устаревшими, учитывая, что btrfs находится в стадии разработки.
Вопрос: учитывая текущее состояние btrfs, возможно ли сделать это онлайн, т.е. без размонтирования?
Если нет, то существует ли программное решение, способное удовлетворить эту потребность?
источник
btrfs replace mountpoint old_disk new_disk
был добавлен.Ответы:
В Linux 3.8
btrfs replace mountpoint old_disk new_disk
был добавлен. Если вы используете последнее ядро, оно обеспечит необходимую вам функциональность.источник
btrfs replace start /dev/old /dev/new /mountpoint
( начало было добавлено). Также смman btrfs-replace
.небольшая коррекция, текущий синтаксис:
какие то фоны.
Вы можете проверить статус с
который покажет вам постоянно обновляемый статус операции замены.
источник