単一のデバイスbtrfsファイルシステムを作成しました。 btrfs Wikiの記事によると複数のデバイスを使用、以下を使用してRAID1に変換できる必要があります。
btrfs balance start -dconvert=raid1 -mconvert=raid1 /path
Linux 3.16で起動しましたが失敗しました(カーネルパニック)。 Linux 4.0 にアップグレードし、ファイルシステムをマウントして、続行してください。しかし、メタデータやシステム(ベースbtrfs fi df
)ではないデータだけを扱っています。私はgitから最新のbtrfs-progsを取得し(以前のバージョンによるものではないことを確認するために)、次のようにしました。
Watt:/home/anthony/src/btrfs-progs# ./btrfs balance start -v -mconvert=raid1 /path
Dumping filters: flags 0x6, state 0x0, force is off
METADATA (flags 0x100): converting, target=16, soft is off
SYSTEM (flags 0x100): converting, target=16, soft is off
Done, had to relocate 6 out of 1411 chunks
しかし、明らかにそれは実際には反映しません。今私にいます:
Watt:/home/anthony/src/btrfs-progs# ./btrfs fi usage /path
Overall:
Device size: 7.28TiB
Device allocated: 2.75TiB
Device unallocated: 4.53TiB
Device missing: 0.00B
Used: 2.74TiB
Free (estimated): 2.26TiB (min: 2.26TiB)
Data ratio: 2.00
Metadata ratio: 2.00
Global reserve: 512.00MiB (used: 0.00B)
Data,RAID1: Size:1.37TiB, Used:1.37TiB
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 1.37TiB
/dev/mapper/luks-ec97c1ad-21d8-41bb-9072-e5a74f68e416 1.37TiB
Metadata,DUP: Size:2.50GiB, Used:1.58GiB
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 5.00GiB
System,DUP: Size:32.00MiB, Used:224.00KiB
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 64.00MiB
Unallocated:
/dev/mapper/luks-562e4e2f-2894-415a-aaf1-7c94a11c33b9 3.17TiB
/dev/mapper/luks-ec97c1ad-21d8-41bb-9072-e5a74f68e416 1.36TiB
私は再び完全なバランスを試しましたが(-dconvert=raid1
そして両方を使って-mconvert=raid1
)それもうまくいきませんでした。
注:大きなディスク(56…b9)は私が追加しました。
メタデータとシステムイメージを取得するには?
答え1
これは、バランス時にトランジションフィルタが機能しなくなるカーネル4.0の回帰です。すべてのコンバージョンが影響を受けるように見えます(ただし、シングル-> raid1またはraid1-> raid5ではありません)。最近見るメーリングリストスレッド、現在正式な修正はありません。カーネルにパッチを適用する場合は、単純なパッチを一時修正として使用できます。
これはv4.0の既知のバグです。回帰を引き起こしたコミットを元に戻すためにパッチ[1]を送信しましたが、応答がありませんでした。この方法を適用するか、2f0810880f08(「btrfs:ブロックグループroを設定したときにブロック割り当て試行を削除しました」)を復元して、問題を一時的に解決できます。