¿Cómo puedo montar sistemas de archivos con tamaños de bloque> 4KB?

18

Tengo un disco duro de 3 TB extraído de un WD Mybook Live NAS. La tabla de particiones es la siguiente:

Model: ATA WDC WD30EZRS-11J (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 3      15.7MB  528MB   513MB                primary
 1      528MB   2576MB  2048MB  ext3         primary  raid
 2      2576MB  4624MB  2048MB  ext3         primary  raid
 4      4624MB  3001GB  2996GB  ext4         primary

Así que estoy tratando de acceder a la partición 4 (¡la grande!):

root@john-desktop:~/linux-3.9-rc8# mount -t ext4 /dev/sdb4 /mnt/
mount: wrong fs type, bad option, bad superblock on /dev/sdb4,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Salida Dmesg:

[ 2058.085881] EXT4-fs (sdb4): bad block size 65536

Esto es lo suficientemente justo. Por lo que puedo decir, mi kernel no está configurado para admitir tamaños de bloque de más de 4K.

Mi pregunta es, ¿qué símbolo debería buscar en la configuración de mi kernel para permitir que se monten particiones de bloques más grandes? He buscado en Google esto, y pensé que había visto la opción antes, pero no puedo encontrar ninguna mención en la última fuente estable del kernel.

Editar : información completa del disco duro de hdparm aquí: http://pastebin.com/hDdbUzjd

Editar : salida dumpe2fs:

Mount count:              0
Maximum mount count:      30Last checked:             Wed May 30 15:22:14 2012Check interval:           15552000 (6 months)Next check after:         Mon Nov 26 14:22:14 2012Lifetime writes:          319 GBReserved blocks uid:      0 (user root)Reserved blocks gid:      0 (group root)First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      cd7a28a0-714c-9942-29f4-83bca1209130
Journal backup:           inode blocks
Journal features:         journal_incompat_revoke
Journal size:             2048M
Journal length:           32768
Journal sequence:         0x00010146
Journal start:            0
John Hunt
fuente
Tenga en cuenta que pasar un tamaño de bloque al comando mount no hace nada: mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt ... la opción bs solo se admite en un puñado de sistemas de archivos (y no en los ext. .)
John Hunt
¿Cuál es la dumpe2fs -hsalida para ese volumen? Mi página de manual de 2012 para mke2fs dice: "Los valores válidos de tamaño de bloque son 1024, 2048 y 4096 bytes por bloque". Todo un salto de 4096 a 65536.
Hauke ​​Laging
@HaukeLaging - He agregado esa salida, gracias :)
John Hunt
@jofel que en realidad no ofrece una solución, solo un razonamiento vago.
John Hunt

Respuestas:

19

Woohoo, lo resolví :)

La respuesta corta es que no puedo montar> dispositivos de tamaño de bloque 4k en máquinas Linux x86, por lo que puedo ver sin algún hackeo serio del kernel.

Sin embargo, hay una solución alternativa ... usando fuse-ext2 para montar el disco:

fuseext2 -o ro -o sync_read /dev/sdb4 /mnt/

(probablemente necesitará apt-get fuseext2 primero ..)

funciona perfectamente la primera vez!

Esto básicamente será cómo la gente puede recuperar sus discos MyBook Live.

Publicación del blog Howto aquí: http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-similar/

John Hunt
fuente
Sí, la memoria caché de la página del núcleo limita el tamaño de bloque al tamaño de página de la CPU, por lo que para i386 / amd64, no puede montar un fs con un tamaño de bloque de más de 4k. Otra alternativa es usar e2tools.
psusi
1
¡Gracias! Pude acceder a una unidad Seagate Central NAS de esta manera.
Tobia
Lo intento de esta manera en 2 máquinas (kubuntu 14.04 x86 y 15.10 x64), pero obtengo el congelamiento y el uso de la CPU al 100% por fuseext2 en la carpeta de montaje abierto. ¿Alguien puede decirme por qué?
Yura Shinkarev
Estoy obteniendo una experiencia similar a YShinkarev: colgarme cuando intento acceder al soporte fuseext2, también se congela cuando intento desmontarlo. Ctrl + c no tiene ningún efecto ...
Adam Griffiths
Si bien esto no responde a la pregunta per se, puede recuperar los datos utilizando debugfs /dev/sdXXdónde puede ejecutar comandos básicos como lsy rdumppara copiar los archivos a una ubicación segura. Fuente: n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-rescue Utilicé este método porque el fuseext2 se congela ( bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248 )
Alecz