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服务器简易集群
现在上网已经成为每个人必备的技能,打开浏览器,输入网址,回车,简单的几步就能浏览到漂亮的网页,那从请求发出到返回漂亮的页面是怎么做到的呢,我将从公司中一般的分层架构角度考虑搭建一个简易集群来实现.目标 ...
随机推荐
- PTA——近似求PI
PTA 7-50 近似求PI 网友代码: include <stdio.h> int main(){ , i, temp=; scanf("%le", &eps ...
- 寒假作业pta1
本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个“*”,要求按下列格式打印 ***** *** * ********所谓“沙漏形状”,是指每行输出奇数个符号:各行符号中心对齐:相邻两行符 ...
- Exp2 后门原理与实践 毛瀚逸 20164318
Exp2 后门原理与实践 20164318 毛瀚逸 一.实验内容 基础问题回答: 1.例举你能想到的一个后门进入到你系统中的可能方式? 答:下载奇怪的文件并运行,通过操作系统的漏洞来获取电脑的高级权限 ...
- 手写SpringMVC实现
设计自己的MVC架构 1.读取配置通过web.xml中加载我们自己写的MyDispatcherServlet和读取配置文件. 2.初始化九大组件只需实现基本的:1).加载配置文件:2).扫描用户配置包 ...
- python selenium 处理时间日期控件(十六)
测试过程中经常遇到时间控件,需要我们来选择日期,一般处理时间控件通过层级定位来操作或者通过调用js来实现. 1.首先我们看一下如何通过层级定位来操作时间控件. 通过示例图可以看到,日期控件是无法输入日 ...
- TCP连接异常:broken pipe 和EOF
本文介绍3种TCP连接异常的情况. 1.server端没有启动,client尝试连接 ./client dial failed: dial tcp 127.0.0.1:8080: connect: c ...
- Visual Studio安装Visual Assist的办法(兼容VS2010至VS2017)
Visual Assist可以说是一个码代码的高效帮手,有了它,敲起代码速度杠杠的,但是有时候安装破解老是出问题,这一次,我自己尝试了几次,跟着网上的教程做了做,改了改,结合之前安装的经验,最后总算安 ...
- Android studio 中添加依赖model时依赖所需的准备
例如向app中添加依赖core: core要做如下修改: 1.将core中build.gradle中 修改为 . 2.将core中的 applicationId 注释掉.
- 使HTML5支持RTSP流 微信直播RTSP流 微信播放RTSP直播流(HTML5播放rtsp,web播放rtsp,微信支持rtsp)
一.大家都知道HTML5的VIDEO可以播放视频,但是H5不支持RTSP播放,所以需要中间件! 二.我们经理长年的努力,开发了HTML5支持RTSP的中间件,使HTML5支持RTSP直播! 三.不卡顿 ...
- Difference between ulimit, lsof, cat /proc/sys/fs/file-max
https://unix.stackexchange.com/questions/476351/difference-between-ulimit-lsof-cat-proc-sys-fs-file- ...