Linux / Systemdでの起動時のディスク検出タイムアウトを増やす


11

多くのディスクを備えたマシンと、HBAモードの追加のSASコントローラーがあります。これにより、ディスクが実際に表示される前に、Linuxはinitramfsで少なくとも8〜10秒間考えます。ディスク検出のタイムアウトは10秒です。これにより、BTRFS / MDADM / etcがシステムにあるRAID1のマウントに失敗し、実際にディスクをマウントして問題なく続行できる緊急シェルに移動します。

私の質問は、起動時にこのタイムアウトを10秒からどのように増やすのですか?systemdにありますか?それはudevにありますか?どこか別の場所?どこから探し始めればよいかわからず、この問題についてグーグルで調べると、I / Oタイムアウトまたは他の(scsi / lun / etc)タイムアウトを上げようとしている人がいるようですが、私はそれを探していません。


1
IDKのどちらかですが、このマルチパスブート遅延の問題が関連しているか、ソリューションにつながる可能性がありますか?
rickhg12hs

@ rickhg12hs投稿で述べたudevパラメータを試しましたが、それでも最初のデバイスを10秒待ってから、しきい値を超えたときに緊急シェルにドロップすることがあります。ヒントをありがとう、私はudevを使用したいくつかのより多くのフィドルしてみてください...
アレックス・

私はまだそれを理解していません。それはカーネルコンパイルパラメータだと思いますが、まだudevのメインドキュメントを詳しく調べていないので、何か見落としているかもしれません。誰もが私は今、それらを聞くと非常に開いている任意のアイデアを持っている場合、私はちょうど私が現場だとき以外は、サーバを再起動することはありませんよ...
アレックス

ドライブはPOST中に実際に回転していますか?彼らが一斉にスピンアップするのに十分なパワーはありますか?HBAにこのオプションがある場合、適切なスピンアップ用にHBAを設定する必要がある場合があります(適切なものがある場合)。
マイケルハンプトン

@MichaelHamptonええ、ドライブは動作していて、SAS構成ツールとBIOSに表示されます。1000WEVGA電源があり、ディスクは2つの異なるレールに分散していますが、十分な電力が必要です。2番目のXeon CPUを追加しました。また、正常に動作し、すべてが稼働しているときに壁から約200〜300Wを引き出しています。これは、HBAのカーネルモジュールが初期ブートフェーズで5秒以上ハングし、他のすべてのディスクが表示されるようなものですずっと後で。
Alex

回答:


3

やっと見つけた!もちろん、これは単純なカーネルパラメータですが、https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.htmlにあります。

私が具体的に探していたパラメーターはですrootdelay。私はすでに試しましたrootwaitが、10秒後も待機を中止したため、明らかにそれだけでは不十分でした。現在、指定された30秒間は実際には待機していませが、ディスクが表示されるまでの時間に応じて約10〜15秒しか待機しないため、本当に高い値を設定しても問題はないようです。これまでのところ、問題を完全に解決したように見える私のユースケースに30を設定します!

これをGrubまたはsystemd-bootのカーネルブートパラメーターに追加できます。

Grub:/ etc / defaults / grub-> GRUB_CMDLINE_LINUX_DEFAULT="rootdelay=30 quiet"

systemd-boot:/boot/loader/entries/yourentry.cfg-> options rootdelay=30 [other options]

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.