linux Cluster 使用keepalived搭建高可用LVS 一般比较常用于搭建高可用集群的有:heartbeat、keepalived、piranha。 常见的高可用集群有:高可用LVS集群、高可用web集群(keepalived+nginx)、高可用MySQL集群。 keepalived是一个类似于layer3, 4 & 7交换机制的软件,也就是我们平时说的第3层、第4层和第7层交换。只需要简单配置keepalived的配置文件即可实现自动生成ipvsadm规则,还可以监控后端realserver主机的健康状态,出现故障时自动剔除集群,恢复后自动添加,以及MASTER与BACKUP之间的故障切换。 本次实验使用keepalived+Apache,搭建高可用LVS集群。 DIP=director IP RIP=realserverIP VIP=virtual server IP realserver=rs ha=director
配置检测结束后会出现如下结果,为三个yes,其中IPVS use libnl: No,对后续的安装配置运行无影响。
Keepalived version : 1.2.7 Compiler : gcc Compiler flags : -g -O2 -DETHERTYPE_IPV6=0x86dd Extra Lib : -lpopt -lssl -lcrypto Use IPVS Framework : Yes IPVS sync daemon support : Yes IPVS use libnl : No Use VRRP Framework : Yes Use VRRP VMAC : No SNMP support : No Use Debug flags : No
make make install ln -s /usr/local/sbin/keepalived /sbin
至此keepalived安装完成
5).配置keepalived keepalived的配置文件在 /etc/keepalived/keepalived.conf cp /etc/keepalived/keepalived.conf /etc/keepalived/keepalived.confbk #先备份一下 vim /etc/keepalived/keepalived.conf 以下为题主自己的配置文件,后端服务器健康状态使用HTTP! Configuration File for keepalivedglobal_defs { notification_email { root@localhost #用于接受邮件报警,当服务异常时发邮件到邮箱提醒 } notification_email_from admin@localhost #邮件发送地址 smtp_server 127.0.0.1 #邮件服务器本机 smtp_connect_timeout 30 #smtp sever 超时时间 router_id LVS_DEVEL #服务标识,邮件主题}vrrp_instance VI_1 { state MASTER #指定本服务器为主服务器 interface eth0 virtual_router_id 51 #虚拟路由标识,MASTER与BACKUP需一致 PRiority 100 #定义优先级,需大于BACKUP的priority值 advert_int 1 authentication { #设置验证类型与验证密码 auth_type PASS auth_pass abcd #验证密码MASTER与BACKUP需一致 } virtual_ipaddress { 192.168.8.30 #设置VIP,既配置在MASTER调度器上由于接受用户请求的地址 }}virtual_server 192.168.8.30 80 { #虚拟服务器定义部分既MASTER调度器 delay_loop 6 #运行情况监测时间6s一次 lb_algo wlc #设置调度算法为wlc lb_kind DR #设置LVS的工作模式为DR模式 nat_mask 255.255.255.0 #虚拟服务器子网掩码 persistence_timeout 50 #session保持时间 protocol TCP #指定转发的协议类型 real_server 192.168.8.33 80 { #后端真实服务器节点配置realserver1 weight 3 #该节点服务器权重 HTTP_GET { #后端服务器情况检查方式HTTP_GET,向后端服务器发送http请求,无回应即为该节点服务器异常,剔除ipvsadm规则 url { path / status_code 200 } connect_timeout 3 #3秒无响应超时 nb_get_retry 3 #重试次数 delay_before_retry 3 #重试时间间隔 } } real_server 192.168.8.34 80 { weight 1 HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }}6).将改配置文件复制到BACKUP主机scp /etc/keepalived/keepalived.conf 192.168.8.32:/etc/keepalived/7).启动keepalived服务service keepalived start 至此MASTER的配置完成virtual_server 192.168.8.30 80 { delay_loop 6 lb_algo wlc lb_kind DR nat_mask 255.255.255.0 persistence_timeout 50 protocol TCP sorry_server 127.0.0.1 80 real_server 192.168.8.33 80 { weight 3 HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } }
4).重启keepalived服务service keepalived restart5).手动将两台realserver的httpd服务stop,再访问http://192.168.8.30进行测试测试
新闻热点
疑难解答