web-dev-qa-db-ja.com

linux mdraid書き込みジャーナルを既存のアレイに追加します

私は非常に大きなディスクを備えたraid5アレイを持っているので、停電の場合の再構築は本当に遅いです。ありがたいことに、linux mdraidには--write-journalオプションがあります。マニュアルページには、create、build、またはgrow:セクションに--write-journalオプションがリストされているので、growモードで動作するはずだと思い、書き込みジャーナルをその場で追加しようとしました。 :

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

書き込みジャーナルを既存のアレイに追加できるかどうか誰かが知っていますか?もしそうなら、どのように?

1
P.Péter

これは次のように機能するはずです。

# 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レイドを再作成する またはアレイのメタデータを編集します。どちらのオプションも少し危険です。

3
frostschutz

これはPDF可能であると述べています: https://events.static.linuxfound.org/sites/events/files/slides/2016_vault_write_journal_cache_v2.pdf

mdadm --manage /dev/md0 --add-journal /dev/sdf

0
Brendon

レイドは読み取り専用状態である必要があります。 http://man7.org/linux/man-pages/man8/mdadm.8.html の--add-journalを参照してください。

試してください:mdadm --manage/dev/md0 --readonly --add-journal/dev/sdf

0
Ivan Volosyuk