¿Cómo importo un grupo ZFS desde una matriz de unidades desconectada y reconectada?

¿Cómo importo un grupo ZFS desde una matriz de unidades desconectada y reconectada?

Esto no es lo mismo que importar un grupo desde un sistema averiado, ya que el sistema no ha fallado. El sistema operativo está bien (en un grupo/conjunto de unidades/bus sata diferente).

Me gustaría copiar algunos archivos clave antes de reiniciar (y que no salgan limpios, sin manos inteligentes cercanas en el centro de datos remoto sin servicios de un cliente).

En este caso, un carrito USB desapareció y luego se volvió a conectar (fallo de energía/fallo), pero zfs cree que el grupo permanece montado, pero todas las E/S se encajan: sdd y sde se han convertido en sdf y sdg ahora.

El grupo fue montado por /dev/disk/by-id pero, por supuesto, estos ID son los mismos (y en /dev ahora apunta a sd[fg]) y el grupo anterior no se ha exportado.

Cada comando de zpool se bloquea, ya que supongo que toca /dev/sdd y sde, lo que luego cuelga todo el shell (ahora en mi décimo shell bash en las ventanas de pantalla...).

Sin embargo, la matriz funciona: dd if=/dev/sdf1 of=/dev/nullfunciona bien y iostat me muestra IO en esa unidad (lo mismo para sdg). De este modo, la unidad se puede leer sin atascarse.

Pero cualquier comando zpool, incluso zpool import -Nd /dev/sdf1 poolname newpoolnametoca algo en algún lugar del mundo sd[de] y se bloquea.

¿Qué comando de importación de zpool puedo ejecutar para que no intente tocar ninguna otra unidad? zpool import -d /dev/sdf1 -N newname(o 'nombre antiguo nombre nuevo') simplemente cuñas.

Un último recurso podría ser agregar todo el disco a otro sistema como una imagen sin formato y luego modificar zpool allí (a través de dispositivos de bucle), pero enviar 4 TB llevará una eternidad.

información relacionada