Можно ли заменить неисправный диск Btrfs в RAID-1 в режиме реального времени?

Можно ли заменить неисправный диск Btrfs в RAID-1 в режиме реального времени?

Я пытаюсь выбрать файловую систему и хотел бы узнать, возможно ли заменить неисправный диск в RAID-массиве BTRFS без простоя.

  1. Предположим, я создаю новую файловую систему btrfs с помощью команды

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. Теперь предположим, что один день /dev/sdcвыходит из строя. Есть две возможности: он может выходить из строя постепенно, показывая ошибки SMART - в этой ситуации я могу добавить новое устройство с помощью , btrfs device add /dev/sde /mnt; btrfs filesystem balance /mntа затем удалить старое с помощью btrfs device delete /dev/sdc /mnt.

  3. Но если он внезапно выйдет из строя и станет нечитаемым... Поиск в Интернете показывает, что в этой ситуации мне сначала нужно размонтировать файловую систему, смонтировать ее в режиме пониженной функциональности, добавить новое устройство, а затем удалить отсутствующее устройство.

    umount /mnt
    mount -o degraded /dev/sdb /mnt
    btrfs device add /dev/sdf /mnt 
    btrfs device delete missing /mnt
    

Размонтирование, очевидно, является разрушительной операцией, поэтому возникнет простой - любое приложение, использующее файловую систему, получит ошибку ввода-вывода. Но такого рода "руководства" по btrfs выглядят устаревшими, учитывая, что btrfs находится в стадии интенсивной разработки.

Вопрос: учитывая текущее состояние btrfs, возможно ли это сделать онлайн, т.е. без размонтирования?

Если нет, то существует ли программное решение, которое может удовлетворить эту потребность?

решение1

В Linux 3.8 btrfs replace mountpoint old_disk new_diskбыл добавлен. Если вы используете последнее ядро, оно предоставит вам функциональность, которую вы ищете.

Связанный контент