Redhat バージョン 7.2 で次のサービスを作成します。
more nfsshare.mount
[Unit]
Description=nfs mount script
Requires=network-online.target
After=network-online.service
[Mount]
What=master1:/nfs
Where=/nfsshare
Options=noauto,user,rw,group
Type=nfs
TimeoutIdleSec=10
[Install]
WantedBy=multi-user.target
サービスを再起動すると、マウントポイントがそのままマウントされます。
master1:/nfs 41932800 6559744 35373056 16% /nfsshare
今すぐ/ nfsshareフォルダをアンマウントします。
umount /nfsshare
これで、/ nfsshareフォルダが再度マウントされ、サービスが自動的にフォルダをマウントすることが期待されます。
しかし、何も起こらず、フォルダはマウントされません。
ここで私はどこで間違っていますか?
私も頑張ります。
more nfsshare.automount
[Unit]
Description=nfs mount script
Requires=network-online.target
After=network-online.service
[Automount]
What=master1:/nfs
Where=/nfsshare
Options=noauto,user,rw,group
Type=nfs
TimeoutIdleSec=10
[Install]
WantedBy=multi-user.target
ただし、サービスを再起動した後でもフォルダをマウントすることはできません。
ベストアンサー1
正しい設定は、デバイスに次のものをnfsshare.mount
含めることです。
[Unit]
Description=Mount nfsshare
Wants=network-online.target
After=network-online.target
[Mount]
What=master1:/nfs
Where=/nfsshare
Options=rw,group
Type=nfs
以下を含むデバイスの場合nfsshare.automount
:
[Unit]
Description=Automount nfsshare
Wants=network-online.target
After=network-online.target
[Automount]
Where=/nfsshare
TimeoutIdleSec=10
[Install]
WantedBy=multi-user.target
通常、そのデバイスを有効にしようとします.automount
。
$ sudo systemctl enable nfsshare.automount
この設定を有効にすると、起動後(NFS共有にアクセスする実行中のデーモンがないと仮定)、共有がいいえインストールされています。ただし、一度アクセスすると(たとえばls /nfsshare
)、必要に応じてインストールされます。 10秒間マウントされたままになってからマウント解除されますが、再度アクセスすると再マウントされます。
これら2つのデバイスは一緒に動作.mount
し、.automount
この動作を引き起こします。デバイス.automount
は、自動マウント用のマウントポイントディレクトリを設定する場所だけを知ることができます。ディレクトリにアクセスすると、同じ名前(同じパス)を持つユニットに対する要求がトリガされ、続行.mount
する前にそのユニットが起動するのを待ちます。
よりサイレントインストールデバイスのマニュアルページ詳細については。
自分の設定にどのような変更を加えましたか?
network-online.target
ネットワーク依存関係の場合は、存在しないものを使用する必要があります.service
。私もWants=
この場合に推奨されるディレクティブを使用しています(参照このWikiページネットワーク目標のより深い議論です。 )
インストールオプションからnoauto
およびを削除しましたuser
。これは でのみ使用できるためです。また、権限のないユーザーがutilを呼び出してインストールすることを許可するのではなく、/etc/fstab
実際にそこにいることを望まないで自動的にインストールすることをお勧めします。 、自動的により良いものをインストールします。user
mount
どのユニットで受け取る指示が異なるため(両方のユニットWhere=
で受け取る指示を除く)、有効な指示のみを保管します。
このデバイスを有効にする必要がないため、[Install]
このデバイスのセクションを削除しました。起動時にデバイスが起動.mount
するようにデバイスを有効にするだけで、.automount
デバイスは必要に応じて(アクセスしているターゲットディレクトリに応じて)インストールデバイスを起動(および終了)するタスクを処理します。
を使用することもできます。実際には、インストールユニットを作成するよりも構成の/etc/fstab
ために通常systemdをお勧めします。/etc/fstab
自動マウントに必要なのは、x-systemd.automount
そのファイルシステム項目のマウントオプションのリストに擬似オプションを追加することだけです。 (この場合は通常、その/etc/fstab
項目も含めたいと思います。)noauto
バラよりArch Linux Wikiのこのセクション詳細については。 (これらのどれもArch Linuxに限定されておらず、RHEL 7でもまったく同じように動作します。)