3つのディスクを含むRAID 5アレイがありましたが、btrfs
(RAIDで提供されているbtrfs
)ディスクの1つを使用して破損しました。以下でディスクを交換しました。
btrfs device add /dev/sdc /media/raid/
btrfs device delete missing /media/raid/
これにより、ディスク間の再調整が強制され、その後FSは大丈夫でした。
一度再起動した後:
[11152.188020] BTRFS info (device sdb): enabling auto defrag
[11152.188028] BTRFS info (device sdb): disk space caching is enabled
[11152.189762] BTRFS: failed to read chunk tree on sdb
[11152.196224] BTRFS: open_ctree failed
pc ~ # mount -a
mount: wrong fs type, bad option, bad superblock on /dev/sde,
missing codepage or helper program, or other error
syslog
場合によっては、
dmesg | tail
有用な情報を試すことができます。
オペレーティングシステムは最初に行をコメントアウトし、そのfstab
行のコメントを削除しました。
LABEL="raid" /media/raid btrfs compress=lzo,noatime,autodefrag
私はGentoo Linux、カーネル4.0.5を使用しています。
btrfs fi
ショーは次のとおりです。
Label: 'raid' uuid: 906ed4e3-52c5-4eb7-bd06-4810c0b84902
Total devices 3 FS bytes used 775.29GiB
devid 1 size 931.51GiB used 390.06GiB path /dev/sdb
devid 3 size 931.51GiB used 390.04GiB path /dev/sde
devid 4 size 931.51GiB used 390.03GiB path /dev/sdc
pc / # btrfs-find-root /dev/sdc
Superblock thinks the generation is 1758
Superblock thinks the level is 0
Found tree root at 30818304 gen 1758 level 0
Well block 30457856(gen: 1757 level: 0) seems good, but generation/level doesn't match, want gen: 1758 level: 0
Well block 29753344(gen: 1590 level: 0) seems good, but generation/level doesn't match, want gen: 1758 level: 0
Well block 29507584(gen: 1589 level: 0) seems good, but generation/level doesn't match, want gen: 1758 level: 0
Well block 4243456(gen: 3 level: 0) seems good, but generation/level doesn't match, want gen: 1758 level: 0
Well block 4194304(gen: 2 level: 0) seems good, but generation/level doesn't match, want gen: 1758 level: 0
答え1
このオプションを使ってボリュームをマウントしてみましたかrecovery
?
からman mount
:
また覆う:インストール中に間違ったツリールートが見つかった場合は、自動回復試行を有効にします。現在、以前のいくつかのツリールートのリストを検索して読み取ることができる最初のルートを使用しようとします。
mount -o recovery /dev/sdb /media/raid