次の コメント 私を混乱させます:
たまたま、dracutのシャットダウンルーチンにすべてのRAIDアレイをシャットダウンするコードがあります...
非ルートディスクの場合、これはmdadmサービスの一部である必要があります。
Linuxは、dracutでサポートされているより強力な initramfsへのシャットダウン 手法なしで、長年にわたってソフトウェアRAIDでrootをサポートしてきました。だから私は再確認しましたが、dracutや/run/initramfs/shutdown
がないDebian9でも問題なく動作します。再起動しても、再同期は/proc/mdstat
に表示されません。/lib/systemd/systemには実際にはmdadm.service
はなく、/etc/init.d/mdadm
を無効にするマスクファイルだけがあります。
mdadm
を使用してシャットダウン中にRAIDアレイを停止するユーザースペースの重要性は何ですか?なぜドラカットはこれを行うのですか?上にリンクされたバグで発生したように、アレイの不潔なシャットダウン(将来の再同期が必要)を回避するためにこれを行う必要がありますか?元のバグレポートはIMSMに関するものであり、mdadmはのすべての機能をサポートしているわけではありません。
または、ユーザースペースがプロセスを推進する場合、エラーに応答できるという唯一の重要性です。カーネルよりも包括的なメッセージを表示したり、どこかにログを記録しようとしたりしますか?
コメントは、を使用してドラカットをフォローすることを示唆しています
--wait-clean
指定された各mdデバイス、または--scanが指定されている場合は/ proc/mdstat内の各デバイスについて、アレイができるだけ早くクリーンとマークされるように調整します。配列が外部メタデータを使用し、正常に待機した場合、mdadmは成功して戻ります。ネイティブアレイの場合、カーネルがシャットダウン時にダーティクリーン遷移を処理すると、これはすぐに戻ります。セーフモード処理が無効になっている場合、アクションは実行されません。
ユーザースペースで配列を停止する必要があるのは、「ネイティブ」でない配列だけのようです。 「ネイティブ」の定義は示されていませんが、IMSMのようなものを区別するためにこの修飾子が挿入された場合はもっともらしいでしょう。
公平を期すために、これは、Linux開発者/ベンダーが特に関心を持っていないIMSM(およびより一般的には偽物)などの機能に期待できる種類の品質です。AFAICTはデータ損失を直接引き起こしません(「のみ」削除します)ディスクの再同期にかかる時間にかかわらず、完全な冗長性のメリット)。