CentOS 7でNFSサーバを構築してみた

  • 29
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

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 の記述に基づく共有ディレクトリのマウントができることを確認します。

$ umonnt /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

マウントに成功していれば、以上で構築は完了です:smile: