CentOS に NFS を導入するメモ。
サーバとクライアント側で設定が必要なのでVagrantを使って環境を構築したいと思います。
環境
CentOS 6.5
構成
サーバ: 192.168.33.11
クライアント: 192.168.33.12
Vagrantの導入
Vagrantの設定
# ~/vagrant/Vagrantfile Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "centos653" config.vm.define :nfs_server do |vm_config| vm_config.vm.network :private_network, ip: "192.168.33.11" end config.vm.define :nfs_client do |vm_config| vm_config.vm.network :private_network, ip: "192.168.33.12" end end
$ vagrant up $ vagrant ssh-config nfs_server --host vagrant-nfs-s >> ~/.ssh/config $ vagrant ssh-config nfs_client --host vagrant-nfs-c >> ~/.ssh/config
NFSサーバ側の設定
ログインする
$ ssh vagrant-nfs-s
インストールする
$ sudo yum -y install nfs-utils
共有ディレクトリを作成する
$ sudo mkdir /var/db/store $ sudo chown -R nfsnobody:nfsnobody /var/db/store
設定
# /etc/exports # /var/db/store => 共有するディレクトリ # 192.168.33.12 => 共有するクライアントのIP # rw => 読み書きを許可する。 # sync => ファイルシステムへの書き込みを同期して行う。 # no_wdelay => 別の書き込みが実行予定あるいは実行中の場合に、 ディスクへの書き込みを遅らせる機能(wdelay)を無効にする。 # root_squash => NFSクライアントのスーパユーザが、NFSサーバ上のnfsnobodyユーザとしてアクセスされるようにする。 /var/db/store 192.168.33.12(rw,sync,no_wdelay,root_squash)
設定を反映する
$ sudo exportfs -ra
設定を確認する
$ sudo exportfs -v /var/db/store 192.168.33.12(rw,no_root_squash,no_subtree_check)
起動する
$ sudo /etc/rc.d/init.d/rpcbind start $ sudo /etc/init.d/nfs start
自動起動の設定をする
$ sudo chkconfig rpcbind on $ sudo chkconfig nfs on
NFSクライアント側の設定
ログインする
$ ssh vagrant-nfs-c
portmapまたはrpcbindが入っていることを確認する
入っていなければインストールする。
設定
# /etc/fstab # 192.168.33.11 => NFSサーバ側のIP # /var/db/store => NFSサーバ側の共有ディレクトリ # /data => マウント先ディレクトリ 192.168.33.11:/var/db/store /data nfs defaults 0 0
マウント用のディレクトリを作成する
$ sudo mkdir /data
マウントする
$ sudo mount -a
確認する
$ df -h 192.168.33.11:/var/db/store 7.9G 925M 6.6G 13% /data
[server]$ sudo touch /var/db/store/test-file [client]l$ ls -la /data -rw-r--r-- 1 root root 0 Sep 18 15:45 test-file
このようにファイルが共有されていたら成功。