利用阿里云SLB代理NFS-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

利用阿里云SLB代理NFS

简介: 本文重点讲述是如何将nfs的端口固定和代理nfs,结合阿里云SLB的主备虚拟组轻松的利用SLB做nfs的高可用。

一NFS简介
NFS 是 Network File System 的缩写,即网络文件系统。NFS 在文件传送或信息传送过程中依赖于 RPC 协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS 本身是没有提供信息 传输的协议和功能的,但 NFS 却能让我们通过网络进行资料的分享,这是因为 NFS 使用了一 些其它的传输协议。而这些传输协议用到这个 RPC 功能的。可以说 NFS 本身就是使用 RPC 的一个程序。或者说 NFS 也是一个 RPC SERVER。所以只要用到 NFS 的地方都要启动 RPC 服 务,不论是 NFS SERVER 或者 NFS CLIENT。这样 SERVER 和 CLIENT 才能通过 RPC 来实现 PROGRAM PORT 的对应。可以这么理解 RPC 和 NFS 的关系:NFS 是一个文件系统,而 RPC 是负责负责信 息的传输。

一NFS安装:略
如何安装nfs本文就不在过多的讲解,网上一大片。

一代理NFS配置
默认情况下nfs的端口是不固定的,需要将nfs的端口固定起来才能进行代理。# vim /etc/sysconfig/nfs 比如:
RQUOTAD_PORT=60005
LOCKD_TCPPORT=60004
LOCKD_UDPPORT=60004
MOUNTD_PORT=60002
STATD_PORT=60003
STATD_OUTGOING_PORT=60006
保存,重启nfs

service rpcbind restart
service nfs restart**
**
一SLB代理nfs配置
添加监听是 111端口选择udp协议,其他的端口选择tcp协议
image
在NFS共享配置文件中添加 SLB IP。

一 ECS代理nfs
利用Linux系统的iptables转发规则,例如:(172.16.6.161 是代理ecs的IP,172.16.6.129是nfs服务器的地址)
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 111 -j DNAT --to-destination 172.16.6.129:111
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 111 -j DNAT --to-destination 172.16.6.129:111
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 2049 -j DNAT --to-destination 172.16.6.129:2049
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 2049 -j DNAT --to-destination 172.16.6.129:2049
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 60002 -j DNAT --to-destination 172.16.6.129:60002
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 60002 -j DNAT --to-destination 172.16.6.129:60002
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 60003 -j DNAT --to-destination 172.16.6.129:60003
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 60003 -j DNAT --to-destination 172.16.6.129:60003
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 60004 -j DNAT --to-destination 172.16.6.129:60004
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 60004 -j DNAT --to-destination 172.16.6.129:60004
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 60005 -j DNAT --to-destination 172.16.6.129:60005
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 60005 -j DNAT --to-destination 172.16.6.129:60005
iptables -t nat -A PREROUTING -d 172.16.6.161 -p tcp -m tcp --dport 60006 -j DNAT --to-destination 172.16.6.129:60006
iptables -t nat -A PREROUTING -d 172.16.6.161 -p udp -m udp --dport 60006 -j DNAT --to-destination 172.16.6.129:60006

iptables -t nat -A POSTROUTING -d 172.16.6.129 -p tcp --dport 111 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 172.16.6.129 -p udp --dport 111 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 172.16.6.129 -p tcp --dport 2049 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 172.16.6.129 -p udp --dport 2049 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 172.16.6.129 -p tcp --dport 60002:60006 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 172.16.6.129 -p udp --dport 60002:60006 -j MASQUERADE
最后在nfs共享配置文件中添加代理的IP。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章