Autofsにマウントされたホームディレクトリを備えたSolaris10サーバーがあります。 1つのサーバーでは、10分のタイムアウト期間後にマウントが解除されません。 AUTOMOUNT_TIMEOUT=600
に/etc/default/autofs
があり、automount -t 600
を実行し、svc:/system/filesystem/autofs:default
サービスを無効にしてから再度有効にしましたが、何も機能していないようです。
私の疑惑は、システム上のsomethingが、マウントされたすべてのファイルシステムに定期的にアクセスしており、アクセス可能かどうかを確認しているため、オートマウンターのタイムアウトがリセットされ、期限切れになることはないということです。これは私が行ったテストでサポートされています-タイムアウトを10秒に設定すると、マウントポイントがアンマウントされ、10秒はその何かがチェックとタイマーを実行している期間よりも短いように見えます期限切れになる可能性があります。
問題は、どのプロセスがそれを行っているかをどのように見つけることができるかということです。サーバーは頻繁に使用される本番システムであり、危険な実験を行うことはできません。
ファイルシステムはnot開いたままであり、手動でアンマウントできることに注意してください。その何かはおそらくマウントポイントごとにマウントポイントに移動し、cd in、cd out、移動します。多くの場合、automount
がマウント解除するのを防ぐのに十分です。ただし、開いたままにしないため、lsof
またはfuser -c
では表示されません。マウントポイントにアクセスしたらすぐにキャッチまたは記録して、何が行われているのかを知りたいです。
FWIWは、かなり頑丈なSolaris 10ホスト(Sparc/M5000)上のSolaris10ゾーンです。
Rwsnoop( http://dtracebook.com/index.php/File_System:rwsnoop )を試して、dtraceを使用してI/Oアクセスを監視できます。
# rwsnoop - snoop read/write events.
# Written using DTrace (Solaris 10 3/05).
#
# This is measuring reads and writes at the application level. This matches
# the syscalls read, write, pread and pwrite.
幸運を!
ツールlsof
を使用して、ファイルシステム上の特定のファイルにアクセスしているプロセスを判別できます。この場合、これを使用して、自動マウントのマウントポイントにアクセスしているプロセスを検出できます。
/vz_backups
ディレクトリ用に次のautomount
があります。
$ showmount -e krycek
Export list for krycek:
/export/raid1/vz_backups 192.168.1.0/24
次に、マウントポイントの下の自動マウントにcdします。
$ cd /vz_backups/images
マウントしたことを確認してください。
$ mount | grep /vz
krycek:/export/raid1/vz_backups/images on /vz_backups/images type nfs (rw,intr,tcp,rsize=16384,wsize=16384,addr=192.168.1.4)
次に、lsof
を使用してファイルアクセスを問い合わせることができます。
$ lsof -l | grep /vz
automount 3359 0 16r DIR 0,24 0 11960 /vz_backups
bash 28635 0 cwd DIR 0,30 4096 2981890 /vz_backups/images (krycek:/export/raid1/vz_backups/images)
lsof 31040 0 cwd DIR 0,30 4096 2981890 /vz_backups/images (krycek:/export/raid1/vz_backups/images)
grep 31041 0 cwd DIR 0,30 4096 2981890 /vz_backups/images (krycek:/export/raid1/vz_backups/images)
lsof 31042 0 cwd DIR 0,30 4096 2981890 /vz_backups/images (krycek:/export/raid1/vz_backups/images)
次に、そのディレクトリからcd
出て、何もアクセスしないようにします。自動マウントがタイムアウトするのを待つか、手動でumount
してから、もう一度確認します。
$ cd ~
$ umount /vz_backups/images
$ lsof -l | grep /vz
automount 3359 0 16r DIR 0,24 0 11960 /vz_backups
おそらく、オートマウンターのタイムアウトよりも短い間隔で「df」コマンドを実行する監視ソフトウェアが実行されています。 Solarisでは、statvfsシステムコールはファイルシステムを使用中としてマークします。解決策:df -l
を使用します。