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。测试正常吗?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)