
Tengo un hardware antiguo que falló hace años y todavía tengo 2 discos duros allí, ambos configurados como JBOD.
¿Hay alguna manera de volcar estas unidades en un HDD y eliminar/reconstruir el JBOD con el hardware real que ya no está disponible?
El JBOD se construyó sobre un chip Promise 20579: placa base MSI K8T Neo para AMD 64.
Respuesta1
Existe la posibilidad de que sus discos estén simplementeconcatenadoen un gran volumen. Es la solución más sencilla cuando se trata de JBOD.Si tan solo los chicos del hardware siguieranel principio del beso, no tendrá problemas para acceder/descargar los datos con software en lugar de hardware.
En Linux, la herramienta adecuada es dmsetup
, pero si desea volcar los discos solo en una imagen (u otro disco), entonces la simple cat
puede ser suficiente.
Investigación
Al principio necesitas saber el orden original de los discos en JBOD. Debería ser fácil identificar el primer disco; La parte complicada es ordenar el resto. En tu caso, donde hay dos HDD, no deberías tener ningún problema. El primer disco tiene una tabla de particiones MBR válida o un GPT válido (primario, pero no secundario) que describe las particiones encompletoJBOD. A menos que haya utilizado su JBOD sin ninguna tabla de particiones, este método funcionará. Revise sus discos gdisk -l
e identifique el primero.
Preparación
En mi ejemplo, el orden correcto es /dev/sdb
,. /dev/sdc
Cambie las siguientes definiciones de variables según sus necesidades.
device1=/dev/sdb
device2=/dev/sdc
De esta manera puedes usar los comandos Bash que siguen sin ningún cambio.
Para volcar los discos a una imagen, esto debería ser suficiente (nota: de ahora en adelante puede que necesites sudo
):
cat "$device1" "$device2" > image.raw
Se requiere más preparación si realmente desea trabajar con JBOD. Debe almacenar los tamaños de sus dispositivos en sectores de 512 bytes. El comando para recuperar el tamaño es como blockdev --getsz /dev/sdX
, entonces
size1="$(blockdev --getsz "$device1")"
size2="$(blockdev --getsz "$device2")"
Confirma echo "$size1" "$size2"
que tienes dos números. (Comprobación de cordura: si los multiplica por 512, debería obtener los tamaños de sus discos).
Creación de dispositivos mapeados
Es hora de crear un dispositivo virtual concatenado. El siguiente fragmento de código utilizaaquí documentosintaxis para facilitar la lectura. Es posible que deba ajustarlo si no usa Bash. Por otro lado, con Bash debería funcionar simplemente pegándolo en la terminal.
dmsetup create mydevice << EOF
0 $size1 linear $device1 0
$size1 $size2 linear $device2 0
EOF
Nota mydevice
es un nombre arbitrario. La segunda y tercera línea crean un mapa de dispositivos para dmsetup
. Consulte man dmsetup
para obtener más información.
Ahora deberías tenerlo /dev/mapper/mydevice
disponible y listo para usar; es tu JBOD. (No estoy 100% seguro de que cada implementación de dmsetup
cree nodos en /dev/mapper/
; sin embargo, mydevice
debería aparecer en alguna parte). Trabaje con él como con cualquier otro dispositivo.
Montaje
Leermi otra respuesta. La totalidadMontajesección del mismo se aplica a su caso.
Limpieza
Para destruir /dev/mapper/mydevice
:
dmsetup remove /dev/mapper/mydevice
Por supuesto, primero debes umount
dividir sus particiones.