微信扫一扫
CentOS7.4—构建LVS+Keepalived高可用群集 更新:HHH 时间:2023-1-7
LVS+Keepalived高可用群集
目录第一部分 环境准备第二部分 使用Keepalived搭建双机热备第三部分 配置Web节点服务器第四部分 测试LVS+Keepalived高可用群集
第一部分 环境准备一:调度器两台(双机热备)系统:Linux—CentOS 7.4IP地址:192.168.80.10(主)IP地址:192.168.80.20(备)二:Web服务器两台系统:Linux—CentOS 7.4IP地址:192.168.80.30(SERVER AA)IP地址:192.168.80.40(SERVER BB) 三:客户端电脑一台:以win7为例,测试用IP地址:192.168.80.2
第二部分 使用Keepalived搭建双机热备第一步:配置主调度器[root@dd01 ~]# modprobe ip_vs //加载ip_vs模块[root@dd01 ~]# rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm //安装管理软件ipvsadm[root@dd01 ~]# yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel//安装编译工具与插件[root@dd01 ~]# tar xzvf keepalived-1.4.2.tar.gz //解压keepalived安装包[root@dd01 ~]# cd keepalived-1.4.2/[root@dd01 keepalived-1.4.2]# ./configure --prefix=/ //配置[root@dd01 keepalived-1.4.2]# make && make install //编译与安装[root@dd01 keepalived-1.4.2]# cp keepalived/etc/init.d/keepalived /etc/init.d/ //加入系统管理服务[root@dd01 keepalived-1.4.2]# systemctl enable keepalived //设置开机自启动[root@dd01 keepalived-1.4.2]# vi /etc/keepalived/keepalived.conf //编辑配置文件! Configuration File for keepalivedglobal_defs {router_id LVS_01 //本服务器的名称}vrrp_instance VI_1 { //定义VRRP热备实例state MASTER //热备状态,MASTER表示主服务器,BACKUP表示从服务器interface ens33 //承载VIP地址的物理接口virtual_router_id 51 //虚拟路由器的ID号,每个热备组保持一致priority 110 //优先级,数值越大优先级越高advert_int 1 //通告间隔秒数(心跳频率)authentication { //热备认证信息,每个热备组保持一致auth_type PASS //认证类型auth_pass 6666 //密码字符串}virtual_ipaddress { //指定漂移地址(VIP),可以有多个192.168.80.100}}virtual_server 192.168.80.100 80 { //虚拟服务器地址(VIP)、端口delay_loop 6 //健康检查的间隔时间(秒)lb_algo rr //轮询(rr)调度算法lb_kind DR //直接路由(DR)群集工作模式persistence_timeout 60 //连接保持时间(秒)protocol TCP //应用服务器采用的是TCP协议real_server 192.168.80.30 80 { //第一个Web服务器节点的地址、端口weight 1 //节点的权重TCP_CHECK { //健康检查方式connect_port 80 //检查的目标端口connect_timeout 3 //连接超时(秒)nb_get_retry 3 //重试次数delay_before_retry 3 //重试间隔}}real_server 192.168.80.40 80 { //第二个Web服务器节点的地址、端口weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}}保存退出[root@dd01 keepalived-1.4.2]# service keepalived start[root@dd01 keepalived-1.4.2]# ip addr show dev ens33 //验证绑定了的虚拟地址 [root@dd01 keepalived-1.4.2]# ipvsadm –L //查看LVS虚拟服务器 [root@dd01 keepalived-1.4.2]# tail -f /var/log/messages
第二步:配置从调度器[root@dd02 ~]# modprobe ip_vs //加载ip_vs模块[root@dd02 ~]# rpm -ivh /mnt/Packages/ipvsadm-1.27-7.el7.x86_64.rpm //安装管理软件ipvsadm[root@dd02 ~]# yum -y install gcc gcc-c++ make popt-devel kernel-devel openssl-devel[root@dd02 ~]# tar xzvf keepalived-1.4.2.tar.gz[root@dd02 ~]cd keepalived-1.4.2/[root@dd02 keepalived-1.4.2]# ./configure --prefix=/[root@dd02 keepalived-1.4.2]# make && make install[root@dd02 keepalived-1.4.2]# cp keepalived/etc/init.d/keepalived /etc/init.d/[root@dd02 keepalived-1.4.2]# systemctl enable keepalived[root@dd02 keepalived-1.4.2]# vi /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {router_id LVS_02}vrrp_instance VI_1 {state BACKUPinterface ens33virtual_router_id 51priority 105advert_int 1authentication {auth_type PASSauth_pass 6666}virtual_ipaddress {192.168.80.100}}virtual_server 192.168.80.100 80 {delay_loop 6lb_algo rrlb_kind DRpersistence_timeout 60protocol TCPreal_server 192.168.80.30 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}real_server 192.168.80.40 80 {weight 1TCP_CHECK {connect_port 80connect_timeout 3nb_get_retry 3delay_before_retry 3}}}保存退出[root@dd02 keepalived-1.4.2]# service keepalived start[root@dd02 keepalived-1.4.2]# ipvsadm –L
第三步:验证结果
第三部分 配置Web节点服务器第一步:配置SERVER AA服务器(192.168.80.30)
第二步:配置SERVER BB服务器(192.168.80.40)
第四部分 测试LVS+Keepalived高可用群集在客户端的浏览器中,能够通过LVS+Keepalived群集的漂移地址(192.168.80.100)正常访问web页面内容,则验证群集构建成功。
验证两台Web服务器轮询工作Win7访问http://192.168.80.100 //由于设置了连接保持时间为60秒,一分钟后再重新访问该地址 //自动轮询交给另一台Web服务器
模拟主调度器故障,验证结果[root@dd01 keepalived-1.4.2]# systemctl stop keepalived //主调度器keepalived停止工作 //从调度器自动切换,继续工作 //win7访问http://192.168.80.100,查看结果 //一分钟后,重新访问http://192.168.80.100,查看结果 //双机热备已经起作用
//LVS+Keepalived已成功搭建并测试完成