Làm cách nào tôi có thể gắn hệ thống tệp với kích thước khối 4KB?


18

Tôi có một ổ cứng 3TB được rút ra từ WD Mybook Live NAS. Bảng phân vùng như sau:

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

Vì vậy, tôi đang cố gắng truy cập phân vùng 4 (cái lớn!):

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

Đầu ra Dmesg:

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

Điều này là đủ công bằng. Theo như tôi có thể nói kernel của tôi không được cấu hình để hỗ trợ kích thước khối trên 4K.

Câu hỏi của tôi là, tôi nên tìm kiếm biểu tượng nào trong cấu hình kernel của mình để cho phép các phân vùng có kích thước khối lớn hơn được gắn kết? Tôi đã tìm kiếm trên google về điều này và tôi nghĩ rằng tôi đã thấy tùy chọn này trước đây nhưng tôi không thể tìm thấy bất kỳ đề cập nào về nó trong nguồn kernel ổn định mới nhất.

Chỉnh sửa : Thông tin đĩa cứng đầy đủ từ hdparm tại đây: http://pastebin.com/hDdbUzjd

Chỉnh sửa : đầu ra 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

Xin lưu ý, việc chuyển kích thước khối cho lệnh mount không làm gì cả: mount -t ext4 -o bs = 65536 / dev / sdb4 / mnt .... tùy chọn bs chỉ được hỗ trợ trên một số ít hệ thống tập tin (chứ không phải ext. .)
John Hunt

Là gì dumpe2fs -hđầu ra cho khối lượng đó? Trang man 2012 của tôi cho mke2fs nói: "Các giá trị kích thước khối hợp lệ là 1024, 2048 và 4096 byte mỗi khối." Khá là nhảy từ 4096 đến 65536.
Hauke ​​Laging

@HaukeLaging - Đã thêm đầu ra đó, cảm ơn :)
John Hunt


@jofel không thực sự cung cấp một giải pháp, chỉ là một lý do mơ hồ.
John Hunt

Câu trả lời:


19

Woohoo, tôi đã giải quyết nó :)

Câu trả lời ngắn gọn là bạn không thể gắn các thiết bị có kích thước khối 4k trên các máy linux x86 theo như tôi có thể biết mà không bị hack nhân nghiêm trọng.

Tuy nhiên, có một công việc xung quanh .. sử dụng fuse-ext2 để gắn đĩa:

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

(có thể bạn sẽ cần apt-get fuseext2 trước ..)

hoạt động hoàn hảo lần đầu tiên!

Về cơ bản, đây sẽ là cách mọi người có thể khôi phục đĩa MyBook Live của họ.

Làm thế nào để đăng bài blog ở đây: http://john-hunt.com/2013/04/25/recovering-data-from-a-wd-mybook-live-2tb-3tbor-similar/


Đúng, bộ đệm trang kernel giới hạn kích thước khối với kích thước trang của CPU, vì vậy đối với i386 / amd64, bạn không thể gắn kết fs với kích thước khối lớn hơn 4k. Một cách khác là sử dụng e2tools.
psusi

1
Cảm ơn bạn! Tôi đã có thể truy cập ổ đĩa Seagate Central NAS theo cách này.
Tobia

Tôi thử cách này trên 2 máy (kubfox 14.04 x86 và 15.10 x64), nhưng bị đóng băng và sử dụng CPU 100% bởi fuseext2 trên thư mục mount mở. Có ai có thể nói, tại sao không?
Yura Shinkarev

Tôi đang có trải nghiệm tương tự với YShinkarev - bị treo khi cố gắng truy cập vào fuseext2 mount, cũng bị đóng băng khi tôi cố gắng vượt qua nó. Ctrl + c không có tác dụng ...
Adam Griffiths

Mặc dù điều này không trả lời câu hỏi mỗi lần, bạn có thể khôi phục dữ liệu bằng cách sử dụng debugfs /dev/sdXXnơi bạn có thể chạy các lệnh cơ bản như lsrdumpsao chép các tệp vào vị trí an toàn. Nguồn: n-dimensional.de/blog/2012/05/01/wd-mybook-live-data-resTHER Tôi đã sử dụng phương pháp này vì fuseext2 đóng băng ( bug.debian.org/cgi-bin/ormsreport.cgi?orms= 776248 )
Alecz
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.