ローカルネットワークでのみNFSマウントを処理する方法

ローカルネットワークでのみNFSマウントを処理する方法

ローカルネットワークにNFS共有を持つNASがあります。 NFS共有に自動的に接続されるノートブックを処理する方法は? fstabファイルのエントリを試みたがローカルネットワークの外にいるときにクライアントがNFSタイムアウトを待っているため、起動に最大5分かかります。

私のラップトップがローカルネットワークにあるかどうかを検出してインストールできるソリューションはありますか?

ありがとう

答え1

/etc/cron.d/nfsmount起動時にコマンドを実行する1つの方法は、内容とともにコマンドを配置することです。

@reboot root /bin/sleep 7 && /bin/ping -c 1 -W 1 10.0.0.2 > /dev/null && /bin/mount /foo

reboot7秒待ってからping秒単位でタイムアウトし、1すべてが順調に進むと、にmount指定されたパラメータを使用してNFSに進みます/etc/fstab

/etc/fstab以下を選択できる必要がありますnoauto

10.0.0.2:/foo /foo nfs noauto 0 0

お持ちの方はsystemd確認してみるのも良いようですsystemd.automount

答え2

ウォッチを実行すると、nfsマウントを確認してからアクションを実行できます。

~から手動:

CHECK FILESYSTEM <unique name> PATH <string> 

path は、デバイス/ディスク、マウントポイント、または NFS/CIFS/FUSE 接続文字列へのパスです。ファイルシステムが利用できなくなると、Monitはサービスの起動メソッド(定義されている場合)を呼び出します。 Monit は、手動モードで実行している場合、または起動方法が定義されていない場合にのみエラー警告を送信します。

たとえば、次の規則を使用できます。

check filesystem nfsDisk1 with path nfs://<yournfsexport>
       if does not exist then exec "ping host && mount..."

pingが失敗した場合、マウント試行は行われません。

monitがマウントを処理できるようにするには、fstabからマウントを削除する必要があります。

その後、最適化のためにローカルネットワークを検出し、それに依存する最初のルールを作成するなどのタスクを実行できます。

モニターでお楽しみください

関連情報