CentOS 6.5配置nfs服务
了解一下什么是nfs
网络文件系统(Network File System,NFS),一种使用于分散式文件系统的协议,由升阳公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在Unix系统间实现磁盘文件共享的一种方法。
NFS的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
演示环境介绍
系统:CentOS 6.5
nfs服务器ip:192.168.1.65
nfs客户端ip:192.168.1.66
开始安装配置
- #安装
- yum install nfs-utils rpcbind
安装完以后先不急着启动,先来了解一下nfs服务运行在哪些端口上,它默认需要使用5个端口,其中有4个端口是动态的,所以如果服务器和客户端之间有iptables,就要先把这4个动态端口设置成静态的,然后加入进防火墙规则里,需要修改的端口有如下四个(端口可以根据需求改,不一定就和我这一样):
- #编辑nfs配置文件
- vi /etc/sysconfig/nfs
- LOCKD_TCPPORT=30001 #TCP锁使用端口
- LOCKD_UDPPORT=30002 #UDP锁使用端口
- MOUNTD_PORT=30003 #挂载使用端口
- STATD_PORT=30004 #状态使用端口
改好以后保存退出,除了以上四个端口要通过iptables,还有nfs协议端口2049以及rpc的111端口,这样才能顺利的使用nfs服务。
- #往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
- #我在/mnt下新建一个目录,并touch一个测试文件test
- mkdir /mnt/aiplaypc1
- touch /mnt/aiplaypc1/tset
- #编辑配置文件,默认是空的
- vi /etc/exports
- #把/mnt/aiplaypc1目录共享给192.168.1.0的所有主机,可以写主机名、域名等,使用默认参数(ro,sync,wdelay,root_squash)
- /mnt/aiplaypc1 192.168.1.0/24(ro,sync,wdelay,root_squash)
- #参数详解
- ro #只读共享
- rw #读写共享
- sync #同步写操作
- async #异步写操作
- wdelay #延迟写操作
- root_squash #屏蔽远程root权限
- no_root_squash #不屏蔽远程root权限
- all_squash #屏蔽所有远程用户的权限
- #准备工作做好了,现在就可以启动服务了。
- service nfs start
- chkconfig nfs on
- service rpcbind start
- chkconfig rpcbind on
接下来是客户端的操作
- #安装
- yum install nfs-utils
- #挂载nfs服务器的共享目录到/mnt/aiplaypc2
- mount -t nfs 192.168.1.65:/mnt/aiplaypc1 /mnt/aiplaypc2
- #检查是否读取到了服务器的共享文件,不出意外就可以看到有个test文件
- ls /mnt/aiplaypc2
- #开机自动挂载
- echo "192.168.1.65:/mnt/aiplaypc1 /mnt/aiplaypc2 nfs defaults 0 0" >> /etc/fstab
到此一个nfs服务器和客户端的共享就完成了