손상된 것으로 보이는 btrfs raid 6 배열을 실행하는 서버가 있습니다. 설치하려고 하면 다음과 같은 오류 메시지가 나타납니다. 어떻게, 왜 고장이 났는지 모르겠습니다. 아마도 정전 같은 것일 수도 있습니다(휴가 중에 발생한 일입니다).
root@storage:/home/administrator# mount /dev/sdb /mnt/storage/
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
내가 시도한 모든 것은 -o recovery,ro | -o degraded| -o clear_cache
동일한 오류 메시지를 나타냈습니다.
dmesg를 확인하면 이것이 출력됩니다.
BTRFS info (device sde): enabling auto recovery
BTRFS info (device sde): disk space caching is enabled
BTRFS: bdev /dev/sde errs: wr 1759, rd 0, flush 1091, corrupt 0, gen 0
BTRFS (device sde): parent transid verify failed on 17548820480 wanted 19215 found 18180
BTRFS (device sde): parent transid verify failed on 17548820480 wanted 19215 found 18180
BTRFS (device sde): parent transid verify failed on 17548820480 wanted 19215 found 18180
BTRFS (device sde): parent transid verify failed on 17548820480 wanted 19215 found 18180
BTRFS (device sde): parent transid verify failed on 17548820480 wanted 19215 found 18180
BTRFS (device sde): parent transid verify failed on 17548820480 wanted 19215 found 18180
BTRFS: error (device sde) in open_ctree:2897: errno=-5 IO failure (Failed to recover log tree)
------------[ cut here ]------------
WARNING: CPU: 0 PID: 11885 at /build/linux-SKpZC9/linux-3.19.0/fs/btrfs/extent-tree.c:137 btrfs_put_block_group+0x71/0x80 [btrfs]()
Modules linked in: iosf_mbi coretemp crct10dif_pclmul crc32_pclmul ghash_clmulni_intel ppdev aesni_intel aes_x86_64 lrw vmw_balloon gf128mul glue_helper ablk_helper cryptd serio_raw vmwgfx ttm drm_kms_helper drm i2c_piix4 vmw_vmci shpchp 8250_fintek parport_pc parport mac_hid nfsd auth_rpcgss nfs_acl lockd grace sunrpc autofs4 btrfs xor raid6_pq psmouse vmxnet3 mptspi mpt2sas raid_class scsi_transport_sas mptscsih mptbase scsi_transport_spi pata_acpi
CPU: 0 PID: 11885 Comm: mount Tainted: G W 3.19.0-26-generic #28-Ubuntu
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 09/30/2014
ffffffffc029dc10 ffff88002f0cfb88 ffffffff817c45cf 0000000000000007
0000000000000000 ffff88002f0cfbc8 ffffffff81076a6a ffff88003a0fb000
ffff88003bc34400 ffff88003bc34400 ffff88003a0fb080 ffff88003a0fb000
Call Trace:
[<ffffffff817c45cf>] dump_stack+0x45/0x57
[<ffffffff81076a6a>] warn_slowpath_common+0x8a/0xc0
[<ffffffff81076b5a>] warn_slowpath_null+0x1a/0x20
[<ffffffffc01fd2d1>] btrfs_put_block_group+0x71/0x80 [btrfs]
[<ffffffffc02078e8>] btrfs_free_block_groups+0x108/0x460 [btrfs]
[<ffffffffc0216bb6>] open_ctree+0x1896/0x2090 [btrfs]
[<ffffffffc01ecb10>] btrfs_mount+0x860/0x930 [btrfs]
[<ffffffff811f8e88>] mount_fs+0x38/0x1c0
[<ffffffff8119ce25>] ? __alloc_percpu+0x15/0x20
[<ffffffff8121556b>] vfs_kern_mount+0x6b/0x120
[<ffffffff812183be>] do_mount+0x21e/0xcb0
[<ffffffff8121916b>] SyS_mount+0x8b/0xd0
[<ffffffff817cb70d>] system_call_fastpath+0x16/0x1b
---[ end trace 7bbd52ae33403cc9 ]---
BTRFS: open_ctree failed
나도 btrfs rescue super-recover -y -v /dev/sdb
도망쳤다 btrfs rescue chunk-recover -y -v /dev/sdb
. 슈퍼 복구를 실행하면 모든 것이 정상이라고 표시됩니다. 러닝 블록 복구에는 오랜 시간이 걸렸지만 내가 본 어떤 것도 수정되지 않았습니다.
실행 결과를 root@storage:/home/administrator# btrfs rescue chunk-recover -y -v /dev/sdb
볼 수 있습니다여기 과거 쓰레기통에조금 길다