Lvs+Keepalived 保障HA高可用

Lvs+Keepalived 保障HA高可用

前面讲了Nginx+Keepalived 保障HA高可用

这是 Lvs+Keepalived 保障HA高可用

什么是 Lvs

LVS的英文全称是Linux Virtual Server,即Linux虚拟服务器。它是我们国家的章文嵩博士的一个开源项目。在linux内存2.6中,它已经成为内核的一部分,在此之前的内核版本则需要重新编译内核

Lvs是属于4层网络协议,Nginx是属于7层网络协议

Lvs只做转发和监听,不负责握手

Nginx+Keepalived 保障HA高可用

跳转至 https://www.arcinbj.com/archives/ha1

安装 Keepalived 和 ipvsadm

yum install keepalived ipvsadm -y

配置

主节点 node1 / 备节点 node2

cd  /etc/keepalived/
cp keepalived.conf keepalived.conf.bak
vi keepalived.conf

配置主服务器

global_defs {                       
#   notification_email {             
#   }
#   smtp_connect_timeout 30
        router_id LVS_DEVEL             
}

# 虚拟路由冗余协议!
vrrp_instance VI_1 {            
        state MASTER         #node2  BACKUP
        #配置LVS机器对外开放的网卡
	interface eth0
	virtual_router_id 51
	# 权重
	priority 100	     #node2	 50
	advert_int 1
	authentication {
		auth_type PASS
		auth_pass 1111
	}
	virtual_ipaddress {
		192.168.150.100/24 dev eth0 label  eth0:3
	}
}

virtual_server 192.168.150.100 80 {
        delay_loop 6           
        lb_algo wrr            
        lb_kind DR         #使用LVSDR模式                 
        nat_mask 255.255.255.0   
        #实验 不需要50 要不然看不出来
	persistence_timeout 0
	protocol TCP          

	# 这里是 对自服务 心跳的检测	                
        real_server 192.168.150.12 80 {    #真实服务的IP 
                weight 1        #配置加权轮询的权重             
                HTTP_GET {
			url {
				path /
				tatus_code 200
			}
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
		}  
        }
        real_server 192.168.150.13 80 {
                weight 2
                HTTP_GET {
			url {
				path /
				tatus_code 200
			}
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
		}  
        }
}

配置备服务器

global_defs {                       
#   notification_email {             
#   }
#   smtp_connect_timeout 30
        router_id LVS_DEVEL             
}

# 虚拟路由    冗余  协议!
vrrp_instance VI_1 {            
        state BACKUP         #node2  BACKUP
        #配置LVS机器对外开放的网卡
	interface eth0
	virtual_router_id 51
	# 权重
	priority 50	     #node2	 50
	advert_int 1
	authentication {
		auth_type PASS
		auth_pass 1111
	}
	virtual_ipaddress {
		192.168.150.100/24 dev eth0 label  eth0:3
	}
}

virtual_server 192.168.150.100 80 {
        delay_loop 6           
        lb_algo wrr            
        lb_kind DR         #使用LVSDR模式                 
        nat_mask 255.255.255.0   
        #实验 不需要50 要不然看不出来
	persistence_timeout 0
	protocol TCP          

	# 这里是 对自服务 心跳的检测	                
        real_server 192.168.150.12 80 {    #真实服务的IP 
                weight 1        #配置加权轮询的权重             
                HTTP_GET {
			url {
				path /
				tatus_code 200
			}
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
		}  
        }
        real_server 192.168.150.13 80 {
                weight 2
                HTTP_GET {
			url {
				path /
				tatus_code 200
			}
			connect_timeout 3
			nb_get_retry 3
			delay_before_retry 3
		}  
        }
}

本文由 在码圈 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
您可以自由的转载和修改,但请务必注明文章来源并且不可用于商业目的。
本站部分内容收集于互联网,如果有侵权内容、不妥之处,请联系我们删除。敬请谅解!
原文链接:https://www.arcinbj.com/archives/ha2
最后更新于:2020-04-28 17:02:18

请博主喝咖啡 ☕.