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.
Supongamos que creo un nuevo sistema de archivos btrfs usando el comando
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
Ahora supongamos que un día
/dev/sdc
falla. Hay dos posibilidades: puede fallar gradualmente y mostrar errores SMART; en esta situación puedo agregar un nuevo dispositivobtrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
y luego eliminar el antiguo conbtrfs device delete /dev/sdc /mnt
.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_disk
se agregó. Si está ejecutando un kernel reciente, le proporcionará la funcionalidad que busca.