• Network Address Translation,简称NAT模式
• 类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
• 服务器节点使用私有IP地址,与负载调度器位于同一个物理网路,安全性要优于其他两种方式
原理:首先负载均衡器接收到客户的请求数据包时,根据调度算法决定将请求发送给哪个后端的真实服务器(RS)。然后负载均衡器就把客户端发送的请求数据包的目标IP地址及端口改成后端真实服务器的IP地址(RIP)。真实服务器响应完请求后,查看默认路由,把响应后的数据包发送给负载均衡器,负载均衡器在接收到响应包后,把包的源地址改成虚拟地址(VIP)然后发送回给客户端
优点:集群中的服务器可以使用任何支持TCP/IP的操作系统,只要负载均衡器有一个合法的IP地址
缺点:扩展性有限,当服务器节点增长过多时,由于所有的请求和应答都需要经过负载均衡器,因此负载均衡器将成为整个系统的瓶颈
在vmware准备我们的主机
然后启动机子,下载 lvs的管理工具
[root@server153 ~]# yum install -y ipvsadm
然后开启主机的转发功能
[root@server153 ~]# echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
[root@server153 ~]# sysctl -p
net.ipv4.ip_forward = 1
然后查看我们的网卡名,发现多了一个ens37的网卡
[root@server153 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:3d:69:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.121.153/24 brd 192.168.121.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe3d:69ea/64 scope link
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:33:ba:9e brd ff:ff:ff:ff:ff:ff
inet6 fe80::250:56ff:fe33:ba9e/64 scope link
valid_lft forever preferred_lft forever
[root@server153 ~]#
然后修改我们刚添加的网卡,除了ifcfg-ens33和ifcfg-lo之外就是
ifcfg-ens33r了 所以ifcfg-ens33r就是刚添加的网卡,因为版本主机什么的不同,所以网卡名可能不一样,多出来的就是了
[root@server153 ~]# ls /etc/sysconfig/network-scripts/
ifcfg-ens33 ifdown-isdn ifup ifup-plusb ifup-wireless
ifcfg-ens33r ifdown-post ifup-aliases ifup-post init.ipv6-global
ifcfg-lo ifdown-ppp ifup-bnep ifup-ppp network-functions
ifdown ifdown-routes ifup-eth ifup-routes network-functions-ipv6
ifdown-bnep ifdown-sit ifup-ippp ifup-sit
ifdown-eth ifdown-Team ifup-ipv6 ifup-Team
ifdown-ippp ifdown-TeamPort ifup-isdn ifup-TeamPort
ifdown-ipv6 ifdown-tunnel ifup-plip ifup-tunnel
[root@server153 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33r
然后在里面修改DEVICE网卡名,这里一定要意!!!!!!!!!!!
!!!!!!!!!!!!!!
修改成ens37,因为刚才ip addr查看的是ens37,你的是什么就修改成什么
添加我们的网卡ip和掩码,这台主机网关和掩码就不需要了,有一个网关了已经
IPADDR=192.168.231.10
PREFIX=24
DEVICE="ens37"
然后重启动网络,看的网卡ens37有我们的IP就可以了
[root@server153 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:3d:69:ea brd ff:ff:ff:ff:ff:ff
inet 192.168.121.153/24 brd 192.168.121.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe3d:69ea/64 scope link
valid_lft forever preferred_lft forever
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:50:56:33:ba:9e brd ff:ff:ff:ff:ff:ff
inet 192.168.231.10/24 brd 192.168.231.255 scope global ens37
valid_lft forever preferred_lft forever
inet6 fe80::250:56ff:fe33:ba9e/64 scope link
valid_lft forever preferred_lft forever
然后配置lvs规则,按着架构来配,将ip换成自己的就好了
[root@server153 ~]# ipvsadm -A -t 192.168.121.153:80 -s rr
[root@server153 ~]# ipvsadm -a -t 192.168.121.153:80 -r 192.168.231.100:80 -m
[root@server153 ~]# ipvsadm -a -t 192.168.121.153:80 -r 192.168.231.200:80 -m
[root@server153 ~]# ipvsadm --save > /etc/sysconfig/ipvsadm
[root@server153 ~]# systemctl daemon-reload
[root@server153 ~]# systemctl restart ipvsadm.service
[root@server153 ~]# ipvsadm -Ln
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.121.153:80 rr
-> 192.168.231.100:80 Masq 1 0 0
-> 192.168.231.200:80 Masq 1 0 0
这样我们的lvs的DS主机就配置好了
然后配置从SR主机
从机要先安装好网络测试环境 apache或者nginx都可以 要先装好,不然后面改成仅主机模式的时候还要上传包才能安装
不会写测试环境的话可以看看我nginx 反向代理的文章
装好浏览器服务以后关机,在VMware里将机子的网络模式改为仅主机就可以了,不用添加网卡
然后启动机子,修改ens33网卡
像我下面,用架构写好的ip,一台是192.168.231.100,另一台是192.168.231.200,网卡一定要改成lvs的DS主机的ip,就是刚才添加的网卡的ip,刚才我添加的是192.168.231.10的
这样配置好网络以后,重启网卡,启动nginx或者apache的http的就可以了
然后去浏览器测试
用别的主机测试
可以看的我们的实验这样就完成了
感兴趣的话可以看看我的其它文章