CentOS
NAS
NiftyCloud

CentOSでニフティクラウドNASのNFSマウント

More than 1 year has passed since last update.

はじめに

複数Webサーバのコンテンツ一元配置やユーザからのファイルアップロード集約先にNASを利用するのですが、設定につまずきポイントがありましたのでメモしておきます。

前提条件

  • インスタンス、NAS(NFSv4)の作成は完了していること
  • 構成は インスタンス(クライアント) - NAS(サーバ)構成
  • OS:CentOS6.7, 7.1(共にニフティ提供版)

手順(全てクライアント側)

  • NFSマウントに必要なライブラリをインストール
install
$ yum -y install nfs-utils nfs-utils-lib
  • インストール後、ユーザ情報を確認
command
$ cat /etc/passwd

~
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
  • ユーザ作成
    uid, gidをnfsnobodyに合わせてユーザを作成。
    おそらくこのnfsnobodyがNFSサーバ側とマッピングされているユーザと推測。
command
$ useradd -o test -u 65534 -g 65534
$ cat /etc/passwd
~
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
test:x:65534:65534::/home/test:/bin/bash

$ id test
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)
  • マウントポイントを作成
command
$ mkdir /var/www/share
  • マウント実行
command
$ mount -t nfs4 10.102.169.164:/ /var/www/share

NASのIP(今回は10.102.169.164)とマウントポイントは適宜合わせる。以降も同様。

  • マウント確認
command
$ df -h | grep share
10.102.169.164:/   99G   60M   99G   1% /var/www/share
  • 再起動後にも自動マウント
/etc/fstab
10.102.169.164:/ /var/www/share nfs defaults 0 0
  • 試しにファイルとディレクトリを作成してみる
command
$ su test
$ cd /var/www/share
$ touch test.txt
$ mkdir hoge
$ ls -all
drwxr-xr-x 3 nfsnobody nfsnobody 4096  8月 22 14:55 2017 .
drwxr-xr-x 7 root      root      4096  8月 22 14:08 2017 ..
drwxrwxr-x 2 nfsnobody nfsnobody 4096  8月 22 14:55 2017 hoge
-rw-rw-r-- 1 nfsnobody nfsnobody    0  8月 22 14:42 2017 test.txt

作れた。

おまけ

  • apache + php(mod_php)でプログラム実行によりNASへの書込み等を行う場合、 apacheの実行ユーザ、グループをアクセスユーザ(今回でいうところのtest:nfsnobody)にする必要があります。
  • 尚、実行ユーザを変更する場合は下記のディレクトリのグループを変更する必要があります。
command
$ find / -group apache
/var/www/html
/var/cache/mod_proxy
/var/lib/dav
/var/lib/php/session
/usr/sbin/suexec
/var/run/httpd

最後に

NFSv4の仕様上このような方法となり、少し気持ち悪いですがプロンプトの表示やlsコマンド等での表示がnfsnobodyとなってしまいます。
もう少しスマートな実装方がありましたらご教示頂けると幸いです。

参考

Turbolinux 11 Serverユーザーガイド 第 16章NFS サーバー
ニフティクラウド NAS:NASへの接続(NFS)
apache起動ユーザ変更時にグループ設定を変更する