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

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


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