¿Se puede reemplazar en vivo una unidad Btrfs fallida en RAID-1?

¿Se puede reemplazar en vivo una unidad Btrfs fallida en RAID-1?

Estoy tratando de decidirme por un sistema de archivos y me gustaría saber si es posible reemplazar una unidad fallida en btrfs RAID sin tiempo de inactividad.

  1. Supongamos que creo un nuevo sistema de archivos btrfs usando el comando

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
    
  2. Ahora supongamos que un día /dev/sdcfalla. Hay dos posibilidades: puede fallar gradualmente y mostrar errores SMART; en esta situación puedo agregar un nuevo dispositivo btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnty luego eliminar el antiguo con btrfs device delete /dev/sdc /mnt.

  3. Pero si falla repentinamente y se vuelve ilegible... Una búsqueda en la web dice que en esta situación primero debo desmontar el sistema de archivos, montarlo en modo degradado, agregar un nuevo dispositivo y luego eliminar el dispositivo que falta.

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

Un desmontaje es obviamente una operación disruptiva, por lo que habría tiempo de inactividad: cualquier aplicación que utilice el sistema de archivos obtendría un error de E/S. Pero este tipo de "tutoriales" sobre btrfs parecen obsoletos, considerando que btrfs está en pleno desarrollo.

La pregunta es: considerando el estado actual de btrfs, ¿es posible hacer esto en línea, es decir, sin desmontarlo?

Si no es así, ¿existe una solución exclusivamente de software que pueda satisfacer esta necesidad?

Respuesta1

En Linux 3.8, btrfs replace mountpoint old_disk new_diskse agregó. Si está ejecutando un kernel reciente, le proporcionará la funcionalidad que busca.

información relacionada