lvs+keepalived+ipvsadm 完整搭建笔记
#全局定义部分global_defs {notification_email { #设置报警邮件地址,可以设置多个acassen@firewall.loc #每行一个。注意,如果要开启邮件报警failover@firewall.loc #需要开启本机的 Sendmail 服务sysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.loc #设置邮件的发送地址smtp_server 127.0.0.1 #设置smtp server地址smtp_connect_timeout 30 #设置连接 smtp server 的超时时间router_id node_05 #表示运行 Keepalived服务器的一个标识。发邮件时显示在邮件主题中的信息}#vrrp 实例定义部分vrrp_instance VI_1 {state MASTER #指定 Keepalived 的角色,MASTER表示此主机是主服务器,BACKUP表示此主机是备用服务器.interface eth0 #指定监测网络的接口virtual_router_id 51 #虚拟路由标识,这个标识是一个数字,同一个 vrrp 实例使用唯一的标识,即同一个vrrp_instance下,MASTER和BACKUP 必须是一致的priority 100 #定义优先级,数字越大,优先级越高。在一个vrrp_instance下,MASTER的优先级必须大于BACKUP的优先级advert_int 1 #设定MASTER与BACKUP 负载均衡器之间同步检查的时间间隔,单位是秒authentication { #设定验证类型和密码auth_type PASS #设置验证类型,主要有PASS和AH两种auth_pass 1111 #设置验证密码,在一个vrrp_instance下,MASTER与BACKUP 必须使用相同的密码才能正常通信}virtual_ipaddress {10.0.5.155 #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个}}vrrp_instance VI_2 {state BACKUPinterface eth0virtual_router_id 52priority 60advert_int 1authentication {auth_type PASSauth_pass 2222}virtual_ipaddress {10.0.5.156}}#虚拟服务器定义部分virtual_server 10.0.5.155 80 { #设置虚拟服务器,需要指定虚拟IP地址和服务端口IP与端口之间用空格隔开delay_loop 6 #设置健康检查的时间间隔,单位是秒lb_algo rr #设置负载调度算法,这里设置为rr,即轮询算法lb_kind DR #设置LVS实现负载均衡的机制,有 NAT、TUN和DR三个模式可选nat_mask 255.255.255.0persistence_timeout 0#会话保持时间,单位是秒。这个选项对动态网页是非常有用的,为集群系统中的 session共享提供了一个很好的解决方案。有了这个会话保持功能,用户的请求会被一直分发到某个服务节点,直到超过这个会话的保持时间。需要注意的是,这个会话保持时间是最大无响应超时时间,也就是说,用户在操作动态页面时,如果在 50秒内没有执行任何操作,那么接下来的操作会被分发到另外节点,但是如果用户一直在操作动态页面,则不受50秒的时间限制。protocol TCP #指定转发协议类型,有TCP和UDP两种#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 { #配置服务节点 1,需要指定 real server的真实IP地址和端口,IP与端口之间用空格隔开weight 1#配置服务节点的权值,权值大小用数字表示,数字越大,权值越高,设置权值的大小可以为不同性能的服务器分配不同的负载,可以为性能高的服务器设置较高的权值,而为性能较低的服务器设置相对较低的权值,这样才能合理地利用和分配了系统资源TCP_CHECK { #realserve的状态检测设置部分,单位是秒connect_timeout 3 #表示3秒无响应超时nb_get_retry 3 #表示重试次数delay_before_retry 3 #表示重试间隔connect_port 80 #检查80端口}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}virtual_server 10.0.5.156 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCP#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}
global_defs {notification_email {acassen@firewall.locfailover@firewall.locsysadmin@firewall.loc}notification_email_from Alexandre.Cassen@firewall.locsmtp_server 127.0.0.1smtp_connect_timeout 30router_id node_05}vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 51priority 60advert_int 1authentication {auth_type PASSauth_pass 1111}virtual_ipaddress {10.0.5.155}}vrrp_instance VI_2 {state MASTERinterface eth0virtual_router_id 52priority 100advert_int 1authentication {auth_type PASSauth_pass 2222}virtual_ipaddress {10.0.5.156}}virtual_server 10.0.5.155 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCP#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}virtual_server 10.0.5.156 80 {delay_loop 6lb_algo rrlb_kind DRnat_mask 255.255.255.0persistence_timeout 0protocol TCP#sorry_server 127.0.0.1 80real_server 10.0.5.153 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 10.0.5.154 80 {weight 1TCP_CHECK {connect_timeout 3nb_get_retry 3delay_before_retry 3connect_port 80}}}
#!/bin/bashsh /etc/rc.d/init.d/functionsVIP1=10.0.5.155VIP2=10.0.5.156case “$1” instart)ifconfig lo:1 $VIP1 netmask 255.255.255.255 broadcast $VIP1/sbin/route add -host $VIP1 dev lo:1ifconfig lo:2 $VIP2 netmask 255.255.255.255 broadcast $VIP2/sbin/route add -host $VIP2 dev lo:2echo “1” >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho “2” >/proc/sys/net/ipv4/conf/lo/arp_announceecho “1” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho “2” >/proc/sys/net/ipv4/conf/all/arp_announcesysctl -p >/dev/null 2>&1echo “Real Server Start OK”;;stop)ifconfig lo:1 downroute del $VIP1 >/dev/null 2>&1ifconfig lo:2 downroute del $VIP2 >/dev/null 2>&1echo “0” >/proc/sys/net/ipv4/conf/lo/arp_ignoreecho “0” >/proc/sys/net/ipv4/conf/lo/arp_announceecho “0” >/proc/sys/net/ipv4/conf/all/arp_ignoreecho “0” >/proc/sys/net/ipv4/conf/all/arp_announceecho “Real Server Stoped”;;status)status1=`/sbin/ifconfig lo:1 | grep $VIP1`status2=`netstat -rn | grep “lo:1” | grep $VIP1`if [ ! “$status1” -o ! “status2” ];thenecho “Lvs-DR real server Stopped.”elseecho “LVS-DR Running.”fistatus1=`/sbin/ifconfig lo:2 | grep $VIP2`status2=`netstat -rn | grep “lo:2” | grep $VIP2`if [ ! “$status1” -o ! “status2” ];thenecho “LVS-DR real server Stopped.”elseecho “LVS-DR Running.”fi;;*)# Invalid entry.echo “$0: Usage: $0 {start|status|stop}”exit 1;;esacexit 0


lvs+keepalived+ipvsadm 完整搭建笔记的更多相关文章
- LVS+Keepalived(DR模式)学习笔记
1.简述 在互联网的中型项目中,单服务器往往已经无法满足业务本身的性能要求,这时候就会平行扩展,把负载分摊到数台服务器上(集群).一般实现集群有DNS轮询,LVS,nginx负载均衡. 集群主要目的包 ...
- LVS小型系统架构搭建笔记
搭建环境说明 本次实现用到了6台节点,实现一个小型的Lvs负载调度 节点1客户端配置代表互联网用户 [root@centos7 network-scripts]# vi ifcfg-ens37 TYP ...
- 虚拟集群LVS及DR模式搭建笔记
LVS(虚拟集群Linux Virtual Server) LVS-NAT:地址转换,数据包来回都要经过NAT转换,所以Director Server(即LVS服务器)将成为系统瓶颈.使用NAT模式将 ...
- LVS+keepalived实现负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要 的浪费?同时实现商业硬件一样的 ...
- LVS+keepalived负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高 ...
- Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
1.环境说明: 系统版本:Ubuntu 14.04 LVS1物理IP:14.17.64.2 初始接管VIP:14.17.64.13 LVS2物理IP:14.17.64.3 初始接管VIP:14 ...
- CentOS7 编译安装LVS 互为主备 (实测 笔记 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )
环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G,双网卡) LVS服务器(两台): 系统:Centos7.0 64位(LVS+keepalived) LvsMaster:1 ...
- 通过LVS+Keepalived搭建高可用的负载均衡集群系统
1. 安装LVS软件 (1)安装前准备操作系统:统一采用Centos6.5版本,地址规划如下: 服务器名 IP地址 网关 虚拟设备名 虚拟ip Director Server 192.168 ...
- Docker环境下搭建DNS LVS(keepAlived) OpenResty服务器简易集群
现在上网已经成为每个人必备的技能,打开浏览器,输入网址,回车,简单的几步就能浏览到漂亮的网页,那从请求发出到返回漂亮的页面是怎么做到的呢,我将从公司中一般的分层架构角度考虑搭建一个简易集群来实现.目标 ...
随机推荐
- centos7图形界面安装
系统笔者采用的是centos7 可以通过/etc/inittab文件看到 yum groupinstall "X Window System" -y # 首 ...
- HOMEWORD2
开发工具和语言选择 语言 :pyhton3.6 工具 我选择的是 pycharm2019.1.由于之前已经安装好了,这里就不再贴出. 自动单元测试练习 python单元测试框架Unittest.Uni ...
- web爬虫,BeautifulSoup
BeautifulSoup 该模块用于接收一个HTML或XML字符串,然后将其进行格式化,之后遍可以使用他提供的方法进行快速查找指定元素,从而使得在HTML或XML中查找指定元素变得简单. 1 2 3 ...
- 踩坑 —— Eclipse MAVEN编译
一.踩坑 1.昨天download了Netty和SOFARPC工程的源码,Eclipse编译的时候报错了,信息如下: Plugin execution not covered by lifecycle ...
- C# 切分图片
public void Slice() { // 图片路径 var file = "F;/aaa.png"; // 水平切分 ; // 纵向切分 ; ; i < horizo ...
- Go 知识点
必须在源文件中非注释的第一行指明这个文件属于哪个包,如:package main. package main表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包. main 函 ...
- [转]Linux编译和安装boost库
1. 下载boost安装包并解压缩 到http://www.boost.org/下载boost的安装包,以boost_1_58_0.tar.gz为例 下载完成后进行解压缩: tar zxvf boos ...
- Kivy中文编程指南--https://cycleuser.gitbooks.io/kivy-guide-chinese/content/
Kivy 是一个开源的 Python 框架,用于快速开发应用,实现各种当前流行的用户界面,比如多点触摸等等. + Kivy 可以运行于 Windows, Linux, MacOS, Android, ...
- python3-基础8
模块与包 什么是模块 模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. #在python中,模块的使用方式都是一样的,但其实细说的话,模块可以分为四个通用类别: 1 ...
- Solr使用访问地址控制索引的,删除、创建
启动Solr,删除全部索引数据: http://localhost:8080/solr/update/?stream.body=<delete><query>*:*</q ...