NFSサーバのnfs-kernel-serverをインストールする手順を記載します。
Table of Contents
1 nfs-kernel-serverをインストールする
nfs-kernel-serverパッケージをインストールします。
> sudo zypper -n in nfs-kernel-server > sudo systemctl enable nfsserver > for t in FW_CONFIGURATIONS_EXT FW_CONFIGURATIONS_DMZ FW_CONFIGURATIONS_INT; do sudo sed -e "s/^${t}=\"\(.*\)\"/${t}=\"\1 nfs-kernel-server\"/g" \ -i /etc/sysconfig/SuSEfirewall2 done > sudo systemctl restart SuSEfirewall2
nfs-kernel-serverを起動するために再起動します。
> sudo reboot
2 ディレクトリをNFSで公開する
/etc/exportfsに公開するディレクトリを記載します。
> cat /etc/exports <path> <ipaddr>(<option>)
exportfsで公開します。
> sudo exportfs -ra
2.1 nfsroot用のディレクトリ
- no_root_squashを指定するとクライアントからのアクセスはクライアント側のUIDとGIDが使われます。
- LDAPでUIDとGIDを統一している場合はno_root_squashを使用すると良いですが、統一していない場合はroot_squashが良いです。
- クライアント側でnfsrootを用いた起動用のルートファイルシステムとして用いる場合はno_root_squashの指定が必須です。
- no_subtree_checkでクライアント側からアクセスしたファイルのパスがexportされたディレクトリ配下にあるかどうかを確認しないようにします。ここでのno_subtree_checkはパフォーマンスの向上を見込んでいます。
> cat /etc/exports /srv/nfsroot 192.168.11.0/24(rw,sync,no_root_squash,no_subtree_check) > sudo mkdir /srv/nfsroot > sudo exportfs -ra
2.2 共有ディレクトリ
- root_squashを指定するとクライアントからのアクセスはnobody:nogroupになります。
- subtree_checkでディレクトリ配下のチェックを有効にします。
> cat /etc/exports /srv/nfsshare *(rw,sync,root_squash,subtree_check) > sudo mkdir /srv/nfsshare > sudo chmod 777 /srv/nfsshare > sudo exportfs -ra
3 NFSをマウントする
mount.nfsでマウントします。
> sudo zypper -n in nfs-client > sudo mount -t nfs 127.0.0.1:/srv/nfsshare /mnt