次の状態のbtrfs RAID1システムがあります。
# btrfs filesystem show
Label: none uuid: 975bdbb3-9a9c-4a72-ad67-6cda545fda5e
Total devices 2 FS bytes used 1.65TiB
devid 1 size 1.82TiB used 1.77TiB path /dev/sde1
*** Some devices missing
紛失したデバイスは、完全に故障してオペレーティングシステムに認識されないディスクドライブです。故障したディスクを取り除き、リサイクルのために送った。
これで、/dev/sddに新しいディスクがマウントされました。オンラインで検索しても、この状況の説明が見つかりません(検索語を誤って選択しましたか?)。オペレーティングシステムが障害が発生したディスクにアクセスし続けている間にRAIDシステムを回復する方法の多くの例があります。 btrfs replace
このコマンドにはソースディスクが必要です。
私は以下を試しました:
# btrfs replace start 2 /dev/sdd /mnt/brtfs-raid1-b
# btrfs replace status /mnt/brtfs-raid1-b
Never started
エラーメッセージはありませんが、ステータスには開始されていないと表示されます。私の試みに何が問題なのかわかりません。
私はUbuntu 16.04 LTS Xenial Xerus、Linuxカーネル4.4.0-57-genericを実行しています。
アップデート#1
「非バックグラウンドモード(-B)」でコマンドを実行すると、以前に見たことのないエラーが表示されます。
# btrfs replace start -B 2 /dev/sdd /mnt/brtfs-raid1-b
ERROR: ioctl(DEV_REPLACE_START) failed on "/mnt/brtfs-raid1-b": Read-only file system
/mnt/brtfs-raid1-b
ROがインストールされました(読み取り専用)。選択の余地はありません。 Btrfsは、残りのディスクを読み書き可能(RW)としてマウントすることを許可しません。ディスクRWをマウントしようとすると、システムログに次のエラーが表示されます。
BTRFS: missing devices(1) exceeds the limit(0), writeable mount is not allowed
ROモードでは何もできないようです。ディスクを交換、追加、または取り外すことはできません。ただし、ディスクをRWにマウントする方法はありません。どんなオプションがありましたか?
単純ディスクに障害が発生しても、状況はこのように複雑にならないでください。システムは引き続きRWを実行し、ドライブ障害について警告する必要があります。アプリケーションがまだディスクの問題を認識していないまま、新しいディスクを挿入してその中のデータを再コピーできるようにする必要があります。これが正しいRAIDです。
ベストアンサー1
replace
実行するにはファイルシステムをマウントする必要がありますrw
。
ダウングレードされたBTRFS RAID1ファイルシステムではそして1つだけrw
マウントされたファイルシステムを使用する機会があります-o degraded
:
degraded (default: off) Allow mounts with less devices than the RAID profile constraints require. A read-write mount (or remount) may fail when there are too many devices missing, for example if a stripe member is completely missing from RAID0.
マウントした後、欠落しているデバイスをrw
見つけます。devid
btrfs filesystem show /mountpoint
紛失した機器を新しい機器と交換してください。
btrfs replace start -B <devid> /dev/new-disk /mountpoint
ヘルスチェック:
btrfs replace status /mountpoint