nfsオートマウント

NFSサーバ      : rp1(00.000.0.000) 
NFSクライアント: web1(11.111.1.111)

設定したいマウント状態

web1:/var/www/project/staging/symfony/uploads
→ rp1:/var/www/project/staging/public_html/uploads
web1:/var/www/project/prod/symfony/uploads
→ rp1:/var/www/project/prod/public_html/uploads

staging

web1:/mnt/rp1/project/staging/uploads -> rp1:/var/www/project/staging/public_html/uploads
web1:ln -s /var/www/project/staging/symfony/uploads /mnt/rp1/project/staging/uploads

prod

web1:/mnt/rp1/project/staging/uploads -> rp1:/var/www/project/staging/public_html/uploads
web1:ln -s /var/www/project/staging/symfony/uploads /mnt/rp1/project/staging/uploads

NFSサーバ(rp1)の設定
/etc/exports

/var/www/project/staging/public_html/uploads 11.111.1.111(rw,root_squash)
/var/www/project/prod/public_html/uploads 11.111.1.111(rw,root_squash)

ダメな例)11.111.1.111 (rw,root_squash) ←()の前に空白を入れてはいけない

・export

// エクスポート実行
exportfs -a
exportfs -ra  // 更新の場合はこちら

//エクスポート確認
exportfs -v

/etc/hosts.allow

portmap: 11.111.1.111

再起動(すでに動いていたので)

service portmap restart

nfsの起動(停止していたので)

service nfs start

自動起動設定

chkconfig nfs on

NFSクライアント(web1)の設定

/etc/auto.master

/mnt/rp1/project /etc/auto.project ※ファイル名は任意

※/mnt/rp1/project/ と最後に「/」を付けると、mapファイルでその後のパスが繋がらなかった...


・オートマウントデーモン起動

/etc/init.d/autofs start

※automount -vで起動させると、/var/log/messagesにログが詳細に記録されます

/etc/auto.project

staging -rw 00.000.0.000:/var/www/project/staging/public_html/uploads
prod    -rw 00.000.0.000:/var/www/project/prod/public_html/uploads

※prod/uploads などと階層には出来ない

・マウント状態確認

cd /mnt/rp1/project/staging などとしてから..
mount

・リンク作成

ln -s /var/www/project/staging/symfony/uploads /mnt/rp1/project/staging/uploads
ln -s /var/www/project/prod/symfony/uploads /mnt/rp1/project/prod/uploads

・portmap起動

service portmap start

※rp1でiptablesを起動させている場合は、nfsで必要なポートを開放する設定が要ります。