CentOS7をファイルサーバとして使うため、NFSサーバを構築した時のメモ(パッケージのインストールに関しては省略)。
共有ディレクトリの設定
/etc/exportsファイルを編集し、共有するディレクトリの指定とクライアントからのアクセス設定を行います。
$ vi /etc/exports
以下は、共有ディレクトリを/home/nfs、接続を許可するクライアントのIPアドレスを 192.168.10.1~192.168.10.254、read/writeを許可する場合の例です。
/home/nfs 192.168.10.0/24(rw)
ドメイン名の設定
/etc/idmapd.confを編集し、ドメイン名を記述します。
$ vi /etc/idmapd.conf
ファイルの先頭あたりにドメイン名を設定する行(Domain = ~)があるので、そこにドメイン名を記述します。
[General]
#Verbosity = 0
# The following should be set to the local NFSv4 domain name
# The default is the host's DNS domain name.
Domain = local.domain.edu
サービスの有効化
systemctlコマンドでNFSサーバのサービスの起動と有効化を行います。
$ systemctl start rpcbind
$ systemctl start nfs-server
$ systemctl start nfs-lock
$ systemctl start nfs-idmap
$ systemctl enable nfs-server
ファイアウォールの設定
firewall-cmdでNFSサーバとクライアントの通信を許可する設定を行います。
$ firewall-cmd --permanent --zone=public --add-service=nfs
$ firewall-cmd --reload
クライアントからの共有ディレクトリのマウント
クライアント側で共有ディレクトリに対するマウントポイント(/mnt/nfs)を作成し、NFSサーバ(192.168.10.64)の共有ディレクトリがマウントできることを確認します。dfコマンドでファイルシステムの一覧を表示して、NFSのマウントポイントが出てくればOKです。
$ mkdir /mnt/nfs
$ mount -t nfs 192.168.10.64:/home/nfs /mnt/nfs
$ # df -k
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/centos-root 52403200 10482184 41921016 21% /
devtmpfs 3937628 0 3937628 0% /dev
tmpfs 3947564 84 3947480 1% /dev/shm
tmpfs 3947564 74824 3872740 2% /run
tmpfs 3947564 0 3947564 0% /sys/fs/cgroup
/dev/loop0 1900368 6148 1772980 1% /srv/node/swiftloopback
/dev/sda1 505580 211484 294096 42% /boot
/dev/mapper/centos-home 63915528 131368 63784160 1% /home
tmpfs 3947564 74824 3872740 2% /run/netns
192.168.10.64:/home/nfs 430897664 847872 430049792 1% /mnt/nfs
クライアント側の/etc/fstabファイルを編集して、共有ディレクトリのマウントする設定を追加します。
$ vi /etc/fstab
ファイルの末尾にマウント先のサーバ、ディレクトリやクライアント側のマウントポイントなどを記載します。
# HEADER: This file was autogenerated at 2015-04-01 07:22:08 +0900
# HEADER: by puppet. While it can still be managed manually, it
# HEADER: is definitely not recommended.
#
# /etc/fstab
# Created by anaconda on Sun Mar 29 03:32:45 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 1 1
UUID=d4489d24-ba78-46b3-ab8c-b623609e64bc /boot xfs defaults 1 2
/dev/mapper/centos-home /home xfs defaults 1 2
/dev/mapper/centos-swap swap swap defaults 0 0
/srv/loopback-device/swiftloopback /srv/node/swiftloopback ext4 noatime,nodiratime,nobarrier,loop,user_xattr 0 0
192.168.10.64:/home/nfs /home/nfs nfs rsize=8192,wsize=8192,hard,intr 0 0
NFSのマウントを一旦、解除してから、mount -a コマンドを実行し、/etc/fstab の記述に基づく共有ディレクトリのマウントができることを確認します。
$ umount /mnt/nfs
$ mount -a
$ df -k
ファイルシス 1K-ブロック 使用 使用可 使用% マウント位置
/dev/mapper/centos-root 52403200 10482184 41921016 21% /
devtmpfs 3937628 0 3937628 0% /dev
tmpfs 3947564 84 3947480 1% /dev/shm
tmpfs 3947564 74824 3872740 2% /run
tmpfs 3947564 0 3947564 0% /sys/fs/cgroup
/dev/loop0 1900368 6148 1772980 1% /srv/node/swiftloopback
/dev/sda1 505580 211484 294096 42% /boot
/dev/mapper/centos-home 63915528 131368 63784160 1% /home
tmpfs 3947564 74824 3872740 2% /run/netns
192.168.10.64:/home/nfs 430897664 847872 430049792 1% /mnt/nfs
マウントに成功していれば、以上で構築は完了です