CentOS7.4—构建LVS+Keepalived高可用群集
admin
2023-03-12 18:21:41
0

LVS+Keepalived高可用群集

目录
第一部分 环境准备
第二部分 使用Keepalived搭建双机热备
第三部分 配置Web节点服务器
第四部分 测试LVS+Keepalived高可用群集

第一部分 环境准备
一:调度器两台(双机热备)
系统:Linux—CentOS 7.4
IP地址:192.168.80.10(主)
IP地址:192.168.80.20(备)
二:Web服务器两台
系统:Linux—CentOS 7.4
IP地址:192.168.80.30(SERVER AA)
IP地址:192.168.80.40(SERVER BB)
CentOS7.4—构建LVS+Keepalived高可用群集
三:客户端电脑一台:以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 keepalived
global_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 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
保存退出
[root@dd01 keepalived-1.4.2]# service keepalived start
[root@dd01 keepalived-1.4.2]# ip addr show dev ens33 //验证绑定了的虚拟地址
CentOS7.4—构建LVS+Keepalived高可用群集
[root@dd01 keepalived-1.4.2]# ipvsadm –L //查看LVS虚拟服务器
CentOS7.4—构建LVS+Keepalived高可用群集
[root@dd01 keepalived-1.4.2]# tail -f /var/log/messages
CentOS7.4—构建LVS+Keepalived高可用群集

第二步:配置从调度器
[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 keepalived
global_defs {
router_id LVS_02
}
vrrp_instance VI_1 {
state BACKUP
interface ens33
virtual_router_id 51
priority 105
advert_int 1
authentication {
auth_type PASS
auth_pass 6666
}
virtual_ipaddress {
192.168.80.100
}
}
virtual_server 192.168.80.100 80 {
delay_loop 6
lb_algo rr
lb_kind DR
persistence_timeout 60
protocol TCP
real_server 192.168.80.30 80 {
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 {
weight 1
TCP_CHECK {
connect_port 80
connect_timeout 3
nb_get_retry 3
delay_before_retry 3
}
}
}
保存退出
[root@dd02 keepalived-1.4.2]# service keepalived start
[root@dd02 keepalived-1.4.2]# ipvsadm –L
CentOS7.4—构建LVS+Keepalived高可用群集

第三步:验证结果

  1. dd01主服务器keepalived服务开启状态,验证dd02从服务器状态
    [root@dd02 keepalived-1.4.2]# ip addr show dev ens33
    CentOS7.4—构建LVS+Keepalived高可用群集
    [root@dd02 keepalived-1.4.2]# tail -f /var/log/messages
    CentOS7.4—构建LVS+Keepalived高可用群集
    //备机状态
  2. 模拟主服务器故障,将dd01主服务器keepalived服务关闭,验证dd02从服务器状态
    [root@dd01 keepalived-1.4.2]# systemctl stop keepalived
    CentOS7.4—构建LVS+Keepalived高可用群集
    //备机自己切换到主机状态
    CentOS7.4—构建LVS+Keepalived高可用群集
    //双机热备搭建完成

第三部分 配置Web节点服务器
第一步:配置SERVER AA服务器(192.168.80.30)

  1. 配置http服务
    //安装http服务
    [root@aa ~]# yum install -y httpd
    //编辑主配置文件
    [root@aa ~]# vi /etc/httpd/conf/httpd.conf
    ServerName aa //将“#”号去掉,修改主机名
    保存退出
    //配置默认显示网页
    [root@aa ~]# cd /var/www/html/
    [root@aa html]# echo "

    SERVER AA

    " > index.html
    CentOS7.4—构建LVS+Keepalived高可用群集
    [root@aa html]# service httpd start //重启http服务
    //win7验证http服务
    访问http://192.168.80.30
    CentOS7.4—构建LVS+Keepalived高可用群集
  2. 配置DR模式
    [root@aa ~]# vi web.sh
    #!/bin/bash
    #haha
    ifconfig lo:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up
    route add -host 192.168.80.100 dev lo:0
    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
    sysctl -p &>/dev/null
    保存退出
    [root@aa ~]# sh web.sh //执行脚本
    [root@aa ~]# ifconfig //查看虚拟接口
    CentOS7.4—构建LVS+Keepalived高可用群集

第二步:配置SERVER BB服务器(192.168.80.40)

  1. 配置http服务
    //安装http服务
    [root@bb ~]# yum install -y httpd
    //编辑主配置文件
    [root@bb ~]# vi /etc/httpd/conf/httpd.conf
    ServerName bb //将“#”号去掉,修改主机名
    保存退出
    //配置默认显示网页
    [root@bb ~]# cd /var/www/html/
    [root@bb html]# echo "

    SERVER BB

    " > index.html
    CentOS7.4—构建LVS+Keepalived高可用群集
    [root@bb html]# service httpd start //重启http服务
    //win7验证http服务
    访问http://192.168.80.40
    CentOS7.4—构建LVS+Keepalived高可用群集
    ----------配置DR模式---------
    [root@bb ~]# vi web.sh
    #!/bin/bash
    #hehe
    ifconfig lo:0 192.168.80.100 broadcast 192.168.80.100 netmask 255.255.255.255 up
    route add -host 192.168.80.100 dev lo:0
    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
    sysctl -p &>/dev/null
    保存退出
    [root@bb ~]# sh web.sh //执行脚本
    [root@bb ~]# ifconfig //查看虚拟接口
    CentOS7.4—构建LVS+Keepalived高可用群集

第四部分 测试LVS+Keepalived高可用群集
在客户端的浏览器中,能够通过LVS+Keepalived群集的漂移地址(192.168.80.100)正常访问web页面内容,则验证群集构建成功。

  1. 验证两台Web服务器轮询工作
    Win7访问http://192.168.80.100
    CentOS7.4—构建LVS+Keepalived高可用群集
    //由于设置了连接保持时间为60秒,一分钟后再重新访问该地址
    CentOS7.4—构建LVS+Keepalived高可用群集
    //自动轮询交给另一台Web服务器

  2. 模拟主调度器故障,验证结果
    [root@dd01 keepalived-1.4.2]# systemctl stop keepalived
    //主调度器keepalived停止工作
    CentOS7.4—构建LVS+Keepalived高可用群集
    //从调度器自动切换,继续工作
    CentOS7.4—构建LVS+Keepalived高可用群集
    //win7访问http://192.168.80.100,查看结果
    CentOS7.4—构建LVS+Keepalived高可用群集
    //一分钟后,重新访问http://192.168.80.100,查看结果
    CentOS7.4—构建LVS+Keepalived高可用群集
    //双机热备已经起作用

  3. 模拟Web服务器aa故障
    [root@bb ~]# service httpd stop //将bb服务器停止工作
    [root@dd01 keepalived-1.4.2]# tail -f /var/log/messages
    CentOS7.4—构建LVS+Keepalived高可用群集
    访问http://192.168.80.40
    CentOS7.4—构建LVS+Keepalived高可用群集
    一分钟后,重新访问http://192.168.80.40
    CentOS7.4—构建LVS+Keepalived高可用群集
    //无法访问,验证成功
    [root@bb ~]# service httpd start //恢复启动bb服务器
    //查看调度器日志:
    CentOS7.4—构建LVS+Keepalived高可用群集
    //已成功将bb服务器加入到服务器池

//LVS+Keepalived已成功搭建并测试完成

相关内容

热门资讯

为190元“仅退款”榴莲千里讨... 极目新闻记者 王鹏因为一笔190元的恶意“仅退款”订单,卖家自掏5000余元,驱车1600公里赴山东...
“AI智能回答”误称律师“被判... 据澎湃新闻报道,南京执业律师李小亮发现,在百度手机App、百度网站搜索其个人姓名+职务时,百度“AI...
年初铺的草皮五一咋又铲除?自然... 江西省上饶市的周先生近日向华商报大风新闻反映:今年五一假期时,他注意到上饶市广丰区北河滨路芦林街道源...
浏阳烟花厂爆炸事故4名重症患者... 截至今天(9日)上午11时,浏阳烟花厂爆炸事故在院患者42人,原5名重症患者中4人已转为轻症;在院患...
中东战火不断,为何全球股市不跌... 最近与一位美国学者交流,他讲到一个颇有意味的场景:在华尔街一场交流中,包括他在内的3位国际问题研究专...
景区回应“母亲节穿旗袍免费入园... 近日,南京天生桥景区推出的母亲节当天女士穿旗袍免费入园活动引发争议,有人认为母亲节女士穿旗袍活动,策...
一本正经胡说八道,谁为AI幻觉... AI幻觉频发,误导用户、毁损名誉的责任,该由谁来承担?南京律师李小亮在百度上搜索自己的信息,结果百度...
老人在直播间疯狂刷火箭 周佳欣、郑凯丹、朱娅、蒋婉、黄铃、王佳、李婉晴/文64岁的王雅达又往直播间里刷了一枚“火箭”。屏幕上...
汉坦病毒阳性乘客在乌斯怀亚港登... 自世卫组织(WHO)5月6日公布荷兰泛海探险公司(Oceanwide Expeditions)旗下极...
冰箱不制冷的原因有哪几种 冰箱的电压在正常的情况下,压缩机没有正常的运转,而且有噪声和旋转的声音,压缩机一旦出现故障,冰箱就会...