Come posso montare filesystem con blocchi di dimensioni> 4KB?


18

Ho un disco rigido da 3 TB estratto da un WD Mybook Live NAS. La tabella delle partizioni è la seguente:

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

Quindi sto provando ad accedere alla partizione 4 (quella 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

Uscita Dmesg:

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

Questo è abbastanza giusto. Per quanto ne so, il mio kernel non è configurato per supportare blocchi di dimensioni superiori a 4K.

La mia domanda è: quale simbolo dovrei cercare nella mia configurazione del kernel per consentire il montaggio di partizioni di dimensioni più grandi? Ho cercato Google per questo, e pensavo di aver visto l'opzione prima, ma non riesco a trovarne alcuna menzione nell'ultimo kernel stabile stabile.

Modifica : informazioni complete sul disco rigido da hdparm qui: http://pastebin.com/hDdbUzjd

Modifica : output di 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

Nota: passare una dimensione di blocco al comando mount non fa nulla: mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt .... l'opzione bs è supportata solo su una manciata di filesystem (e non su ext. .)
John Hunt,

Qual è l' dumpe2fs -houtput per quel volume? La mia pagina man del 2012 per mke2fs dice: "I valori validi per la dimensione del blocco sono 1024, 2048 e 4096 byte per blocco." Un
bel

@HaukeLaging - Ho aggiunto quell'output, grazie :)
John Hunt,


@jofel che in realtà non offre una soluzione, solo un vago ragionamento.
John Hunt,

Risposte:


19

Woohoo, l'ho risolto :)

La risposta breve è che non è possibile montare dispositivi di dimensioni di blocco> 4k su macchine Linux x86 per quanto ne so senza un serio hacking del kernel.

Tuttavia, c'è un modo per aggirare .. usando fuse-ext2 per montare il disco:

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

(probabilmente dovrai apt-get fuseext2 prima ..)

funziona perfettamente la prima volta!

Questo sarà fondamentalmente il modo in cui le persone possono recuperare i loro dischi MyBook Live.

Post di blog Howto qui: http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-similar/


Sì, la cache della pagina del kernel limita la dimensione del blocco alla dimensione della pagina della CPU, quindi per i386 / amd64, non è possibile montare un fs con dimensioni del blocco superiori a 4k. Un'altra alternativa è usare e2tools.
psusi,

1
Grazie! Sono stato in grado di accedere a un'unità NAS centrale Seagate in questo modo.
Tobia,

Provo in questo modo su 2 macchine (kubuntu 14.04 x86 e 15.10 x64), ma ottengo il congelamento e l'utilizzo della CPU al 100% da fuseext2 sulla cartella open mount. Qualcuno può dire, perché?
Yura Shinkarev,

Sto vivendo un'esperienza simile a YShinkarev: il blocco quando provo ad accedere al supporto fuseext2, si blocca anche quando provo a smontarlo. Ctrl + c non ha alcun effetto ...
Adam Griffiths,

Sebbene ciò non risponda alla domanda di per sé, è possibile ripristinare i dati utilizzando debugfs /dev/sdXXdove è possibile eseguire comandi di base come lse rdumpper copiare i file in un luogo sicuro. Fonte: n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-rescue Ho usato questo metodo perché il fuseext2 si blocca ( bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248 )
Alecz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.