時々マウントされたファイルシステムにアクセスするプロセスは何ですか?

時々マウントされたファイルシステムにアクセスするプロセスは何ですか?

autofsインストールホームディレクトリを持つSolaris 10サーバーがあります。あるサーバーでは、10分のタイムアウト後も削除されません。私たちはすでに存在し、AUTOMOUNT_TIMEOUT=600サービスを/etc/default/autofs実行してautomount -t 600無効にしてから再度有効にしましたが、何も機能しないようです。svc:/system/filesystem/autofs:default

私の疑いはシステムのファイルシステムは、マウントされたすべてのファイルシステムに定期的にアクセスしてアクセスできることを確認し、自動マウントタイムアウトをリセットして期限切れになりません。今行ったテストはこれをサポートします。タイムアウトを10秒に設定すると、マウントポイントがアンマウントされ、10秒がそれより短いように見えます。チェックが行われており、タイマーが期限切れになる機会があります。

問題は、これを行うプロセスをどのように見つけることができるかということです。サーバーは頻繁に使用される実稼働システムなので、危険な実験を実行することはできません。

ファイルシステムは次のとおりです。いいえ開いたままにして手動で削除できます。それおそらく、マウントポイントからマウントポイントに移動し、CD入力、CD出力、継続を実行し、しばしばautomountアンインストールを防ぐのに十分です。ただし、開いたままではないため、lsoforを使用すると表示されませんfuser -c。何をしているかを理解するために、マウントポイントにアクセスしたらすぐにそれをキャプチャまたは記録したいと思います。

FWIWこれは、Solaris 10ホスト(Sparc / M5000)の非常に強力なSolaris 10ゾーンです。

答え1

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.

頑張ってください!

答え2

このツールを使用すると、lsofどのプロセスがファイルシステム内の特定のファイルにアクセスしているかを確認できます。この場合、それを使用して自動マウントされたマウントポイントにアクセスするプロセスを検出できます。

はい

automount私のディレクトリには次の内容があります/vz_backups

$ 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

引用する

答え3

サイレントインストーラのタイムアウトよりも低い間隔で "df"コマンドを実行する監視ソフトウェアを実行している可能性があります。 Solarisでは、statvfsシステムコールはファイルシステムを使用中としてマークします。解決: df -l

関連情報