码迷,mamicode.com
首页 > 其他好文 > 详细

keepalived

时间:2017-10-26 10:20:49      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:linux

keepalived:
	LB:lvs,nginx
	HA:keepalived,heartbeat,corosync,cman
	HP:高性能集群
		
	分布式存储:HDFS
	分布式计算:YARN,
		batch:MapReduce	
		in-memory:spark
		stream:storm
	

keepalived:
	active/passive


ntp:network time protocol
date修改时间方法:
	date:月日时分年.秒	
	date 102411262017.50

	
vrrp:virtual route redundent protocol 虚拟路由冗余协议
	
keepalived:
	vrrp协议在linux主机上以守护进程的方式实现;
	能够根据配置文件自动生成ipvs规则;
	对各RS做健康状态检测;	
	
	组件:vrrp stack
		  checkers
		  ipvs warpper -->ipvs
	配置文件的组成部分;
		global configuration 
		vrrpd configuration
			vrrp instance
			vrrp synchonizationg group
		lvs configuration	
	
	1.本机的主机名,各节点可以解析主机名
	2.ntp时间同步  
	3.iptables关闭或者配置相应规则	
	
	双主配置。两组实例
	主1
	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_instance VI_1 {
		state MASTER
		interface eth1
		virtual_router_id 51
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
	}


	vrrp_instance VI_2 {
		state BACKUP
		interface eth1
		virtual_router_id 61
		priority 99
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.99
		}
	}
	
	
	主2
	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_instance VI_1 {
		state backup
		interface eth0
		virtual_router_id 51
		priority 99
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
			172.16.6.88
		}
	}


	vrrp_instance VI_2 {
		state backup
		interface eth0
		virtual_router_id 61
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
			172.16.6.99
		}
	}

	
	
	
	keepalived+LVS负载均衡配置
	主配置:
	! 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 127.0.0.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}

	vrrp_instance VI_1 {
		state MASTER
		interface eth1
		virtual_router_id 51
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
	}


	virtual_server 172.16.6.88 80 {
			delay_loop 6          #健康检查时间间隔
			lb_algo wrr               #负载均衡调度算法
			lb_kind DR            #负载均衡转发规则
			#persistence_timeout 20  #设置会话保持时间
			protocol TCP                #协议

			real_server 172.16.6.12 80 {
			weight 1                #设置权重
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
			real_server 172.16.6.13 80 {
			weight 2
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
	}
	
	备配置:
	! 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 127.0.0.1
	   smtp_connect_timeout 30
	   router_id LVS_DEVEL
	}

	vrrp_instance VI_1 {
		state BACKUP
		interface eth0
		virtual_router_id 51
		priority 100
		advert_int 1
		authentication {
			auth_type PASS
			auth_pass 1111
		}
		virtual_ipaddress {
		   172.16.6.88
		}
	}


	virtual_server 172.16.6.88 80 {
			delay_loop 6          #健康检查时间间隔
			lb_algo wrr               #负载均衡调度算法
			lb_kind DR            #负载均衡转发规则
			#persistence_timeout 20  #设置会话保持时间
			protocol TCP                #协议

			real_server 172.16.6.12 80 {
			weight 1                #设置权重
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
			real_server 172.16.6.13 80 {
			weight 2
			TCP_CHECK {
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
			connect_port 80
	}
	}
	}
	
	
	vim rs.sh
	#!/bin/bash
	# description: Config realserver lo and apply noarp
	 
	VIP=172.16.6.88
 
	case "$1" in
	start)
		   ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP
		   /sbin/route add -host $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 "RealServer Start OK"
	 
		   ;;
	stop)
		   ifconfig lo:0 down
		   route del $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 "RealServer Stoped"
		   ;;
	*)
		   echo "Usage: $0 {start|stop}"
		   exit 1
	esac
	 
	exit 0
	
	chmod +x rs.sh
	./rs.sh start
	启动服务
	rs服务:service httpd start
	keepalived服务器: service keepalived restart; ssh 172.16.6.15 ‘service keepalived restart‘

keepalived

标签:linux

原文地址:http://perper.blog.51cto.com/6284626/1976203

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!