オートフ は、NFSマウントポイントでファイルまたはディレクトリが要求されたときにNFS共有を自動的にマウントするのに役立つオートマウンタユーティリティです。自動マウントは、アクセスされたときにのみマウントされ、一定期間非アクティブになった後にアンマウントされます。
前回のチュートリアルでは、/ etc / fstabを使用して、システムの再起動時にファイルシステムを自動的にマウントしましたが、ここでは、autofsを使用して同じNFS共有をマウントします。
AutoFSは、クライアントマシンが一度に多数のマウントをマウントする必要がある場合に非常に役立ち、全体的な起動時間が長くなります。 autofsを使用すると、起動時間を短縮できます。
静的マウント(/ etc / fstab)を使用する場合、ユーザーがNFSマウントされたファイルシステムにアクセスする頻度に関係なく、システムはマウントされたファイルシステムを所定の位置に維持するためにリソースを割り当てる必要があります。 Autofsは、ユーザーが頻繁にアクセスしないファイルシステムをマウントしたままにしておくという問題を、一定期間非アクティブにした後にアンマウントすることで解決します。このため、NFS / Samba共有を自動マウントすると、帯域幅が節約され、fstabを介した静的マウントと比較して全体的なパフォーマンスが向上します。
Autofsを使用して、AFS、SMBFS、CIFS、ローカルファイルシステムなどの他のファイルシステムをマウントすることもできます。
このガイドは、 CentOS 7にAutofsをインストールして構成するのに役立ちます / Fedora 27 / Ubuntu 16.04 / Debian 9 。同じ手順が以前のバージョンのCentOSにも適用されます 、 Fedora 、 Ubuntu 、および Debian 。
環境
これが私のデモノードの詳細です。同じディストリビューションにNFSサーバーとクライアントサーバーの両方があります。
NFSサーバーのホスト名: server.itzgeek.local(CentOS 7 / Fedora 27 / Ubuntu 16.04)
NFSサーバーのIPアドレス: 192.168.12.5 / 24
共有パス: / nfsfileshare
NFSクライアントのホスト名: client.itzgeek.local(CentOS 7 / Fedora 27 / Ubuntu 16.04)
NFSクライアントのIPアドレス: 192.168.12.7 / 24
Autofsマウントパス: / autofs / nfsfileshare
前提条件
動作するNFSサーバーが必要です。
読む : CentOS 7 / RHEL 7 /Fedora27でNFSサーバーをセットアップする方法
読む : Debian 9 /Ubuntu16.04でNFSサーバーをセットアップする方法
Autofsのインストール
ベースリポジトリから入手できるautofsパッケージをインストールしましょう。ターミナルで次のコマンドを使用してインストールします。
### CentOS 7 / RHEL 7&Fedora 27/26 ### #yum -y install autofs ### Debain 9 / Ubuntu 16.04 / 14.04 ### $ sudo apt-get install autofs
Autofsの構成
Autofsの主な構成ファイルは/etc/auto.masterです。 マスターマップと呼ばれるファイル。マスターマップファイルには、マウントのリストとそのマップの場所が含まれています。
/etc/auto.masterの出力例 、「緑」にマウントとそのマップが表示されます。 「。
##サンプルauto.masterファイル#これは「マスター」オートマウンターマップであり、次の形式になっています。# mount-point [map-type [、format]:] map [options] > #形式の詳細については、auto.master(5)を参照してください。#/ misc /etc/auto.misc ##注:ホストマップから行われたマウントは、#「nosuid」および「nodev」オプションを使用してマウントされます。 「suid」および「dev」#オプションは明示的に指定されています。#/ net-hosts ##インクルード/etc/auto.master.d/*.autofs#インクルードされたファイルは、このファイルの形式に準拠している必要があります。#+ dir: /etc/auto.master.d ###nsswitchsourcesを使用して中央マスターマップが見つかった場合はそれを含めます。##含まれているマスターマップに/netまたは/misc(上記の#)のエントリがある場合は、 #最初に表示された読み取りキーが優先されるため、#同じものは表示されません。#+ auto.master
/etc/auto.masterを編集
シナリオに従って、NFS共有を / autofs / nfsfileshareにマウントします。 Autofsを使用します。次の手順では、 / autofsにマウントポイントを作成します /etc/auto.nfs(次のステップで作成します)で指定された設定に従って構成します。
### CentOS 7 / RHEL 7&Fedora 27/26 ### #vi /etc/auto.master ### Debian 9 / Ubuntu 16.04 / 14.04 ### $ sudo nano /etc/auto.master
/etc/auto.masterの最後に次の行を追加します ファイル。 autofsのデフォルトのタイムアウトは300秒(5分)です 。 5分間操作がないと、マウントされているファイルシステムは自動的にマウント解除されます。
注: /etc/auto.masterファイルでタイムアウトを定義することはオプションです。
/ autofs /etc/auto.nfs --timeout =60
/etc/auto.nfsを作成
次に、オートマウンターマップを含むファイルを作成します。
### CentOS 7 / CentOS 7&Fedora 27/26 ### #vi /etc/auto.nfs ### Debian 9 / Ubuntu 16.04 / 14.04 ## $ sudo nano /etc/auto.nfs
このファイルには、NFS共有ごとに個別の行が含まれている必要があります。 行の形式は{mountpoint}[{mount options}] {location} 。ここで指定するマウントポイントは、/ etc/auto.masterで指定されたマウントポイントを基準にしています。
nfsfileshare -fstype =nfs4、rw、soft、intr 192.168.12.5:/nfsfileshare
どこで、
nfsfileshare :マウントポイント
-fstype =nfs4、rw、soft、intr :マウントオプション
192.168.12.5:/nfsfileshare :場所を共有する
これにより、 / autofs / nfsfileshare /に新しいマウントポイントが作成されます NFS「/nfsfileshare」をマウントします 「192.168.12.5によってエクスポートされた」ディレクトリ 」
autofsサービスを再起動し、システムの起動時に開始できるようにします。
### CentOS 7 / RHEL 7&Fedora 27/26 ### #systemctl restart autofs#systemctl enable autofs ### Debian 9 / Ubuntu 16.04 / 14.04 ## $ sudo service autofs restart $ sudo update-rc.d autofs defaults
AutoFSのテスト
次に、「 / autofs / nfsfileshare」にアクセスしてみてください 」ディレクトリ。
注 :必ず静的マウントをアンマウントし、/ etc/fstabファイルからエントリを削除してください。
$ ll / autofs / nfsfilesharetotal 0drwxrwxrwx 4 root root 33 Sep 17 17:47 ./drwxr-xr-x 3 root root 0 Sep 19 01:23 ../drwxr-xr-x 2 root root 6 Sep 17 17 :39 1 / drwxrwxr-x 2 raj raj 6 Sep 17 17:45 2 / -rw-rw-r-- 1 raj raj 0 Sep 17 17:47 test
NFS共有ディレクトリの内容が表示されます。また、「 df」を使用します 」コマンドを実行してマウントされたファイルシステムを表示すると、自動的にマウントされたNFS共有を確認できます。
注: 以下は「df」のサンプルです 」コマンド(Ubuntu 16.04)。
AVAIL使用%では、/ dev / sda1をext4の98G 3.7gの89G 4.0K 0 4.0K 0%/ SYS / FS / cgroupudev devtmpfs 478M 4.0K 478M 1%/ tmpfsの4%/なしでマウントされ使用される<前> $ DF -hTFilesystemタイプサイズdevtmpfs TMPFS 98M 1.5M 97M 2%/ runnone TMPFS 5.0M 0 5.0M 0%/実行/ locknone TMPFS 489M 144K 489M 1%/実行/ shmnone TMPFS 100M 32K 100M 1%/run/user192.168.12.5:/ nfsfileshare nfs4 50G 858M 50G 2%/ autofs / nfsfileshareアンマウントをテストするには、マウントされたファイルシステムに対して5分間何も実行しないでください(この場合、–timeout =60を設定した場合は1分間 )。非アクティブ時間が経過すると、autofsはファイルシステムを自動的にアンマウントします。
注:「 df」を使用しないでください 」コマンドを使用して、マウントされたファイルシステムを「 df」としてチェックします。 」コマンドは、マウントされたファイルシステムにアクセスする可能性があり、マウント解除に遅延が発生します。
AutoFSのデバッグとトラブルシューティング
CentOS 7 / Fedora 27
注 : LOGGING =” debug”があることを確認してください 「/etc / sysconfig / autofs 」
#cat / var / log / messagesSep 19 13:14:20 client automount [1891]:expire_proc_indirect:expire / autofs / nfsfileshareSep 19 13:14:20 client automount [1891]:handle_packet:type =4Sep 19 13: 14:20クライアント自動マウント[1891]:handle_packet_expire_indirect:トークン4、名前nfsfileshareSep 19 13:14:20クライアント自動マウント[1891]:期限切れパス/ autofs / nfsfileshareSep 19 13:14:20クライアント自動マウント[1891]:umount_multi:パス/ autofs / nfsfileshare incl 1 Sep 19 13:14:20 client automount [1891]:umount_subtree_mounts:unmounting dir =/ autofs / nfsfileshare
「緑」でマークされた出力が表示された場合 「、autofsはタイムアウト後にNFS共有をアンマウントしました。
Ubuntu 16.04 / 14.04 / Debian
$ sudo service autofs stop $ sudo automount -f -v
別の端末で共有にアクセスして、最初の端末で上記のコマンドの出力を確認してください。
オートマウンターバージョン5.0.7を起動すると、マスターマップ/etc/auto.masterusingカーネルプロトコルバージョン5.02lookup(dir):dir map /etc/auto.master.dが見つからないか、読み取れませんlookup(file):含まれているマスターの読み取りに失敗しましたmap dir:/etc/auto.master.dlookup(file):含まれているマスターマップauto.mastermountedを/ autofsで間接的に読み取れず、タイムアウト60、頻度15秒エントリ/ autofs /nfsfileshareをマウントしようとしています マウントされた/autofs/ nfsfileshare 1が/autofs1に残っている/autofs1に残っている/autofs1に残っている/autofsに残っている期限切れのパス/autofs/ nfsfileshare 期限切れの/autofs/ nfsfileshare
「緑」でマークされた出力が表示された場合 「、autofsは自動的にファイルシステムをアクセスにマウントし、タイムアウト後にマウントを解除しました。
それで全部です。 autofsを介してNFSマウントポイントを正常にマウントしました。