操作系统 rhel6

配置本地yum源 service iptables stop ;chkconfig iptables off setenforce 0

ip 地址 要求 eth0 192.168.4.100-104 92.168.4.200 92.168.4.250 ++++++++++++++++++++++++++++++++++ LINUX 集群与存储 5天 集群 3天: LB HA (LVS Haproxy keepalived) 存储 2天: 共享存储 (iscsi NFS FastDFS )
2天综合实验(部署网站服务) ++++++++++++++++++++++++++++++++++++ 相关知识: 什么是集群?(群集)

集群的目的?

集群分类?

LVS介绍?

LVS集群的组成?

LVS术语? vip rip dip \ Director Server \ real Server

LVS工作模式: LVS/NAT LVS/DR LVS/TUN * **

LVS调度算法: 10种 常用4种(RR WRR LC WLC)。

DAY02 : 一、使用LVS部署 网站LB集群 1.1 LVS/NAT 1.1.1 环境准备

网站服务器主机101、102 客户端主机250 分发器主机100

               client eth1  192.168.2.250	            

                         eth1    192.168.2.100    
 
                      LVS100

                         eth0     192.168.4.100

              eth0               eth0
         web4.101        web4.102

配置: +++++++++++++++++++++++++++++++++++++ 客户端250: 配置网关地址: route -n route add default gw 192.168.2.100

http://192.168.2.100/test.html ++++++++++++++++++++++++++++++++++++++ A配置网站服务器101/102 :

配置网关地址: route -n route add default gw 192.168.4.100 route del default gw 192.168.4.100 运行网站服务 163 yum -y install httpd 164 echo web102 > /var/www/html/test.html 165 service httpd start ;chkconfig httpd on ]# netstat -untlap | grep :80

编写网页文件 vim /var/www/html/test.html web102 web101 +++++++++++++++++++++++++++++++++++++++++ B配置分发器100 开启内核的路由转发功能 ]# sed -i '7s/0/1/' /etc/sysctl.conf [root@LVS100 ~]# sysctl -p net.ipv4.ip_forward = 1 1.1.2 安装软件包 ]# rpm -q ipvsadm || yum -y install ipvsadm 1.1.3 配置LVS #ipvsadm --help -A -t -s -a -r -m -Ln -C --stats ]# ipvsadm -L ]# ipvsadm -Ln ]# ipvsadm -C 添加虚拟服务 ]# ipvsadm -A -t 192.168.2.100:80 -s rr 添加real server ]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.4.101:80 -m ]# ipvsadm -a -t 192.168.2.100:80 -r 192.168.4.102:80 -m

保存配置 [root@LVS100 ~]# /etc/init.d/ipvsadm save ]# chkconfig ipvsadm on

[root@LVS100 ~]# cat /etc/sysconfig/ipvsadm -A -t 192.168.2.100:80 -s rr -a -t 192.168.2.100:80 -r 192.168.4.101:80 -m -w 1 -a -t 192.168.2.100:80 -r 192.168.4.102:80 -m -w 1

[root@LVS100 ~]# ]# watch -n 1 ipvsadm -Ln --stats 在客户端250主机 测试分发器配置: #yum -y install elinks #elinks --dump http://192.168.2.100/test.html

+++++++++++++++++++++++++++++++++++++++++++ 从虚拟服务里删除realserver ? -d ]# ipvsadm -d -t 192.168.2.100:80 -r 192.168.4.103:80

修改虚拟服务的调度算法? -s ]# ipvsadm -E -t 192.168.2.100:80 -s wrr

修改realserver权重值 -w ]# ipvsadm -e -t 192.168.2.100:80 -r 192.168.4.102:80 -w 3 -m ]# ipvsadm -e -t 192.168.2.100:80 -r 192.168.4.104:80 -w 5 -m

保存 修改
]# /etc/init.d/ipvsadm save

http://192.168.2.100/iso rhel7.iso 4G

+++++++++++++++++++++++++++++++

  • 清除3种角色主机上lvs/NAT模式的配置

1.2 LVS/DR 网站 LB集群 real server 的ip地址要和 vip 地址是一个网段的。

                                 client250  eth0    192.168.4.250
                                 
                           http://192.168.4.253/test.html
	                vip				                  
                                           
                                           eth0:1 192.168.4.253
                             lvs100  eth0  4.100
                                    
       
                          vip 192.168.4.253                    
                   web101             web102      
                  eth0 4.101         eth0  4.102

CLient 192.168.2.250 源ip地址 目标ip 地址 2.250 <------------- DR RR--------> 4.101(vip 2.100)

192.168.2.250 http://192.168.2.100/test.html

      lvs          2.100

      web101  2.100          eth0   lo  
      web102  2.100          eth0   lo

192.168.4.0/24

A 配置网站服务器101/102 A.1 修改网络接口运行参数 ]# cd /proc/sys/net/ipv4/conf/ ]# ls

]# echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore ]# echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

]# echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore ]#echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce

A.2 绑定vip地址 #ifconfig lo #ifconfig lo:1 192.168.4.253/32 #ifconfig lo:1

永久配置 #vim /etc/rc.local ifconfig lo:1 192.168.4.253/32 echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce :wq

++++++++++++++++++++++++++++++++++ B 配置分发器100 B.1 绑定vip地址 #ifconfig eth0:1

ifconfig eth0:1 192.168.4.253/32

永久配置 #vim /etc/rc.local ifconfig eth0:1 192.168.4.253/32 :wq

B.2 添加虚拟服务 ,和realserver. 1 ipvsadm -A -t 192.168.4.253:80 -s rr 2 ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.101:80 -g 4 ipvsadm -a -t 192.168.4.253:80 -r 192.168.4.102:80 -g 5 ipvsadm -Ln 6 /etc/init.d/ipvsadm save 7 cat /etc/sysconfig/ipvsadm #ipvsadm -Ln --stats (只有进来的包 没有出去的包)

C 客户端192.168.4.250测试 #arping 192.168.4.253 (显示的是分发器eth0接口的mac地址) #elinks --dump http://192.168.4.253/test.html

++++++++++++++++++++++++++++++++++++++
思考? realserver 主机上的网站服务 停止了 ,分发器还会把请求分发给realserver主机吗?

LVS 默认不对realserver 不做健康性检查。 编写脚本 检查realserver 主机上网站服务的状态,当网站服务没运行时 ,把realserver 主机从虚拟服务里删除。