まず背景情報です。この問題が発生したサーバーは、まだ 1 年未満しか稼働しておらず、外部 SAS JBOD が含まれています。このサーバーは、Debian 8 を実行する古い Web サーバーとその専用ストレージ サーバーの役割を担うことを目的としていました。
標準的な Debian Buster のインストールが完了し、基本的なセットアップが完了した後、専用 DB サーバーによる DB 部分を除く LAMP スタックのほとんどがリポジトリからインストールされました。次に、リポジトリから ZFS がインストールされ、JBOD 内のすべてのドライブを使用するようにプールが設定され、ZFS ファイルシステムが設定されました。ここまでは順調です。最後に、Web サイトで問題が発生しないように、古い Web サーバーにもあったすべてのソフトウェアをインストールしました。
次に構成を行い、古いサーバーの OS 構成をミラーリングした後、カスタマイズされた Apache 構成ファイルをすべて古いサーバーから新しいサーバーにコピーしました。次に、SSL および SSH 証明書とキーをコピーし、すべてが機能していることが確認された直後に更新を計画しました。次に、データ サーバー上のものを含む Web サイト コンテンツの初期コピーが完了しました。最後に、Apache 構成の微調整を行う必要がありました。これは主に、データ サーバーのものが新しい場所に移動したためです。これは、/mnt/xxx を /zfsroot/xxx に置き換えるだけで済みました。すべてが完了した後、再起動を実行し、少なくともローカル ネットワーク内ではサイトが稼働しました。
ウェブサイト担当者全員がサイトをチェックしましたが、ブラウザ内で問題は見つかりませんでした。すべてうまく機能しているように見えましたが、切り替える前に問題が発生しました。古いデータ サーバーはセカンダリ DMZ 内にあり、Web サーバーはすべてプライマリ DMZ 内にありました。すべてのプライマリ DMZ サーバーへのアクセスは、SSH キーとパスワードが毎月変更される、1 つのサーバー上の単一の非ルート アカウントを介して行われます。メインの Web サーバーをユーザー アクセスの基盤として開放し、データを追加したりサイトをオンザフライで変更したりすることは、セキュリティ上のリスクが大きすぎると判断されたため、当面は古いデータ サーバーを使用する必要がありました。このサーバーは、専用リンク (文字通り、2 つのインターフェイス間の CAT6 ケーブルのみ) を介して NFSv3 を使用して、ユーザーがメイン サーバーにアクセスできないようにしながら、Web サイトに必要なデータを提供します。そこで、インターフェイスとマウント ポイントを準備し、Apache 構成をそれらを指すように変更しました。最後に、古い Web サーバーと新しい Web サーバーの間で最終的な rsync を実行し、古いサーバーの IP を使用するように IP を変更し (ファイアウォールと NAT の理由のため)、両方の Web サーバーの電源をオフにし、データ サーバーのケーブルを移動して、新しいサーバーの電源を入れました。すると、問題が発生し始めました。
最初は、Apache プロセス数が上限に達しているという明らかな問題でした。新しいサーバーは古いものよりも強力だったので、新しい上限を計算して設定しました。その後、その問題が再び発生し、最初の手順として apache2.service を再起動すると、タイトルに表示されている「プロパティの取得に失敗しました: トランスポート エンドポイントが接続されていません」というエラーが発生しました。systemd の再起動と古き良きシャットダウン -r の両方を使用してサーバーを再起動しようとしましたが、どちらも失敗しました。そこで、いくつかの sysrq キーで終了する適切なシャットダウン手順を考案し、それが機能しました。システム ログを調べてみると、無数の NFS エラーが見つかりました。この質問、他には何もありません。その質問では、Debian 8 から 11 にアップグレードした後にすべてがダウンしたことに注意してください。これは、新しいサーバーが可能な修正としてセットアップされた後に発生し、私はそれに非常に集中しました。
NFS が原因でしょうか? Apache2 の設定でしょうか? わかりませんし、エラー メッセージを検索してもほとんど何も得られません。どなたか助けていただければ幸いです。