web-dev-qa-db-ja.com

sshdのfsck遅延を回避するために、起動後にファイルシステムをマウントします

全体的なダウンタイムを最適化し、システム障害が発生した場合の可用性を向上させようとしています。

特定のサーバーへのシリアルコンソールがないため、再起動(カーネルパニック後など)に時間がかかりすぎて、システムが正常に動作しているかどうかが実際にはわかりません。

sshdの前ではなく、OpenBSDで起動した直後に、必須ではないすべてのファイルシステムをマウントする適切な方法は何でしょうか。

私は約20のファイルシステムを持っていますが、おそらく最も重要なものだけを最初にfsckしてマウントし、次にsshdを開始し、残りはすべてfsck 'され、直後にマウントされました。

そのようなことをするためのベストプラクティスは何でしょうか?

6
cnst

/etc/fstabファイルを編集して、マウントを遅らせたいファイルシステムの4番目のフィールドにnoautoオプションが設定されるようにします。

次に、手動で実行するスクリプトを設定するか、SSHが開始された後に実行するようにrcスクリプトで設定して、残りのファイルシステムをfsckしてマウントします。

OpenBSD/etc/fstabのマニュアルページを読んでから、6番目のフィールドを0に設定して、問題のファイルシステムのfsckを停止することもできます。手動でfsckするかどうかによって異なります。

4
Warwick

I believe fstabエントリにnobootwaitを追加することは機能しますが、openbsdはそれを実装しない可能性があります。 Upstartで使用されるmountalllはそうします。 systemdもそうだと思います。

3
CameronNemo

起動中の自動マウントを回避したい/etc/fstabのエントリを削除/コメントします。次に、/etc/rc.localファイルに完全なマウントコマンド形式でエントリを作成します

1
upkar

可能であれば、読み取り専用でマウントしてください。fsckは必要ありません。

しかし、実際にはもっと具体的にする必要があり(どのパーティションについて話しているのですか?fstabなしで推測しているだけです)、特にそのようなことが理由で発生することを理解する必要があります。例えば。 sshd/usrにあり、ユーザープロファイルは/homeにあります。これらが別々のパーティションであると仮定すると、両方のファイルシステムがダーティである場合、sshdを開始する意味は何ですか?

あなたの問題はいつこれらのパーティションがチェックされるのではなく、どのくらいの時間チェックされるのにかかるかです。これらのチェックを高速化するには、いくつかのオプションがあります。iノードの密度を変更し(newfs -i)、/usrを読み取り専用としてマークします(必要に応じて、パッケージのインストール時などにmount -uwをマークします)。非常に大きなパーティションを小さなパーティションに分割するなど...

1
Zé Loff