Uma unidade Btrfs com falha no RAID-1 pode ser substituída ao vivo?

Uma unidade Btrfs com falha no RAID-1 pode ser substituída ao vivo?

Estou tentando decidir sobre um sistema de arquivos e gostaria de saber se é possível substituir uma unidade com falha no RAID btrfs sem tempo de inatividade.

  1. Suponha que eu crie um novo sistema de arquivos btrfs usando o comando

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. Agora suponha que um dia /dev/sdcfalhe. Existem duas possibilidades: pode falhar gradativamente, apresentando erros SMART - nesta situação posso adicionar um novo dispositivo com btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnte depois remover o antigo com btrfs device delete /dev/sdc /mnt.

  3. Mas se falhar repentinamente, tornando-se ilegível... Uma pesquisa na web diz que nesta situação devo primeiro desmontar o sistema de arquivos, montar no modo degradado, adicionar um novo dispositivo e, em seguida, remover o dispositivo ausente.

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

Uma desmontagem é obviamente uma operação perturbadora, portanto haveria tempo de inatividade - qualquer aplicativo que usasse o sistema de arquivos receberia um erro de E/S. Mas esse tipo de "tutorial" sobre o btrfs parece desatualizado, considerando que o btrfs está em forte desenvolvimento.

A pergunta é: considerando o estado atual do btrfs, é possível fazer isso online, ou seja, sem desmontar?

Caso contrário, existe uma solução apenas de software que possa atender a essa necessidade?

Responder1

No Linux 3.8, btrfs replace mountpoint old_disk new_diskfoi adicionado. Se você estiver executando um kernel recente, ele fornecerá a funcionalidade que você procura.

informação relacionada