chroot、ピボット_ルート、および置換

chroot、ピボット_ルート、および置換

ネットワーク機能はありますが、ストレージが限られている小規模なLinuxシステムを考えてみましょう。

したがって、nfsとchroot(またはivob_root)を使用して、完全にカスタマイズされた素晴らしいrootfsをマウントできます。

今まではそんなに良くなった。

ここで、nfs サーバーとクライアント間のネットワークエラーを考えてみましょう。もちろん、システムは中断されます。

nfsの状態を定期的に確認して失敗した場合、元の小さなrootfsでchroot(pivot_roots)するアプリケーションを実行する安全な方法はありますか?(その後、nfsの復元を再試行します)

それともこれが必須ですか?それとも、NFSはそれを無人として扱いますか?

私が心配しているのは、ネットワークの中断時に実行中のプログラムにリポジトリの何かが必要な場合に競合が発生することです。そのため、NFS が独自に修復されてもプログラムは再起動されず、すべての Linux プログラムがこのようなエラーが発生しやすいようにコーディングされているわけではありません。

したがって、最良の方法は、元の小さなrootfs(素晴らしい、安全な読み取り専用ファイルシステム)で安全にルートを再起動し、すべてを再初期化することです。

答え1

賢い仕事をしないでください。必要なく、壊れるでしょう。

タイムアウトが発生せず、タイムアウトエラーが報告されないようにnfsマウントを設定します。アプリケーションがタイムアウトしない限り問題ありません(間違って書かれていない場合)。大丈夫です。

私は複数のシンクライアント(ディスクなし)を持つシステムで作業しており、すべてがNFS(スワップを含む)を介してマウントされました。 NFS サーバーを再起動するか、ケーブルを切断すると、クライアントがハングアップしてサーバーが再起動された後も実行されます。これは予想される動作です。

ただし、インストール時にオプションのタイムアウトオプションを使用しないことを確認する必要があります。

関連情報