OpenSUSE Leap 15: 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> sudo systemctl restart nfsserver> sudo firewall-cmd –add-service=nfs –permanent> sudo firewall-cmd –reload

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

Android | Linux | SDL - Narrow Escape