既存のアレイにlinux md raid書き込みログを追加する

既存のアレイにlinux md raid書き込みログを追加する

かなり大きなディスクを含むraid5アレイがあるため、停電時に再構築が非常に遅くなります。幸いなことに、--write-journallinux md raidのオプションがあります。マニュアルページには--write-journalオプションがリストされています。作成、構築、または成長の場合:セクションを参照して、成長モードで動作する必要があると思い、書き込みログを動的に追加してみました。

# mdadm --grow /dev/md1 --write-journal /dev/ssd/md1-journal
mdadm: :option --write-journal not valid in grow mode

既存のアレイに書き込みログを追加できるかどうかを知っている人はいますか?それでは、どうすればいいですか?

ベストアンサー1

次のように動作する必要があります。

# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: Journal added successfully, making /dev/md42 read-write
mdadm: added /dev/loop3

ただし、現在(カーネル4.18、mdadm 4.1-rcを使用)、最初にログに生成された配列でのみ機能しているようです。上記の出力は次の後に生成されます。

# mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/loop[012] --write-journal /dev/loop3
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md42 started.
# mdadm --manage /dev/md42 --fail /dev/loop3 --remove /dev/loop3
mdadm: set /dev/loop3 faulty in /dev/md42
mdadm: hot removed /dev/loop3 from /dev/md42

ログなしで配列を作成すると、ログを追加しようとするすべての試行は失敗します。

# mdadm --create /dev/md42 --level=5 --raid-devices=3 /dev/loop[012]
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md42 started.
# mdadm --manage /dev/md42 --readonly --add-journal /dev/loop3
mdadm: /dev/md42 does not support journal device.
# mdadm --manage /dev/md42 --readwrite --add /dev/loop3
# echo journal > /sys/block/md42/md/dev-loop3/state
bash: echo: write error: Invalid argument

だからこれはまだ可能ではないようです。

私が見つけたlinux-raidメーリングリストに関するディスカッションこれは計画された機能です。これがそれ以降に実装された場合、どのように実装されたのかわかりません。おそらくメーリングリストに直接連絡して、この機能が機能したい人がいることをmdadm開発者に伝えることができます!

あなたは頼らなければならないかもしれませんmdadm --create攻撃隊を再現するまたは、アレイのメタデータを編集します。どちらのオプションも少し危険です。

おすすめ記事