はじめに
Linux同士でNFS(Network File System)を使ってマウントするとき、「/etc/fstab」を使うとマウント提供側がダウンした場合にマウント側が起動途中で停止します。
それを防ぐ手段として、アクセスがあったときだけマウントするautofsの設定方法を紹介します。
autofsはNFSだけでなく、外付けUSBハードディスクなどにも使えるので大変便利です。
以下では、データを提供するパソコンをファイルサーバ、マウントして利用するパソコンをクライアントと定義します。
環境
・Debian12 bookworm
・Debian10 buster
・Ubuntu 20.04.2 LTS
・クライアント 192.168.0.1
マウント用のディレクトリは「/fileserver」とします。
・ファイルサーバ 192.168.0.2
データディレクトリは「/data」とします。
ファイルサーバの設定
NFSをインストールします。
sudo apt install nfs-server
設定ファイルを編集します。
sudo vi /etc/exports /data 192.168.0.1/24(rw,sync,no_subtree_check)
NFSを再起動します。
sudo systemctl restart nfs-server
設定を確認します。
sudo exportfs -v /data 192.168.0.1/24(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash)
クライアントの設定
NFSクライアントと「autofs」をインストールし、マウントします。
sudo apt install nfs-common autofs sudo mkdir /fileserver
静的なマウントのテストを行います。
sudo mount -t nfs 192.168.0.2:/data /fileserver df -h 192.168.0.2:/data 58T 0 56T 0% /fileserver
「nfs4」で静的マウントしたことを確認してumountします。
mount | grep data 192.168.0.2:/data on /fileserver type nfs4 (rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.1,local_lock=none,addr=192.168.0.2) sudo umount /fileserver
autofsを使うように設定します。
「/etc/auto.master」を編集します。
sudo vi /etc/auto.master #+dir:/etc/auto.master.d #+auto.master /- /etc/auto.nfs4 --timeout 120
「/etc/auto.nfs4」を編集します。
sudo vi /etc/auto.nfs4 /fileserver -fstype=nfs4,rw 192.168.0.2:/data
autofsを再起動します。
sudo systemctl restart autofs
テストします。
マウント先のデータが見えれば成功です。
ls -la /fileserver df -h
マウントオプションを確認します。
cat /proc/mounts | grep fileserver /etc/auto.nfs4 /fileserver autofs rw,relatime,fd=6,pgrp=20978,timeout=120,minproto=5,maxproto=5,direct,pipe_ino=162753 0 0 192.168.0.2:/data /fileserver nfs4 rw,relatime,vers=4.2,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=192.168.0.1,local_lock=none,addr=192.168.0.2 0 0
Comments