在项目生产环境咱们常常须要实现文件共享,传统的常见方案是经过NFS,实现服务器之间共享某一块磁盘,经过网络传输将分散的文件集中存储在一块指定的共享磁盘,实现基本的文件共享。实现这种方案,分服务端和客户端,将服务端的磁盘mount到客户端指定目录下,在客户端操做就像操做本地磁盘同样,nfs基本的安装以下:安全
模拟环境:服务器
服务端/客户端 | 服务器IP | 版本信息 |
服务端 | 120.27.15.116 | centOS 7.2 |
客户端 | 39.108.85.46 | centOS 7.2 |
1、服务端安装NFS网络
step一、安装nfs和rpcbind程序:yum -y install nfs*tcp
step二、检测nfs与rpcbind是否安装OK测试
rpm -qa |grep nfs
rpm -qa |grep rpcbind阿里云
step三、建立一个共享目录,并配置共享信息3d
mkdir /data01/nfs 这里假设共享目录为/data01/nfsblog
vi /etc/exportsip
step四、启动nfs,rpcbindci
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
step五、查看是否共享成功
showmount -e localhost
2、客户端安装并挂载
step一、安装nfs程序:yum -y install nfs*
step二、启动nfs,rpcbind
systemctl enable rpcbind
systemctl start rpcbind
systemctl enable nfs
systemctl start nfs
step三、建立挂在目录:mkdir /data01/share
step四、检测远程共享服务器是否共享成功
step五、挂载,mount -t nfs -o nolock 服务端IP:共享目录绝对路径 本地挂载目录
mount -t nfs -o nolock 120.27.15.116:/data01/nfs /data01/share
step六、查看挂载结果:df -Th
能够看到,远程那块磁盘已经挂载OK。
3、测试
在/data01/share下新增一个文件,并写入相关内容,而后到服务器端查看
去服务端查看:
4、卸载
卸载直接执行以下操做便可:umount 120.27.15.116:/data01/nfs
5、所遇到的问题
一、若是是在阿里云上,可能要在安全组开放相关的端口,在私有环境下,一样须要处理防火墙,开放相关端口。能够经过rpcinfo -p 查看具体用到的端口。
iptables -A INPUT -p tcp --dport 111 -j ACCEPT
iptables -A INPUT -p udp --dport 111 -j ACCEPT 其余端口相似处理
二、因为NFS启动会随机生成端口并向RPC注册,每次的端口都不固定,因此,能够设置固定端口,便于配置防火墙和安全组。例如: