ケースは次のとおりです。
次のようにRAID 1に設定された2つのディスクがあります。
/dev/md0
(/dev/sda1
+/dev/sdb1
)→/boot
/dev/md1
(/dev/sda2
+/dev/sdb2
)→/
私のシナリオ:
- RAID 1およびフルアレイ同期を使用したサーバーの起動
- サーバーを正常にシャットダウンします。
- ディスクの1つを取り外します(
/dev/sdb
)。 - ディスクを1つだけ使用して再起動してみてください。
私のシナリオはopenSuse 11.3→42.1で正しく実行されます。
openSuse 42.2でディスクを1つだけ起動しようとすると、GRUBはアレイにも正しくロードされますが、ルート(/dev/md1
)デバイスを永遠に待機します。配列を中断して続行したい。
私はDVDに42.2を新しくインストールし(zypperアップデートの有無にかかわらず)、42.1でオンライン展開アップグレードを実行してテストしました。すべてのシナリオに同じ問題があります。
シャットダウン前にアレイが損傷した場合、通常は起動します(アレイが破損しています)。
また、コマンドラインでRAIDデバイスを指定する方法もテストしましたが(linux .... root=/dev/md1 md=1 /dev/sda2,/dev/sdb2
図を参照)、役に立ちませんでした。
openSuse Bugzillaが開いたチケットでスクリーンショットを見つけることができます。https://bugzilla.opensuse.org/show_bug.cgi?id=1017695
お客様のサイトでは、「ハードシャットダウン」(中央アメリカで一般的な電気(バッテリー)停電)が原因でディスクが損傷し、上記のような状況が発生するいくつかの問題が発生したため、この問題を解決することが重要です。 。どういうわけかこの問題を解決できない場合は、openSuse 42.2にアップグレードできません。
/boot
ブートローダ(GRUB2)は任意のディスクから起動でき、GRUBは常に正しくロードされるため(RAID 1パーティションでも)問題にならないようです。問題は、後でルートファイルシステムがマウントされたときに発生します。たぶんスクリプトの問題でしょうかdracut-pre-mount
?
すべてのアイデアを歓迎します...
答え1
実際にopenSuseのバグで確認されました。 dracut設定ファイルがありません...
回避策については後述する。https://bugzilla.opensuse.org/show_bug.cgi?id=1017695