15 votos

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

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

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

    mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
  2. Ahora supongamos que un día /dev/sdc falla. Hay dos posibilidades: puede fallar gradualmente, mostrando errores S.M.A.R.T. - en esta situación puedo añadir un nuevo dispositivo con btrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt y luego eliminar el antiguo con btrfs device delete /dev/sdc /mnt .

  3. Pero si de repente falla, volviéndose ilegible... Una búsqueda en la web dice que en esta situación debo primero desmontar el sistema de archivos, montar en modo degradado, añadir 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 un 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 anticuados, teniendo en cuenta 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 desmontar?

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

1 votos

Si una unidad se incendia, es probable que el resto del sistema también lo haga.

1 votos

@JourneymanGeek Que gracioso.. :) Sólo quería dejar muy claro que me refería a un fallo catastrófico, repentino e imprevisible, el disco simplemente deja de funcionar. Esto es bastante infrecuente, los discos duros suelen fallar poco a poco y con una monitorización eficaz puedo sustituirlos antes de que eso ocurra, pero qué pasa si...

2 votos

En Linux 3.8 btrfs replace mountpoint old_disk new_disk se añadió.

11voto

Brian Puntos 7204

En Linux 3.8, btrfs replace mountpoint old_disk new_disk se ha añadido. Si está ejecutando un kernel reciente, le proporcionará la funcionalidad que está buscando.

5 votos

Esto sería ahora btrfs replace start /dev/old /dev/new /mountpoint ( iniciar se ha añadido). Véase también man btrfs-replace .

1voto

Volker Puntos 1

Pequeña corrección, la sintaxis actual es:

btrfs replace start OLDDEV NEWDEV MOUNTPOINT

que luego se pone en segundo plano.

Puede comprobar el estado con

btrfs replace status MOUNTPOINT

que le mostrará un estado continuamente actualizado de la operación de sustitución.

1 votos

Esto es no una respuesta a la pregunta original. Para criticar o pedir aclaraciones a un autor, deja un comentario debajo de su entrada - siempre puedes comentar tus propias entradas, y una vez que tengas suficiente reputación podrá comentar cualquier entrada .

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: