keepalived 高可用调度器配置
2016-05-16 16:43
615 查看
一、vrrp 概述
1.VRRP协议
虚拟路由冗余协议,是IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议.
VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混
乱,准许主机使用单路由器,及时在在实际第一跳路由器使用失败的情形下仍能够维护路由器
间的连通性。
2.VRRP基本术语
![](http://s1.51cto.com/wyfs02/M01/80/24/wKiom1c5QDnw3h94AAKFMyZEoHU139.jpg)
3.VRRP工作原理
![](http://s2.51cto.com/wyfs02/M00/80/24/wKiom1c5Q4ezG_f4AAGCclsdDcU471.jpg)
4.VRRP的主要功能
1.master 路由器的选择功能
2.master 路由器的状态通告
3.VRRP 认证功能
5.VRRP高可用工作模型
1.主备模型
联网业务由master路由器承担,当master路由器出现故障时候,才会由选出来的backup路由器
接替主路由器的工作
![](http://s5.51cto.com/wyfs02/M01/80/24/wKiom1c5Q5yS2A3wAADCC921Bcc917.jpg)
2.主主模型
在路由器的一个接口上可以创建多个虚拟机路由器,似的该路由器可以在一个虚拟路由器中作
为master路由器,同时在其它的虚拟路由器中作为backup路由器,主主模型备份方式可以实现
负载分担的功能
![](http://s2.51cto.com/wyfs02/M02/80/24/wKiom1c5RIHQ8Zj3AADwHmelu00857.jpg)
二、keepalived高可用调度器
1.keepalived 的功能
keepalived程序是vrrp协议在linux主机上以守护进程方式的实现。能够根据配置
文件生成ipvs规则,并对各RealServer的健康做检测,以及loadbalance主机和Backup
主机之间failover的实现
CentOS 6.4+,程序包已经在base源提供;
2.程序组件有
1.核心程序 、IO复用器、内存管理、配置文件分析器
![](http://s5.51cto.com/wyfs02/M00/80/24/wKiom1c5RqaSWk9FAAG6DSX0ajw432.jpg)
3.keepalived高可用几圈配置前提
1.各节点时间要同步,不能超过1s,一半使用网络时间服务器(ntp-server)
2.确保iptables及selinux不会成为障碍
3.各节点之间可通过主机名想通信,节点的名称设定与hosts文件中解析的主机名都要保持一
致,#uname -n 获得的主机名,与解析的主机名要相同;
4.各节点之间基于秘钥认证的方式通过ssh互信通信;
备注:第3.4条非必须
三、keepalived 环境配置详解
1.程序包的安装
yum instll keepalived -y
备注:CentOS 6.4+,程序包已经在base源提供
2.生成的配置文件有
主配置文件:/etc/keepalived/keepalived.conf
Unit file:/usr/lib/systemd/system/keepalived.service
配置文件:/etc/sysconfig/keepalived
全局配置详解;
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
![](http://s2.51cto.com/wyfs02/M02/80/27/wKiom1c5ckPiIHSDAAB9jdlgn7Y783.jpg)
3.配置vrrp实例:
vrrp instance:虚拟路由器
vrrp_instance Name {
...
}
vrrp synchronization group
vrrp_sync_group Name {
...
}
1)基本配置;
![](http://s2.51cto.com/wyfs02/M01/80/27/wKiom1c5c_aBLGPTAACTw5w4fiQ429.jpg)
2)认证方式配置;
![](http://s3.51cto.com/wyfs02/M02/80/24/wKioL1c5dS7iAGTOAABp_x2i9DA382.jpg)
3)虚拟IP地址配置
![](http://s4.51cto.com/wyfs02/M01/80/25/wKioL1c5dZ_gDAPZAAA3t8HsVMg543.jpg)
4.keepalived主备模型配置
1.主节点配置
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
}
vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
2.备用节点配置
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
}
vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
主备节点配置完毕后进行服务的启动工作
主节点;systemctl start keepalived.service
然后使用ip addr list 进行查看工作,如下所示
eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:48:cf:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.107/24 brd 192.168.1.255 scope global dynamic eno16777736
valid_lft 5109sec preferred_lft 5109sec
inet 192.168.1.200/32 scope global eno16777736
valid_lft forever preferred_lft forever 这个就是虚拟vip 已经显示在这里了。
inet6 fe80::20c:29ff:fe48:cf50/64 scope link
valid_lft forever preferred_lft forever
如果现在主节点停止服务的话,备用节点将自动上线,来代替主节点的工作。如下所示
使用命令systemctl stop keepalived.servcie
我们来看一下备节点的情况
eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:08:0d:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.129/24 brd 192.168.1.255 scope global dynamic eno16777736
valid_lft 4305sec preferred_lft 4305sec
inet 192.168.1.200/32 scope global eno16777736 现在备用节点已经得到了IP地址。
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe08:d91/64 scope link
valid_lft forever preferred_lft forever
如果主服务自动上线的话,我们的备用节点又会自动退出,主节点继续工作,备用节点去后台暂时休息。
5.keepalived 双主配置
节点1-node1:
vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 171
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 0c5UMiJo
}
virtual_ipaddress {
192.168.1.200 dev eno16777736 label eno16777736:0
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
priority 98vrrp_instance VI_2 {
state BACKUP
interface eno16777736
virtual_router_id 172
advert_int 1
authentication {
auth_type PASS
auth_pass 0c6UMiJo
}
virtual_ipaddress {
192.168.1.201 dev eno16777736 label eno16777736:1
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
节点2-node2:
vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 171
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 0c5UMiJo
}
virtual_ipaddress {
192.168.1.200 dev eno16777736 label eno16777736:0
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
vrrp_instance VI_2 {
state MASTER
interface eno16777736
virtual_router_id 172
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 0c6UMiJo
}
virtual_ipaddress {
192.168.1.201 dev eno16777736 label eno16777736:1
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
好了,就写到这里吧,写博客看来也挺痛苦的,继续加油,师傅领进门修行靠个人。继续跟着马哥前行吧。
1.VRRP协议
虚拟路由冗余协议,是IETF提出的解决局域网中配置静态网关出现单点失效现象的路由协议.
VRRP广泛应用在边缘网络中,它的设计目标是支持特定情况下IP数据流量失败转移不会引起混
乱,准许主机使用单路由器,及时在在实际第一跳路由器使用失败的情形下仍能够维护路由器
间的连通性。
2.VRRP基本术语
![](http://s1.51cto.com/wyfs02/M01/80/24/wKiom1c5QDnw3h94AAKFMyZEoHU139.jpg)
3.VRRP工作原理
![](http://s2.51cto.com/wyfs02/M00/80/24/wKiom1c5Q4ezG_f4AAGCclsdDcU471.jpg)
4.VRRP的主要功能
1.master 路由器的选择功能
2.master 路由器的状态通告
3.VRRP 认证功能
5.VRRP高可用工作模型
1.主备模型
联网业务由master路由器承担,当master路由器出现故障时候,才会由选出来的backup路由器
接替主路由器的工作
![](http://s5.51cto.com/wyfs02/M01/80/24/wKiom1c5Q5yS2A3wAADCC921Bcc917.jpg)
2.主主模型
在路由器的一个接口上可以创建多个虚拟机路由器,似的该路由器可以在一个虚拟路由器中作
为master路由器,同时在其它的虚拟路由器中作为backup路由器,主主模型备份方式可以实现
负载分担的功能
![](http://s2.51cto.com/wyfs02/M02/80/24/wKiom1c5RIHQ8Zj3AADwHmelu00857.jpg)
二、keepalived高可用调度器
1.keepalived 的功能
keepalived程序是vrrp协议在linux主机上以守护进程方式的实现。能够根据配置
文件生成ipvs规则,并对各RealServer的健康做检测,以及loadbalance主机和Backup
主机之间failover的实现
CentOS 6.4+,程序包已经在base源提供;
2.程序组件有
1.核心程序 、IO复用器、内存管理、配置文件分析器
![](http://s5.51cto.com/wyfs02/M00/80/24/wKiom1c5RqaSWk9FAAG6DSX0ajw432.jpg)
3.keepalived高可用几圈配置前提
1.各节点时间要同步,不能超过1s,一半使用网络时间服务器(ntp-server)
2.确保iptables及selinux不会成为障碍
3.各节点之间可通过主机名想通信,节点的名称设定与hosts文件中解析的主机名都要保持一
致,#uname -n 获得的主机名,与解析的主机名要相同;
4.各节点之间基于秘钥认证的方式通过ssh互信通信;
备注:第3.4条非必须
三、keepalived 环境配置详解
1.程序包的安装
yum instll keepalived -y
备注:CentOS 6.4+,程序包已经在base源提供
2.生成的配置文件有
主配置文件:/etc/keepalived/keepalived.conf
Unit file:/usr/lib/systemd/system/keepalived.service
配置文件:/etc/sysconfig/keepalived
全局配置详解;
global_defs {
notification_email {
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 192.168.200.1
smtp_connect_timeout 30
router_id LVS_DEVEL
}
![](http://s2.51cto.com/wyfs02/M02/80/27/wKiom1c5ckPiIHSDAAB9jdlgn7Y783.jpg)
3.配置vrrp实例:
vrrp instance:虚拟路由器
vrrp_instance Name {
...
}
vrrp synchronization group
vrrp_sync_group Name {
...
}
1)基本配置;
![](http://s2.51cto.com/wyfs02/M01/80/27/wKiom1c5c_aBLGPTAACTw5w4fiQ429.jpg)
2)认证方式配置;
![](http://s3.51cto.com/wyfs02/M02/80/24/wKioL1c5dS7iAGTOAABp_x2i9DA382.jpg)
3)虚拟IP地址配置
![](http://s4.51cto.com/wyfs02/M01/80/25/wKioL1c5dZ_gDAPZAAA3t8HsVMg543.jpg)
4.keepalived主备模型配置
1.主节点配置
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
}
vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
2.备用节点配置
global_defs {
notification_email {
root@localhost
}
notification_email_from Alexandre.Cassen@firewall.loc
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id node1
}
vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 51
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168.1.200
}
}
主备节点配置完毕后进行服务的启动工作
主节点;systemctl start keepalived.service
然后使用ip addr list 进行查看工作,如下所示
eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:48:cf:50 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.107/24 brd 192.168.1.255 scope global dynamic eno16777736
valid_lft 5109sec preferred_lft 5109sec
inet 192.168.1.200/32 scope global eno16777736
valid_lft forever preferred_lft forever 这个就是虚拟vip 已经显示在这里了。
inet6 fe80::20c:29ff:fe48:cf50/64 scope link
valid_lft forever preferred_lft forever
如果现在主节点停止服务的话,备用节点将自动上线,来代替主节点的工作。如下所示
使用命令systemctl stop keepalived.servcie
我们来看一下备节点的情况
eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:08:0d:91 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.129/24 brd 192.168.1.255 scope global dynamic eno16777736
valid_lft 4305sec preferred_lft 4305sec
inet 192.168.1.200/32 scope global eno16777736 现在备用节点已经得到了IP地址。
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe08:d91/64 scope link
valid_lft forever preferred_lft forever
如果主服务自动上线的话,我们的备用节点又会自动退出,主节点继续工作,备用节点去后台暂时休息。
5.keepalived 双主配置
节点1-node1:
vrrp_instance VI_1 {
state MASTER
interface eno16777736
virtual_router_id 171
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 0c5UMiJo
}
virtual_ipaddress {
192.168.1.200 dev eno16777736 label eno16777736:0
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
priority 98vrrp_instance VI_2 {
state BACKUP
interface eno16777736
virtual_router_id 172
advert_int 1
authentication {
auth_type PASS
auth_pass 0c6UMiJo
}
virtual_ipaddress {
192.168.1.201 dev eno16777736 label eno16777736:1
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
节点2-node2:
vrrp_instance VI_1 {
state BACKUP
interface eno16777736
virtual_router_id 171
priority 98
advert_int 1
authentication {
auth_type PASS
auth_pass 0c5UMiJo
}
virtual_ipaddress {
192.168.1.200 dev eno16777736 label eno16777736:0
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
vrrp_instance VI_2 {
state MASTER
interface eno16777736
virtual_router_id 172
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 0c6UMiJo
}
virtual_ipaddress {
192.168.1.201 dev eno16777736 label eno16777736:1
}
track_script {
chk_down
}
notify_master "/etc/keepalived/notify.sh master"
notify_backup "/etc/keepalived/notify.sh backup"
notify_fault "/etc/keepalived/notify.sh fault"
}
好了,就写到这里吧,写博客看来也挺痛苦的,继续加油,师傅领进门修行靠个人。继续跟着马哥前行吧。
相关文章推荐
- 在 Linux 上使用开源软件创建 SDN
- XP下使用虚拟机安装配置Solaris[多图]
- [原创]java局域网聊天系统
- VirtualBox虚拟机XP与宿主机Ubuntu互访共享文件夹
- Linux下三大免费桌面虚拟机评测
- 当存储无可用空间时无法启动虚拟机
- Windows 8虚拟机不能全屏的解决方法
- 使用VMware Workstation虚拟机保护数据
- 破墙而入看电视
- 用 GNOME Boxes 下载一个操作系统镜像
- 一个注册表搞定“打开局域网机器文件提示”
- 路由器启动的顺序
- 路由器基础配置及传输协议
- 管理与维护宽带路由器的注意事项
- 通过批处理bat解决局域网打印机共享问题
- 局域网遭遇“ARP”病毒的新变种附临时解决方法
- 远程连接局域网内的SQL Server 的方法
- 如何解决局域网内mysql数据库连接慢
- android 使用虚拟机安装apk(图文教程)
- 再论局域网互访故障问题的解决方法图文教程