网络文件系统(Network File System,NFS)功能是通过网络让不同的机器、不同的操作系统能够彼此分享数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据。
系统:CentOS 6.5
nfs服务器ip:192.168.10.200
nfs客户端ip:192.168.10.11
服务器端
1.#安装
# yum install nfs-utils rpcbind
安装完以后nfs服务运行需要使用5个端口,其中有4个端口是动态的,所以如果服务器和客户端之间有iptables,就要先把这4个动态端口设置成静态的,然后加入进防火墙规则里,需要修改的端口有如下四个:
2.#编辑nfs配置文件
# vim /etc/sysconfig/nfs
LOCKD_TCPPORT=30001 #TCP锁使用端口LOCKD_UDPPORT=30002 #UDP锁使用端口MOUNTD_PORT=30003 #挂载使用端口STATD_PORT=30004 #状态使用端口
3.#以上四个端口,还有nfs协议端口2049以及rpc的111端口要通过iptables。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 111-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2049-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30001-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30002-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30003-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30004-j ACCEPT
4.#新建/data目录,并touch一个测试文件test
# mkdir /data
# touch /data/tset
5.#编辑配置文件,默认是空的
# vim /etc/exports
#把/data目录共享给192.168.10.0的所有主机,使用默认参数(ro,sync,wdelay,root_squash)
/data 192.168.1.0/24(ro,sync,wdelay,root_squash)
/tmp *(rw,no_root_squash)#任何人都可以用/tmp/home/public 192.168.0.0/24(rw) *(ro)#只有192.168.0.0/24可读写/home/public/home/test 192.168.0.100(rw)#只有192.168.0.100才能对/home/test目录读写/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)#允许*.linux.org主机读取/home/linux。单身在写入时把文件uid变成40
ro #只读共享 rw #读写共享 sync #同步写操作 async #异步写操作 wdelay #延迟写操作
root_squash #屏蔽远程root权限 no_root_squash #不屏蔽远程root权限 all_squash #屏蔽所有远程用户的权限
6.#启动服务,加入开机启动。
# service rpcbind start
# service nfs start
# chkconfig nfs on
# chkconfig rpcbind on
客户端
1.#安装
# yum install nfs-utils
2.#查看nfs服务器共享出来的资源
# showmount -e 192.168.10.200
3.#挂载nfs服务器的共享目录到/mnt/
# mount -t nfs 192.168.10.200:/data /mnt/
4.#检查是否读取到了服务器的共享文件,不出意外就可以看到有个test文件
# ls /mnt/
5.#开机自动挂载
# echo "192.168.10.200:/data /mnt nfs defaults 0 0">>/etc/fstab
我来说说