LVS+Keepalived 双机 单活 实现
目录
1、准备工作
1.1、检查内核是否支持LVS
查看内核版本
# 使用以下命令查看内核版本
uname -a
hostnamectl
备注:2.4.23以后的版本的内核已经支持LVS
1.2、安装Nginx
分别在10.84.169.220和10.84.169.221上安装Nginx并启动
安装过程可参考:https://www.cnblogs.com/cxbks-write-down/articles/14292895.html
修改index.html文件
# 备份index.html
mv /usr/local/nginx/html/index.html /usr/local/nginx/html/index.html_back
# 编辑index.html文件
vim /usr/local/nginx/html/index.html
# 添加到10.84.169.220的index.html中
real_server1
# 添加到10.84.169.221的index.html中
real_server2
2、安装ipvsadm管理工具
2.1、检查内核是否已加载ipvs模块
# lsmod命令可参考:
lsmod | grep ip_vs
2.2、检查ipvsadm是否被安装
# 检查命令
ipvsadm
# 检查结果如下表示安装成功
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
2.3、下载和安装
# 安装ipvsadm
yum -y install ipvsadm
# 安装成功检验
ipvsadm
IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
安装ipvsadm后,生成以下文件
# 查看ipvsadm安装了那些文件
rpm -ql ipvsadm
# 配置文件
/etc/sysconfig/ipvsadm-config
# 程序包
/usr/lib/systemd/system/ipvsadm.service
# 主程序
/usr/sbin/ipvsadm
# 规则重置工具
/usr/sbin/ipvsadm-restore
# 规则保存工具
/usr/sbin/ipvsadm-save
/usr/share/doc/ipvsadm-1.27
/usr/share/doc/ipvsadm-1.27/README
/usr/share/man/man8/ipvsadm-restore.8.gz
/usr/share/man/man8/ipvsadm-save.8.gz
/usr/share/man/man8/ipvsadm.8.gz
3、安装keepalived
3.1、下载和安装keepalived
# 通过yum安装
yum install -y keepalived
# 设置开机自启动
systemctl enable keepalived
# 启动keepalived
systemctl start keepalived
# 重启keepalived
systemctl restart keepalived
# 查看keepalived状态
systemctl status keepalived
# 查看keepalived进程
ps -aux|grep keepalived
root 117401 0.0 0.0 122872 1412 ? Ss 13:57 0:00 /usr/sbin/keepalived -D
root 117402 0.0 0.0 122872 2612 ? S 13:57 0:00 /usr/sbin/keepalived -D
root 117403 0.0 0.0 122872 1880 ? S 13:57 0:00 /usr/sbin/keepalived -D
# 通过跟踪日志查看keepalived启动情况
tail -f /var/log/messages
3.2、配置双机 单活
# 打开配置文件keepalived.conf
vim /etc/keepalived/keepalived.conf
主配置
! Configuration File for keepalived
# 全局定义配置区域
global_defs {
# 机器标识
router_id LVS_DEVEL_MASTER
}
# VRRPD配置区域
vrrp_instance VI_1 {
# 定义初始状态,可以是MASTER或者BACKUP
state MASTER
# 工作接口,通过选举使用哪个接口进行(通过ifconfig查看网卡)
interface eth0
# 虚拟路由ID,如果是一组虚拟路由就定义一个ID,如果是多组就要定义多个
# 而且这个虚拟ID还是虚拟MAC最后一段地址的信息,取值范围0-225
virtual_router_id 51
# 如果state定义额MASTER,这里的优先级就需要定义的比其他的高
priority 100
# 通知频率,单位为秒
advert_int 1
# 通信认证机制,这里是明文认证还有一种是加密认证
authentication {
auth_type PASS
auth_pass 1111
}
# 设置虚拟VIP地址,一般就设置一个,在LVS中就是LVS主机设置VIP的
virtual_ipaddress {
10.84.169.2/24
}
}
备配置
# 编辑配置文件 keepalived.conf
! Configuration File for keepalived
# 全局定义配置区域
global_defs {
# 机器标识
router_id LVS_DEVEL_BACKUP
}
# VRRPD配置区域
vrrp_instance VI_1 {
# 定义初始状态,可以是MASTER或者BACKUP
state BACKUP
# 工作接口,通过选举使用哪个接口进行(通过ifconfig查看网卡)
interface eth0
# 虚拟路由ID,如果是一组虚拟路由就定义一个ID,如果是多组就要定义多个
# 而且这个虚拟ID还是虚拟MAC最后一段地址的信息,取值范围0-225
virtual_router_id 51
# 如果state定义额MASTER,这里的优先级就需要定义的比其他的高
priority 100
# 通知频率,单位为秒
advert_int 1
# 通信认证机制,这里是明文认证还有一种是加密认证
authentication {
auth_type PASS
auth_pass 1111
}
# 设置虚拟VIP地址,一般就设置一个,在LVS中就是LVS主机设置VIP的
virtual_ipaddress {
10.84.169.2/24
}
}
4、验证
4.1、主备机器都运行时
# curl VIP
curl 10.84.169.2
# 返回
real_server1
4.2、主机挂掉,备机正常运行时
# curl VIP
curl 10.84.169.2
# 返回
real_server2
本文来自博客园,作者:cxbks,转载请注明原文链接:https://www.cnblogs.com/cxbks-write-down/articles/15720542.html
浙公网安备 33010602011771号