Linux系统高可用集群软件之Keepalived

Linux系统高可用集群软件之Keepalived,第1张

Linux系统高可用集群软件之Keepalived

Keepalived集群软件是基于VRRP协议的高可用LVS(四层协议)服务方案,可用于避免单节点故障。LVS服务需要两台运行Keepalived服务的服务器,一台为主服务器,一台为备份服务器,但是外部只有一个虚拟IP。主服务器将向备份服务器发送特定的消息。当备份服务器接收不到此消息时,备份服务器认为主服务器宕机,将接管虚拟IP提供服务,从而保证服务的高可用性。

1.环境描述

系统:Centos6.564位

软件:保持激活的ipvsadm

服务:阿帕奇

网络:

节点1:192.168.1.100

节点2:192.168.1.102

贵宾:192.168.1.105

2.配置本地时间和网络

(1)两台服务器之间的时间必须是一到

[root@node2~]#date-node2的时间
2014年11月13日星期四15:11:09CST
[root@node2~]#

[root@node1~]#date-node1的时间
2014年11月13日星期四15:11:13CST
[root@node1~]#

(2)配置本地网络

节点1节点:

[root@node1~]#vim/etc/sysconfig/network-scripts/ifCFG-eth0

DEVICE=eth0
HWADDR=08:00:27:EE:3D:F6
TYPE=以太网
onboot=yes
bootproto=static
IPaddr=192.168.1.100
netmask=255.255.255.0
GATEWAY=192.168.1.1

[root@node1~]#vim/etc/hosts-两台服务器相互解析。

192.168.1.100节点1

[root@node1~]#

2节点2:

[root@node2~]#vim/etc/sysconfig/network-scripts/ifCFG-eth0

DEVICE=eth0
HWADDR=08:00:27:A5:94:4C
onboot=yes
bootproto=static
IPaddr=192.168.1.102
netmask=255.255.255.0
GATEWAY=192.168.1.1

[root@node2~]#vim/etc/hosts

192.168.1.100节点1

[root@node2~]#

3.安装所需的软件包并配置httpd服务。

节点1节点:

[root@node1~]#yuminstallhttpdkeepalivedipvsadm-y-安装所需的软件

[root@node1~]#vim/etc/httpd/conf/httpd.conf

服务器名127.0.0.1

[root@node1~]#echo"node1">;/var/www/html/index.html-定义web主页

[root@node1~]#/etc/init.d/httpdrestart
停止httpd:[失败]
启动httpd:[好]

[root@node1~]#chkconfighttpdon-重新启动web服务

[root@node1~]#

2节点2:

[root@node2~]#yuminstallhttpdkeepalivedipvsadm-y

[root@node2~]#vim/etc/httpd/conf/httpd.conf

服务器名127.0.0.1

[root@node2~]#echo"node2">;/var/www/html/index.html

[root@node2~]#/etc/init.d/httpdrestart
停止httpd:[失败]
启动httpd:[好]

[root@node2~]#chkconfighttpdon

4.配置保持活动的群集服务

节点1节点:

[root@node1~]#echo"1">;/proc/sys/net/IPv4/conf/lo/ARP_ignore
[root@node1~]#echo"1">;/proc/sys/net/IPv4/conf/all/ARP_ignore
[root@node1~]#echo"2">;/proc/sys/net/IPv4/conf/all/ARP_announce

[root@node1~]#echo"2">;/proc/sys/net/IPv4/conf/lo/ARP_announce

[root@node1~]#ifconfigeth0:1192.168.1.105broadcast192.168.1.105网络掩码255.255.255.255以上
[root@node1~]#routeadd-host192.168.1.105deveth0:1

[root@node1~]#ifconfig
eth0Linkencap:EthernetHWaddr08:00:27:EE:3D:F6
inetaddr:192.168.1.100Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::a00:27ff:feee:3DF6/64Scope:Link

eth0:1链路封装:以太网HWaddr08:00:27:EE:3D:F6
inet地址:192.168.1.105Bcast:192.168.1.105掩码:255.255.255.255
上行广播运行多播MTU:1500度量:1

lo链路封装:本地环回
inet地址:127.0.0.1掩码:255.0.0.0
inet6地址:::1/128作用域:主机
上行环回运行MTU:16436度量:1
RX数据包:5087错误:0丢弃:0溢出:0帧:0
TX数据包:5087错误:0丢弃:0溢出:0载波:0

[root@node1~]#route-n
内核IP路由表
目的网关genmaskFlagsMetricRefUseIface
192.168.1.1050.0.0255.255.255.255.255.255.255.255UH000eth0
192.168.1.0000.0.0.0255.0U000eth0

[root@node1~]#CD/etc/keepalive/
[root@node1keepalive]#vimkeepalive.conf-配置keepalive文件


!keepalived的配置文件

global_defs{
Notification_email{
[email protected]停机后的电子邮件提醒
}
Notification_email_fromroot-发件人
SMTP_serverlocalhost-邮件服务器
SMTP_connect_timeout30
router_idlvs_devel
}

vrrp_instanceVI_1{
statemaster-主节点
接口eth1-网卡侦听[/Br/]Virtual_router_ID51-虚拟路由ID号[/Br/]优先级100-配置优先级
advertise_int1
认证{
auth_typepass-认证类型[/Br/]auth_passkeep-认证密码
}
虚拟IP地址{[/Br/]

虚拟服务器192.168.1.10580{-虚拟IP和端口设置
delay_loop6
lb_algorr
lb_kinddr
NAT_mask255.255.255

real_server192.168.1.10080{-主服务器的IP和端口
weight1-weight
HTTP_get{-enableHTTPservice
Url{
path/
status_code200-监控状态代码为200,如果不是200,则表示停机
}
connect_timeout3

nb_get_重试3

delay_before_retry3
}
}
real_server192.168.1.10280{-从服务器的IP和端口
1-weight
http_get{
URL{
path/
status_code200
}
connect_timeout3
nb_get_retry3

}
[root@node2keepalive]#

2节点2:

[root@node2~]#echo"1">;/proc/sys/net/IPv4/conf/lo/ARP_ignore
[root@node2~]#echo"1">;/proc/sys/net/IPv4/conf/all/ARP_ignore
[root@node2~]#echo"2">;/proc/sys/net/IPv4/conf/all/ARP_ignore
[root@node2~]#echo"2">;/proc/sys/net/IPv4/conf/lo/ARP_ignore

[root@node2~]#ifconfigeth0:1192.168.1.105broadcast192.168.1.105网络掩码255.255.255.255以上
[root@node2~]#routeadd-host192.168.1.105deveth0:1

[root@node2~]#ifconfig
eth0Linkencap:EthernetHWaddr08:00:27:A5:94:4C
inetaddr:192.168.1.102Bcast:192.168.1.255Mask:255.255.255.0
inet6addr:fe80::a00:27ff:FEA5:944c/64Scope

eth0:1Linkencap:EthernetHWaddr08:00:27:A5:94:4C
inetaddr:192.168.1.105Bcast:192.168.1.105Mask:255.255.255.255
上行广播运行多播MTU:1500Metric:1

lo链路封装:本地环回
inet地址:127.0.0.1掩码:255.0.0.0
inet6地址:::1/128作用域:主机
上行环回运行MTU:16436度量:1
RX数据包:6824错误:0丢弃:0溢出:0帧:0
TX数据包:6824错误:0丢弃:0溢出:0载波:0

[root@node2~]#CD/etc/keepalived/
[root@node2keepalived]#vimkeepalived.conf


!keepalived的配置文件

global_defs{
notification_email{
[email protected]
}
notification_email_fromroot
SMTP_serverlocalhost
SMTP_connect_timeout30
router_idLVS_DEVEL
}

Vrrp_instancevi_1{
状态备份-备用节点
接口eth1
virtual_router_id51
优先级101
advert_int1
认证{
auth_typePASS
auth_PASSkeep
}
virtual_IPaddress{
192.168.1.105[/br

virtual_server192.168.1.10580{
delay_loop6
lb_algoRR
lb_kindDR
NAT_mask255.255.255.0
协议TCP

real_server192.168.1.10080{
weight1
HTTP_GET{
URL{
path/
status_code200
}
connect_timeout3

nb_get_重试3

delay_before_retry3
}
}
real_server192.168.1.10280{
weight1
HTTP_GET{
URL{
path/
status_code200
}
connect_timeout3
nb_GET_retry3
delay_before_retry3

}
[root@node2keepalive]#

5.启动keepalived服务和ipvsadm的状态

节点1和节点2启动服务:

[root@node1keepalived]#/etc/init.d/keepalivedrestart
停止keepalived:[OK]
启动keepalived:[OK]
[root@node1keepalived]#

[root@node2~]#/etc/init.d/keepalivedrestart
停止keepalived:[OK]
启动keepalived:[OK]
[root@node2~]#

[root@node1keepalived]#ipvsadm-L-n
IP虚拟服务器版本1.2.1(size=4096)
Protlocaladdress:端口计划程序标志
->;RemoteAddress:端口转发权重activeconninactconn
TCP192.168.1.105:80RR
->;192.168.1.100:80本地100
->;192.168.1.102:80路由100
[root@node1keepalived]#


6。测试正常吗?

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/784278.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存