VPNを介したNFS
具体的な例:興味のあるディレクトリがあるリモートサーバーがあります。 このディレクトリをマシンにローカルに配置したい。 アクセスプロトコルはnfsです。 なぜなら 暗号化されていないため、サーバーへのvpnチャネルの使用は合理的なソリューションのように見えます。
同時に、私は外出先でそれをマウントし、しばらくしてからマウントを解除したいので、嘘のネットワークで鈍いnfsによる奇妙な困難を経験することはありません。 マウントタイムアウトは、lsのnfsタイムアウトよりもはるかに人道的なミスです。
仕組み
Systemdには、指定したディレクトリを自動的にマウントできる特別な種類の自動マウントユニットがあります。
重要:自動マウントユニットは「自動マウントのマウントユニット」ではなく、マウントパラメータを持つことはできません。 代わりに、それらは(ディレクトリにアクセスするとき)指定されたディレクトリのマウントユニットを呼び出すだけです。
したがって、構成では:
- マウントオプション、デバイス(またはNFSの場合はサーバー)はマウントユニットで指定されます
- 依存関係とインストールセクションは自動マウントユニットで指定されます
- automount-unitとmount-unitのバインドは、whereパラメーターによって発生します
同じことは、ユニット自体の構造にも見られます。 マウントユニットには[Mount]セクションがあり、そこには多くのパラメーターがあります。 自動マウントユニットにはそのようなセクションはなく、代わりに[Automount]セクションが必要です。このセクションには、Where、DirectoryMode、TimeoutIdleSecなどのいくつかのパラメーターしかありません。
実用例
/etc/systemd/system/media-nfs.mount
:
[単位] 説明= NFS共有 [マウント] What = server.url.example.com:/ srv / nfs_share どこ= / media / nfs タイプ= nfs4 オプション= rw DirectoryMode = 0755
/etc/systemd/system/media-nfs.automount
:
[単位] 説明= NFS共有 Requires=openvpn@vpn.service 必要= network-online.target [自動マウント] どこ= / media / nfs TimeoutIdleSec = 301 [インストール] WantedBy = graphic.target
観察:マウントユニットの場合は通常の状態がアクティブ(マウント)である一方、自動マウントの場合はサービス(アクティブ)がアクティブ(実行中)です。
自動マウントがまだ行われていない場合、ステータスは「アクティブ(待機中)」になります。
自動マウントを設定したら、(sudo)systemctl daemon-reloadを実行し、ls / media / nfsを実行する必要があります(上記の例の場合)-nfsのマウントから少し遅れて、リモートサーバー上のファイルの内容が表示されます。