lvs+DR置文档:(64位机器)

#create by laoseng
#lvs最好的是用url进行健康检测。但是端口方便,一般用。在配置文件,其中的url字符串是md5加密的值.学习补充!lvs重启后恢复需要15s
环境:
系统版本:Centos5.4(64位)
软件版本:ipvsadm-1.24.tar.gz,keepalived-1.1.17.tar.gz
lvs1(Master): 
eth0: 192.168.1.131
eth1:192.168.2.131
vip:    ip:192.168.1.133
lvs2(Backup):
eth0: 192.168.1.132
eth1:192.168.2.132
vip:    暂时无
#建议内网外ip分配采用最后8位相同的方式,这样便于管理
web:
realServer1 eth0:192.168.1.134
realServer2 eth0:192.168.1.135
mkdir -p /tool/laoseng/lvs
cd /tool/laoseng/lvs
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
wget http://www.keepalived.org/software/keepalived-1.1.17.tar.gz
modprobe ip_vs   #把ip_vs模块加载到内核
lsmod|grep ip_vs
cat /etc/redhat-release
uname -r
yum install -y kernel-devel
ln -s /usr/src/kernels/2.6.32-220.el6.i686  /usr/src/linux
2.6.32-220.el6.i686
#安装ipvsadm软件
cd /tool/laoseng/lvs
tar zxvf ipvsadm-1.24.tar.gz
cd ipvsadm-1.24
make
make install
cd ../
#安装keepalived软件
cd /tool/laoseng/lvs
tar zxvf keepalived-1.1.17.tar.gz
cd keepalived-1.1.17
./configure
make
make install
cd ..
#查看安装状况并复制到启动目录下:
ls -l /usr/local/sbin/keepalived
ls -l /usr/local/etc/rc.d/init.d/keepalived
ls -l /usr/local/etc/sysconfig/keepalived
ls -l /usr/local/etc/keepalived
cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
mkdir /etc/keepalived
cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
cp /usr/local/sbin/keepalived /usr/sbin/
service keepalived start
#配置转发及其防火墙 
sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward=1#'  /etc/sysctl.conf
sysctl -p
#配置文档keepalived.conf
vim /etc/keepalived/keepalived.conf
#====================lvs1上的======start=======================
! Configuration File for keepalived
global_defs { #全局配置
notification_email {
1572665580@qq.com   #通知邮件。
}
notification_email_from 1572665580@qq.com
smtp_server 127.0.0.1   #连接本机的mail
smtp_connect_timeout 30
router_id LVS_laoseng01 #唯一的lvs1和lvs2应该配置不同名字。这里设置lvs1:LVS_laoseng01  lvs2:LVS_laoseng02
}
vrrp_instance VI_1 { #一个实例,一个实例代表一个服务
state MASTER           #lvs1和lvs2上设置不同,lvs1:MASTER  lvs2:BACKUP
interface eth0 #获取数据的网卡,一般生产环境上是外网的ip。
lvs_sync_daemon_inteface eth1
virtual_router_id 51
priority 150               #备份服务上优先级要低于100,如改为90
advert_int 1 #检测的间隔,按秒。
authentication { #检测密钥,就是接头暗号。
auth_type PASS
auth_pass 1111
}
virtual_ipaddress { #是对外服务的ip。就是让用户访问的。VIP.就是以后网站对外提供服务的ip。域名需要绑定此ip
#192.168.200.16
192.168.1.133
}
}
virtual_server 192.168.1.133 80 { #那个vip提供转发,就是接受到用户请求后转发的ip
delay_loop 6   #轮训
lb_algo wrr     #算法
lb_kind DR                
nat_mask 255.255.255.0
persistence_timeout 50   #会话保持 50秒  
protocol TCP               #tcp服务
real_server 200.166.188.108 80 { #转发给的真是的webip
weight 1              
TCP_CHECK {
connect_timeout 8       #超时时间
nb_get_retry 3 #尝试次数。
delay_before_retry 3 #延迟。
connect_port 80 #连接端口。
}
}
real_server 200.166.188.109 80 {
weight 1              
TCP_CHECK {
connect_timeout 8       
nb_get_retry 3
delay_before_retry 3
connect_port 80
}
}
}
#====================lvs1上的======end=========================
#lvs2上配置更改根据上边。
#启动服务
/etc/init.d/keepalived start
#查看进程和lvs状态
ps -ef |grep keepalived
ipvsadm -L -n
#==========start======================在web realserver服务器=================================
#在每个web端执行脚本ipvs_rs可以放到/usr/local/sbin/
#!/bin/bash
# Written by laoseng (1572665580@qq.com)
# description: Config realserver lo and apply noarp 
WEB_VIP=192.168.1.133
. /etc/rc.d/init.d/functions     #加载系统的函数库。
case "$1" in
start)
ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP   #绑定ip.linux上一个网卡可以绑定多个,lo:0中的0只能到255
/sbin/route add -host $WEB_VIP dev lo:0   #添加一个主机路由到lo:0上
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore   #下边的四行是抑制arp响应。通过的arp欺骗来完成。让lvs选择发给谁,而不是让他们自动响应。
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 $WEB_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"
;;
status)
# Status of LVS-DR real server.
islothere=`/sbin/ifconfig lo:0 | grep "$WEB_VIP"`
isrothere=`netstat -rn | grep "lo:0" | grep "$web_VIP"`
if [ ! "$islothere" -o ! "isrothere" ];then
# Either the route or the lo:0 device
# not found.
echo "LVS-DR real server Stopped."
else
echo "LVS-DR Running."
fi
;;
*)
# Invalid entry.
echo "$0: Usage: $0 {start|status|stop}"
exit 1
;;
esac
exit 0
#==========end======================在web realserver服务器===================================
#查看ip状态
ifconfig
#解决694 udp端口
iptables -A INPUT -p udp --dport 694 -j APPCPT;

转载于:https://blog.51cto.com/chaplin/916579

LVS+DR源码安装相关推荐

  1. (二)企业部分之lnmp环境的搭建:mysql源码安装

    Web服务器架构 Web服务器架构一般主要由系统环境.Web服务器.数据库和语言组成. 可以有以下组成方式: 系统:linux unix windox mac freebsd aix Web服务器:a ...

  2. autoware源码安装与运行ROSBAG示例(二)

    autoware入门教程-源码安装autoware1.12.0 说明:介绍如何安装autoware1.12.0 步骤: 安装系统依赖: $ sudo apt-get update $ sudo apt ...

  3. 源码安装tensorflow

    因为官网上的源码安装教程基本也是使用的Python2,所以我这里使用Python3来安装 操作系统:xubuntu17.04 64位 下载bazel,下载页面为https://github.com/b ...

  4. 在CentOS 6.6 64bit上基于源码安装全功能的vim 7.4实录

    CentOS 6.6 64bit上默认的vim版本是7.2 minimal,通过下面的命令查看 yum list installed | grep vim 我打算将其卸载并重新安装官网最新版vim 7 ...

  5. saltstack源码安装nrpe

    最近弄saltstack弄上瘾了,今天又弄了saltstack源码安装nrpe,安装nrpe之前需要安装nagios-plugins,首先是top.sls文件: [root@cacti salt]# ...

  6. glib 2.0 arm linux,glib源码安装使用方法

    glib库是GTK+和GNOME工程的基础底层核心程序库,是一个综合用途的实用的轻量级的C程序库,它提供C语言的常用的数据结构的定义.相关的处理函数,有趣而实用的宏,可移植的封装和一些运行时机能,如事 ...

  7. Centos 7环境下源码安装PostgreSQL数据库

    马上就要去实习了,工作内容是搞数据仓库方面的,用的是postgresql关系型数据库,于是自己先来了解下这种数据的用法,之后说说这个数据库和MySQL的关系和区别. 1.Postgresql简介 看了 ...

  8. 在 Linux 和 Windows 下源码安装 Perl

    Perl 是一种功能丰富的计算机程序语言,运行在超过 100 种计算机平台上,适用广泛,从大型机到便携设备,从快速原型创建到大规模可扩展开发.在生物信息分析领域,Perl 主要是做数据预处理.文本处理 ...

  9. 生物信息学 Python 入门之源码安装

    编程,作为生物信息学的一个基础性技能,是任何一个生信工程师都无法绕开话题.也许有些人还在纠结 Perl 和 Python 到底应该学习哪一个,但作为目前最火最流行的编程语言 Python 还是非常值得 ...

最新文章

  1. BZOJ 2303 方格染色(带权并查集)
  2. openresty开发系列15--lua基础语法4表table和运算符
  3. ARM64的启动过程之(三):为打开MMU而进行的CPU初始化
  4. [ASP.NET Core] Static File Middleware
  5. keystore是个嘛东西
  6. IBM 、M$ 、Google Apple
  7. 用Aliyun E-MapReduce集群的sqoop工具和数据库同步数据如何配置网络
  8. 知识扩展——轻量级和重量级框架的区别
  9. 信息系统项目管理师---第八章项目质量管理历年考题
  10. PL(Planet)卫星群遥感数据介绍及应用
  11. spring事务之REQUIRED
  12. 简单了解Django应用app及分布式路由
  13. 怎么免费测试短信验证码平台的安全稳定性?
  14. 电路方案分析(十)2 端口 USB 3.0 集线器参考方案设计
  15. RadiAnt DICOM Viewer 2021.1中文版
  16. CAS:385437-57-0,DSPE-PEG-Biotin,磷脂-聚乙二醇-生物素用于生物分子的检测
  17. 河北省高校计算机大赛,2019中国高校计算机大赛——微信小程序应用开发赛竞赛规通知...
  18. 恶意软件的沙盒规避技术
  19. 我为什么要找河南女人做老婆
  20. 算法刷题-钥匙与房间

热门文章

  1. C语言 | 基于STM32的MPU6050模块程序(主程序)
  2. 画出18*18的棋盘以及用不同颜色绘制出同心圆(python实现)
  3. php 自定义条件,php – 使用两个条件自定义排序数组数组
  4. 线程函数的设计以及MsgWaitForMultipleObjects函数的使用要点
  5. CString与LPCWSTR、LPSTR、char*、LPWSTR等类型的转换【转】
  6. php 导入表格数据,PHPExcel 导入Excel数据的方法
  7. 总谐波失真80_谐波平衡法仿真(ADS)
  8. 大学c语言第三章作业,华中科技大学光电子学院C语言第三章
  9. 香帅的北大金融学课笔记10 -- 金融衍生品
  10. C指针原理(5)-ATT汇编