服务器A源文件: /home/upload/ 服务器B 目标:/data/www/upload
1,安装
# yum install nfs-utils rpcbind -y
2,启动
# /etc/init.d/nfs start; /etc/init.d/rpcbind start
# chkconfig rpcbind on
# chkconfig nfs on
# chkconfig –list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# chkconfig –list nfs
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
NFS A服务器端配置
添加配置文件
# vim /etc/exports
#this is my nfs server
/home/jwftp 42.96.167.187(rw,sync)
[Exports文件中一些选项的含义
选项 说明
Ro 该主机对该共享目录有只读权限
Rw 该主机对该共享目录有读写权限
Root_squash 客户机用root用户访问该共享文件夹时,将root用户映射成匿名用户
No_root_squash 客户机用root访问该共享文件夹时,不映射root用户
All_squash 客户机上的任何用户访问该共享目录时都映射成匿名用户
Anonuid 将客户机上的用户映射成指定的本地用户ID的用户
Anongid 将客户机上的用户映射成属于指定的本地用户组ID
Sync 资料同步写入到内存与硬盘中
Async 资料会先暂存于内存中,而非直接写入硬盘
Insecure 允许从这台机器过来的非授权访问 ]
重读配置文件
# /etc/init.d/nfs reload
查看挂载 //有结果 则说明连接成功…
# showmount -e 115.29.150.217
Export list for 115.29.150.217:
/home/jwftp 42.96.167.127
客户端挂载使用
#mount -t nfs 115.29.150.217:/home/jwftp /data/ftpupload/
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 1.4G 18G 7% /
tmpfs 938M 0 938M 0% /dev/shm
/dev/xvdb 60G 180M 56G 1% /data
115.29.150.217:/home/jwftp
60G 180M 56G 1% /data/ftpupload #挂载成功!
问题解答
挂载文件系统之后。不能直接在共享的目录写数据,因为没有对文件共享目录有写入权限,默认的用户是nfsnobody.
# more /var/lib/nfs/etab
/home/jwftp 42.96.167.127(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squ
ash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
所以这里我们要在服务端上面 把 /data 的属主和属组都修改在 nfsnoboy
这样子就可以实现读写权限的功能
# chown 65534 -R /home/jwftp
2)挂载之后设备忙umount.nfs: /data/www: device is busy
查看进程id并kill掉即可
#fuser -m -v /data/www
卸载Nfs系统文件
#umount /usr/local/test
3)在客户端的rc.local文件里添加挂载命令让启动挂载。
# vim /etc/rc.d/rc.local
#mount -t nfs 115.29.150.217:/home/jwftp /data/ftpupload