CentOS7 Keepalived+LVS 实现高可用
2016-04-24 00:00
423 查看
摘要: CentOS7操作系统下,使用Keepalived+LVS 实现高可用性
系统环境:
操作系统:Centos7.2
依赖软件:net-tools
网络环境:
Keepalived Master:192.168.5.251
Keepalived Backup:192.168.5.252
VIP: 192.168.5.100
RIP: 192.168.5.254
Keepalived Master
Keepalived Backup
Real Script
notify Scrip
系统环境:
操作系统:Centos7.2
依赖软件:net-tools
网络环境:
Keepalived Master:192.168.5.251
Keepalived Backup:192.168.5.252
VIP: 192.168.5.100
RIP: 192.168.5.254
Keepalived Master
! Configuration File for 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 } vrrp_script chk_mantaince_down { script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0" interval 1 weight 2 } 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 { } virtual_ipaddress { 192.168.5.100/24 label eno16777736:0 } track_script { chk_mantaince_down } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" } virtual_server 192.168.5.100 80 { delay_loop 6 lb_algo rr lb_kind DR nat_mask 255.255.255.255 persistence_timeout 50 protocol TCP # real_server 192.168.5.254 80 { weight 1 HTTP_GET { url { path / status_code 200 } } } }
Keepalived Backup
! Configuration File for keepalived global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Casse 3ff0 n@firewall.loc smtp_server 192.168.200.1 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_mantaince_down { script "[[ -f /etc/keepalived/down ]] && exit 1 || exit 0" interval 1 weight 2 } vrrp_instance VI_1 { state BACKUP interface eno16777736 virtual_router_id 51 priority 99 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { } virtual_ipaddress { 192.168.5.100/24 label eno16777736:0 } track_script { chk_mantaince_down } notify_master "/etc/keepalived/notify.sh master" notify_backup "/etc/keepalived/notify.sh backup" notify_fault "/etc/keepalived/notify.sh fault" } virtual_server 192.168.5.100 80 { delay_loop 6 lb_algo rr lb_kind DR nat_mask 255.255.255.255 persistence_timeout 50 protocol TCP # real_server 192.168.5.254 80 { weight 1 HTTP_GET { url { path / status_code 200 } } } }
Real Script
#!/bin/bash #!/bin/bash #chkconfig: 2345 79 20 #description:LVS realserver DR_VIP=192.168.5.100 case "$1" in start) /sbin/ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP /sbin/route add -host $SNS_VIP dev lo:0 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce sysctl -p >/dev/null 2>&1 echo "LVS RealServer Start OK" ;; stop) ifconfig lo:0 down route del $SNS_VIP >/dev/null 2>&1 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce echo "LVS RealServer Stoped" ;; *) echo "Usage: $0 {start|stop}" exit 1 esac
notify Scrip
# !/bin/bash # Author: MageEdu <linuxedu@foxmail.com> # description: An example of notify script # vip=172.16.100.1 contact='root@localhost' notify() { mailsubject="`hostname` to be $1: $vip floating" mailbody="`date '+%F %H:%M:%S'`: vrrp transition, `hostname` changed to be $1" echo $mailbody | mailx -s "$mailsubject" $contact } case "$1" in master) notify master exit 0 ;; backup) notify backup exit 0 ;; fault) notify fault exit 0 ;; *) echo 'Usage: `basename $0` {master|backup|fault}' exit 1 ;; esac
相关文章推荐
- SQL Server高可用的常见问题分析
- LVS+Keepalived构建高可用负载均衡(测试篇)
- LVS(Linux Virtual Server)Linux 虚拟服务器介绍及配置(负载均衡系统)
- linux服务器之LVS、Nginx和HAProxy负载均衡器对比总结
- CentOS 7中安装mysql server的步骤分享
- windows NLB+ARR实现Web负载均衡高可用/可伸缩的方法
- centos 7安装mysql5.5的方法
- centos 7安装mysql5.5和安装 mariadb使用的命令
- Centos7 Mysql 5.6 多主一从 解决方案与详细配置
- LVS+Keepalived构建高可用负载均衡配置方法(配置篇)
- 阿里云Centos7安装LNMP+wordpress
- CentOS 7安装python3笔记
- Centos7 常用命令
- Centos7 修改主机名
- Centos7 关闭防火墙
- LVS 负载均衡概念篇
- CentOS下Redis高可用安装笔记
- 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南
- LVS原理详解及部署之一:ARP原理准备