LVS(DR模式)与keepalived实现负载均衡高可用集群

1.将server1配置好的yum源发送给server4

scp /etc/yum.repos.d/rhel-source.repo server4:/etc/yum.repos.d/

2.获取keepalived-2.0.6.tar.gz并解压

tar zxf keepalived-2.0.6.tar.gz

在这里插入图片描述

3.进入解压好的keepalived-2.0.6目录下,进行源码编译

cd keepalived-2.0.6
yum install openssl-devel -y
./configure --prefix=/usr/local/keepalived --with-init=SYSV

这里出现YES说明成功
在这里插入图片描述

4.查看状态

在这里插入图片描述

5.将编译好的keepalived发送给server4

scp -r keepalived/ server4:/usr/local
du -sh keepalived/
2.2M	keepalived/
server4:
du -sh /usr/local/keepalived/
2.2M	keepalived/

6.赋予执行权限,添加链接

chmod +x /usr/local/keepalived/etc/rc.d/init.d/keepalived
ln -s /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/
ln -s /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/
ln -s /usr/local/keepalived/etc/keepalived/ /etc/
ln -s /usr/local/keepalived/sbin/keepalived /sbin/

在这里插入图片描述

7.为server4安装ipvsadm

yum install ipvsadm -y

8.将所有ip还原

modprobe -r ipip		#清除隧道

在这里插入图片描述

9.编辑keepalived配置文件,server1设置为MASTER,server4设置为BACKUP

vim /etc/keepalived/keepalived.conf
 3 global_defs {		##全局定义块
  4    notification_email {	##邮件通知
  5      root@localhost
  6    }
  7    notification_email_from keepalived@localhost	#设置邮件的发送地址
  8    smtp_server 127.0.0.1				#设置 smtp server 地址
  9    smtp_connect_timeout 30				#设置连接 smtp 服务器超时时间
 10    router_id LVS_DEVEL6				#load balancer 的标识 ID,用于 email 警报
 11    vrrp_skip_check_adv_addr
 12    #vrrp_strict
 13    vrrp_garp_interval 0
 14    vrrp_gna_interval 0
 15 }
 16 
 17 vrrp_instance VI_1 {
 18     state MASTER				#备机改为 BACKUP,此状态是由 priority 的值来决定的,当前
 19     interface eth0				#HA 监测网络接口
 20     virtual_router_id 59			#主、备机的 virtual_router_id 必须相同,取值 0-255
 21     priority 100				#主机的优先级,备份机改为 50,主机优先级一定要大于备机
 22     advert_int 1				#主备之间的通告间隔秒数
 23     authentication {
 24         auth_type PASS			#设置验证类型,主要有 PASS 和 AH 两种
 25         auth_pass 1111
 26     }
 27     virtual_ipaddress {			##指定漂移地址(VIP),即切换到MASTER时,这些IP会被添加,切换到BACKUP时,这些IP会被删除(传给ip addr命令),所以每台服务器可以不用绑定任何的虚拟地址。
 28         172.25.8.100
 29     }
 30 }
 31 ## 虚拟服务配置
 32 virtual_server 172.25.8.100 80 {		#定义虚拟服务器
 33     delay_loop 3		#定义虚拟服务器
 34     lb_algo rr		#lvs 调度算法,这里使用轮叫
 35     lb_kind DR		#LVS 是用 DR 模式
 36     #persistence_timeout 50	#注释掉(像lftp等连接性服务,会有连接时间,此处用httpd做实验)
 37     protocol TCP		#指定转发协议类型,有 tcp 和 udp 两种
 38 
 39     real_server 172.25.8.2 80 {	#配置服务节点
 40         TCP_CHECK {			##TCP方式的健康检查,realserve 的状态检测设置部分,单位是秒
 41             weight 1		##默认为1,0为失效
 42             connect_timeout 3 	#3 秒无响应超时
 43             retry 3			#重试次数
 44             delay_before_retry 3	#重试间隔
 45         }
 46     }
 47 
 48     real_server 172.25.8.3 80 {
 49         TCP_CHECK {
 50             weight 1
 51             connect_timeout 3
 52             retry 3
 53             delay_before_retry 3
 54         }
 55     }
 56 }

server1和server4安装邮件服务

yum install mailx -y

10.将ldirectord服务停止,关闭开机自启

/etc/init.d/ldirectord stop
chkconfig ldirectord off
ipvsadm -C
ipvsadm -l

在这里插入图片描述

11.启动keepalived服务

server1和server4都要打开

/etc/init.d/keepalived start

12.为服务器server2和server3添加内网ip

ip addr add 172.25.80.100/32 dev eth0

测试

server1上查询ip
在这里插入图片描述
可以看到自动分配的内网ip,并开启调度器
在这里插入图片描述
在客户端测试,出现轮询
在这里插入图片描述

模拟问题1

关掉sever1,MASTER的keepalived服务
在这里插入图片描述此时BACKUP开始工作
在这里插入图片描述

模拟问题2

将后端apache关闭,模拟故障
在这里插入图片描述
在客户端访问
在这里插入图片描述
可以看到邮件
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43511217/article/details/89366818