NFS
(ver.4)パーティションがインストールされているサーバーは3台です。サーバーAとBは正常ですが、サーバーCのパーティションが正しくマウントされていません。サーバAとBの変更はサーバCに伝播されず、その逆も同様です。mount
サーバーCでは、パーティションはマウント済みとしてマークされます。
mount |grep snapshots
swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 on /opt/gicapods/snapshots type nfs4 (rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114)
df
直接クエリする場合にのみ表示されます。
df -h|grep snapshots
df -h /opt/gicapods/snapshots/
Filesystem Size Used Avail Use%
Mounted on
swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 400G 163G 223G 43% /opt/gicapods/snapshots
この行はfstab
grep snapshots /etc/fstab
swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs defaults 0 0
サーバーが最後に再起動されてから検索しましたが、/var/log/messages
関連項目が見つかりませんでした。
ここで考えられる根本原因が何であるかを教えてください。このようなことが再発しないようにする方法はありますか?
修正する:
grep -e snapshots -e swdvnasots0014 -e swdicgv000803 /proc/self/mountinfo /proc/self/mounts /proc/mounts /etc/mtab
/proc/self/mountinfo:187 49 0:42 / /opt/gicapods/snapshots rw,relatime shared:164 - nfs4 swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 rw,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114
/proc/self/mounts:swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114 0 0
/proc/mounts:swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114 0 0
/etc/mtab:swdvnasots0014.nam.nsroot.net:/swdicgv000803/icgqt000803_c153904 /opt/gicapods/snapshots nfs4 rw,relatime,vers=4.0,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=xxx.xxx.148.149,local_lock=none,addr=10.47.15.114 0 0
答え1
この状況の根本的な原因を単に提供することはほとんど不可能ですが、デバッグと調査が難しいので、コメントセクションでデバッグと調査に関するいくつかのヒントを提供します。元の質問にさまざまなタスクの出力を追加し、根本的な原因が見つかるまで回答を編集します。
まず第一に、問題を明確かつ別の方法で表現することが重要です。 「ディスクがマウントされていない」は、「変更が伝播されない」と同じではありません。ディスクが鮮明に見えます。はいすべてのインストール関連ファイルとコマンドからインストールされます。
今、変更は伝播されないと言いました。マウントの初期状態は何ですか? A/B機、C機の搭載内容が全く違うのですか?それとも一般的に使用されるファイルはありますか?それのように見えますか?以前はどの時点で同じインストール(「変更の伝播が中断されるまで」)、それともまったく異なるコンテンツですか?
もう 1 つは、3 つのシステムすべてで、すべてのインストールオプションとソースがまったく同じであることを再確認することです。特に乗り物の名前が複雑すぎて他の数字が含まれている場合は、いくつかの違いとタイプを見落としがちです。ホストCで他のサーバーやディスクを使用している可能性があり、その違いはすべてを変更する小さな文字かもしれません。したがって、3つのシステムすべてで次のコマンドを実行し、まったく同じであることを確認する必要があります。確認するすべて 文字が同じであることを確認してください。他のサーバーやIPでしょうか?
mount |grep snapshot
- ディスクを比較するときに同じフォルダを比較していますか?デフォルトのマウントフォルダとサブフォルダの間に違いはありますか?システムCにファイルを作成し、ファイルが実際に同じ場所にインストールされているが、ホストAとCには存在しないことを確認してください。
touch /opt/gicapods/snapshots/testfile
df /opt/gicapods/snapshots/testfile
- 前の手順でテストした後、NFSサーバー用に開いているポートがあることをすぐに確認してください(このポートはアイドル期間後に閉じられ、次にマウントにアクセスしたときにカーネルによって再開されるため、躊躇しないでください)。
ss |grep <IP of the NFS file server>
- また、ある端末でtcpdumpを使用し、別の端末でいくつかの操作(ls、検索、読み取り、書き込みなど)を試して、ホストCとサーバー間のネットワーク通信があることを確認します。マウント操作を実行するときにtcpdumpが出力するものがあることを確認してください。
tcpdump -s0 -i any host swdvnasots0014
- ホストCの他のマウントポイントにディスクを手動でマウントしてみてください。何を見ますか?この新しいマウントポイントの内容は、
/opt/gicapods/snapshots
ホストCまたはホストA / Bで見られるものと同じですか?この新しいマウントポイントを変更するとどうなりますか?ホストCまたはホストA / Bの元のマウントポイントに伝播された変更は表示されますか?
この時点でいくつかの手がかりが得られることを願っています。調査中に回答が見つかった場合は、質問で更新してください。そうでない場合は、続行できるようにさまざまなテスト結果を質問に追加してください。頑張ってください!