欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LVS/NAT实战篇(二)

程序员文章站 2022-04-11 08:03:09
...

一、LVS/NAT原理和特点

1. 重点理解NAT方式的实现原理和数据包的改变。

LVS/NAT实战篇(二)

(1). 当用户请求到达Director Server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP 
(2). PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链
(3). IPVS比对数据包请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器IP,然后将数据包发至POSTROUTING链。 此时报文的源IP为CIP,目标IP为RIP 
(4). POSTROUTING链通过选路,将数据包发送给Real Server
(5). Real Server比对发现目标为自己的IP,开始构建响应报文发回给Director Server。 此时报文的源IP为RIP,目标IP为CIP 
(6). Director Server在响应客户端前,此时会将源IP地址修改为自己的VIP地址,然后响应给客户端。 此时报文的源IP为VIP,目标IP为CIP

2. LVS-NAT模型的特性

  • RS应该使用私有地址,RS的网关必须指向DIP
  • DIP和RIP必须在同一个网段内
  • 请求和响应报文都需要经过Director Server,高负载场景中,Director Server易成为性能瓶颈
  • 支持端口映射
  • RS可以使用任意操作系统
  • 缺陷:对Director Server压力会比较大,请求和响应都需经过director server

二、LVS/NAT环境

LVS/NAT实战篇(二)

三、实践

1)配置各个vm的IP地址(lvs调度器有两块网卡)完成之后

2)配置LVS调度器

yum -y install ipvsadm //安装ipvsadm工具

ipvsadm -v //查看版本

ipvsadm -A -t 172.16.16.172:80 -s rr

ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.21:80 -m -w 1

ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.22:80 -m -w 1

ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.23:80 -m -w 1

ipvsadm -a -t 172.16.16.172:80 -r 192.168.7.24:80 -m -w 1

ipvsadm -ln //查看节点状态

ipvsadm -d -r 192.168.7.21:80 -t 172.16.16.172:80 //-d:删除某个节点;-D:删除整个虚拟服务器(ipvsadm -D -t 172.16.16.172:80);

ipvsadm-save > /etc/sysconfig/ipvsadm //保存策略

service ipvsadm stop //清除策略

service ipvsadm start //启动策略

3)配置web服务器 (使用nginx)每个节点都要做此步

yum -y install pcre-devel zlib-devel

useradd -M -s /sbin/nologin nginx

tar zxf nginx1.6.......gz

cd /nginx1.6.0/

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module && make && make install

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin

echo "www.baidu.com:21" > /usr/local/nginx/html/index.html

nginx -t //检测配置文件

nginx //启动nginx

killall -s HUP或-1 nginx //重载

killall -s QUIT或-3 nginx //杀死进程




route add default gw 192.168.7.254

4)配置NFS共享存储

yum -y install nfs-utils rpcbind //提供NFS共享服务;提供RPC支持

chkconfig nfs on

chkconfig rpcbind on

mkdir -p /opt/zm

vim /etc/exports

/opt/zm 192.168.7.0/24(rw,sync,no_root_squash) //rw:读写,sync:允许同步写入,no_root_squash:客户机以root身份访问时赋予本地root权限。


service rpcbind start

service nfs start

showmount -e //查看本机发布的NFS共享目录


//手动挂载

mount 192.168.7.250:/opt/zm /usr/loca/nginx/html/


//fstab自动挂载

192.168.7.250:/opt/zm /usr/local/nginx/html nfs default,_netdev 0 0 //若要加soft,intr参数可以实现软挂载,——netdev设备需要网络;

 

相关标签: LVS/NAT