Jak mogę zamontować systemy plików o rozmiarach bloków> 4KB?


18

Mam dysk twardy o pojemności 3 TB wyciągnięty z WD Mybook Live NAS. Tabela partycji jest następująca:

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

Próbuję uzyskać dostęp do partycji 4 (dużej!):

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

Wyjście Dmesg:

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

To jest w porządku. O ile wiem, moje jądro nie jest skonfigurowane do obsługi bloków większych niż 4K.

Moje pytanie brzmi: jakiego symbolu powinienem szukać w konfiguracji jądra, aby umożliwić montowanie partycji o większym rozmiarze bloku? Szukałem google i myślałem, że widziałem już tę opcję, ale nie mogę znaleźć żadnej wzmianki o tym w najnowszym stabilnym źródle jądra.

Edycja : pełne informacje o dysku twardym z hdparm tutaj: http://pastebin.com/hDdbUzjd

Edycja : wyjście 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

Uwaga: przekazanie rozmiaru bloku do komendy mount nic nie robi: mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt ... opcja bs jest obsługiwana tylko na kilku systemach plików (a nie ext. .)
John Hunt

Jaka jest dumpe2fs -hwydajność tego woluminu? Moja strona podręcznika mke2fs 2012 mówi: „Prawidłowe wartości wielkości bloku to 1024, 2048 i 4096 bajtów na blok”. Skok z 4096 do 65536.
Hauke ​​Laging 24.04.13

@HaukeLaging - Dodałem ten wynik, dzięki :)
John Hunt


@jofel, który tak naprawdę nie oferuje rozwiązania, tylko niejasne uzasadnienie.
John Hunt

Odpowiedzi:


19

Woohoo, rozwiązałem to :)

Krótka odpowiedź brzmi: nie możesz montować urządzeń o wielkości bloku 4k na maszynach z linuksem x86, o ile wiem, bez poważnego hakowania jądra.

Istnieje jednak obejście problemu .. użycie fuse-ext2 do zamontowania dysku:

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

(prawdopodobnie będziesz musiał najpierw apt-get fuseext2 ..)

działa idealnie za pierwszym razem!

Zasadniczo będzie to sposób, w jaki ludzie mogą odzyskać dyski MyBook Live.

Howto post na blogu tutaj: http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-similar/


Tak, pamięć podręczna strony jądra ogranicza rozmiar bloku do rozmiaru strony procesora, więc dla i386 / amd64 nie można zamontować fs o rozmiarze bloku większym niż 4k. Inną alternatywą jest użycie e2tools.
psusi

1
Dziękuję Ci! W ten sposób mogłem uzyskać dostęp do dysku Seagate Central NAS.
Tobia,

Próbuję w ten sposób na 2 komputerach (kubuntu 14.04 x86 i 15.10 x64), ale zamrażanie i zużycie procesora 100% przez fuseext2 na otwartym folderze montowania. Czy ktoś może mi powiedzieć, dlaczego?
Yura Shinkarev,

Mam podobne doświadczenie jak YShinkarev - zawieszanie się przy próbie dostępu do montowania fuseext2 również zawiesza się, gdy próbuję go umontować. Ctrl + c nie ma wpływu ...
Adam Griffiths

Chociaż nie jest to odpowiedź na pytanie jako takie, możesz odzyskać dane, używając debugfs /dev/sdXXpoleceń, takich jak lsi, rdumpaby skopiować pliki do bezpiecznej lokalizacji. Źródło: n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-rescue Użyłem tej metody, ponieważ fuseext2 zawiesza się ( bugs.debian.org/cgi-bin/bugreport.cgi?bug= 776248 )
Alecz,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.