部署nfs问题描述很多时候,对于一些文件管理,有很多的项目,大部分都是用磁盘进行存储管理!!!
部署到正式环境下,可能有多台linux服务器,那就会有这样的一个问题:
文件上传,上传到服务器A,服务器A的磁盘保存了这个文件;那服务器B,就无法读取到这个文件了!!!那么,如何做到服务器B也能访问到服务器A的文件呢?
那就是文件共享了!!!
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件 。
那就是说,可以将服务器A的文件夹进行共享,服务器B就挂载服务器A的文件夹 。
那就开干吧!!!装它!!!
一、服务器资源服务名称:linux服务器
IP:[请查看资源分配文档]
操作系统:centos 6.9 x64
二、服务端安装2.1、NFS安装
yum -y install nfs-utils nfs-utils-lib rpcbind复制代码注意:如果服务器无法上网,可以找一个能上网的服务器先下载相关依赖安装包(服务器系统需要一致,centos6对应或者centos7对应即可) 。依赖下载命令如下:
yumdownloader nfs-utils nfs-utils-lib rpcbind --resolve复制代码2.2、NFS配置确定服务器的磁盘情况,再创建共享目录:df -h复制代码mkdir /opt/App/uploaded-files复制代码【Linux环境下部署nfs】编辑 /etc/sysconfig/nfs 文件:vi/etc/sysconfig/nfs复制代码添加如下内容自定义端口:RQUOTAD_PORT=30001LOCKD_TCPPORT=30002LOCKD_UDPPORT=30002MOUNTD_PORT=30003STATD_PORT=30004复制代码编辑 /etc/exports 文件:vi/etc/exports复制代码添加如下内容:#设置共享的ip段/opt/app/uploaded-files xxx.xx.xx.*(insecure,rw,sync,no_root_squash,no_all_squash)复制代码下面是一些NFS共享的常用参数: ro只读访问 rw读写访问 sync资料同步写入到内存与硬盘当中 async资料会先暂存于内存当中,而非直接写入硬盘 secureNFS通过1024以下的安全TCP/IP端口发送 insecureNFS通过1024以上的端口发送 wdelay如果多个用户要写入NFS目录,则归组写入(默认) no_wdelay如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置 。Hide在NFS共享目录中不共享其子目录 no_hide共享NFS目录的子目录 subtree_check如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认) no_subtree_check和上面相对,不检查父目录权限 all_squash共享文件的UID和GID映射匿名用户anonymous,适合公用目录 。no_all_squash保留共享文件的UID和GID(默认) root_squashroot用户的所有请求映射成如anonymous用户一样的权限(默认) no_root_squashroot用户具有根目录的完全管理访问权限复制代码2.3、NFS启动启动服务器:service rpcbind restartservice nfs restart复制代码设置开机启动:chkconfig --level 35 rpcbind onchkconfig --level 35 nfs on复制代码查看端口:rpcinfo -p复制代码服务端验证NFS共享:showmount -e复制代码注:正常能显示出上面设置的共享目录,如果报如下错误:clnt_create: RPC: Program not registered
说明 rpcbind服务与NFS服务 启动顺序不对,把他俩都停了,重新启动,先启动rpcbind服务再启动nfs服务;
注:正常也能显示出上面设置的共享目录,如果报如下错误:clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
说明防火墙没有开启相应需要开启的端口,把防火墙关掉,再测试应该就可以正常了;不过防火墙比较重要,一般情况下,不会随意关闭,在服务端可开启如下命令列出的所有端口即可:
2.4、配置防火墙启动111,2049,30001,30002,30003,30004端口
vi /etc/sysconfig/iptables复制代码添加以下内容:-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 30001 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 30002 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 30003 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 30004 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 30001 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 30002 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 30003 -j ACCEPT-A INPUT -p udp -m state --state NEW -m udp --dport 30004-j ACCEPT复制代码
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 如何在今日头条获取下载高清原图?
- 色彩搭配"辣眼睛"?!别慌!调和一下
- 调饮红茶就是要在泡红,红茶和绿茶都要洗下吗
- 大学绩点2.5很差吗?
- java程序员jmeter并发自测
- Linux:文件解压、复制和移动的若干坑
- next permutation 算法图解:下个排列
- 拖放式Glade界面设计与 FreeBASIC编程 + LinuxMint
- 秒杀场景下订单中心的架构设计
- 一步步教你虚拟机安装Linux
