LVS(二)——环境的搭建
来源:互联网 发布:晋中市教育网络平台 编辑:程序博客网 时间:2024/05/22 10:28
一.前期准备
系统:Centos6 (三台)
负载均衡:LVS + keepalived
服务器1:Http
服务器2:Http
二.ip配置
1、VIP(virtual ip):用来提供virtual server服务的ip地址。分别绑定在Director一个物理网卡上(对外接收请求包)和RS的回环设备上(回环设备需要绑定两个ip,一个是127.0.0.1,另一个就是vip)。
2、DIP(director ip):与vip绑定在一个物理网卡上,用来转发请求包到RS的RIP对应的mac上,此设备可以通过arp请求获取RIP对应的mac地址。
3、RIP(real server ip):绑定在RS上的一个物理网卡上,用来接收从Directory转发过来的请求包。
三.搭建步骤
1.第一步:在二台真实服务器网上上添加LO:0接口,并设置虚拟IP在此接口上
[root@itcast01 ~]# cd /etc/init.d/[root@itcast01 ~]#touch realserver[root@itcast01 ~]#vim realserverSNS_VIP=192.168.8.150. /etc/rc.d/init.d/functionscase "$1" instart)ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP/sbin/route add -host $SNS_VIP dev lo:0echo "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 "RealServer Start OK";;stop)ifconfig lo:0 downroute del $SNS_VIP >/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 "RealServer Stoped";;*)echo "Usage: $0 {start|stop}"exit 1esacexit 0以上参数说明
SNS_VIP=192.168.1.98 #定义VIP变量. /etc/rc.d/init.d/functions#导脚本库case "$1" in#case语句 $1传递给该shell脚本的第一个参数start)ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP #设置Lo:0 VIP netmask 及广播/sbin/route add -host $SNS_VIP dev lo:0 ##route del 增加本地路由echo "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>&1# -p <file> (default /etc/sysctl.conf) 将标准信息输入设备空文件echo "RealServer Start OK";;stop)ifconfig lo:0 downroute del $SNS_VIP >/dev/null 2>&1 #route del 删除本地路由echo "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 "RealServer Stoped";;*)echo "Usage: $0 {start|stop}" #$0 是脚本本身的名字exit 1#表示进程正常退出esac#case结束exit 0#表示进程非正常退出[root@itcast01 ~]#chmod 750 realserver #给此脚本赋予权限[root@itcast01 ~]#chkconfig realserver on #设置开机自启动此脚本[root@itcast01 ~]#service realserver start #开启此脚本RealServer Start OK #表示启动成功![root@itcast01 ~]#ifconfig #查看一下是否真的成功添加了lo:0接口
2.第二步:开启二台真实服务器上自带的Apache公司的Http服务器
[root@itcast01 ~]#service httpd start #开启Http服务器[root@itcast01 ~]#cd /var/www/html/ #进入Http服务器默认的目录[root@itcast01 ~]#touch index.html #创建Http服务器默认访问页面[root@itcast01 ~]#vim index.html #编辑Http服务器默认访问页面I am http IP : 真实服务器自己的IP(例如:192.168.200.201)用浏览器访问一下:http://192.168.200.201 默认端口80
查看结果是否是自己编辑的: I am http IP : 真实服务器自己的IP(例如:192.168.200.201)
二台真实服务器一样
3.第三步:开始搭建负载均衡
(1):安装 ipvsadm keepalived命令:yum –y install ipvsadm keepalived
(2):配置 keepalived
命令:vim /etc/keepalived/keepalived.conf
global_defs { # notification_email { # admin@toxingwang.com# }# notification_email_from master@toxingwang.com# smtp_server smtp.exmail.qq.com# smtp_connect_timeout 30router_id LVS_DEVEL }vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASSauth_pass 1111}virtual_ipaddress { 192.168.200.201}}virtual_server 192.168.200.201 80 {delay_loop 6 lb_algo wrr lb_kind DR nat_mask 255.255.255.0 persistence_timeout 0 protocol TCP real_server 192.168.200.139 80 { weight 3 TCP_CHECK { connect_timeout 10 nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.200.140 80 {weight 3TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}}以上参数说明:
global_defs { ##全局配置部分# notification_email { ##下面几行均为全局通知配置,可以实现出现问题后报警,但功能有限,因此注释掉,并采用Nagios监视lvs运行情况# admin@toxingwang.com# }# notification_email_from master@toxingwang.com# smtp_server smtp.exmail.qq.com# smtp_connect_timeout 30router_id LVS_DEVEL ##设置lvs的id,在一个网络内应该是唯一的}vrrp_instance VI_1 { ##设置vrrp组,唯一且同一LVS服务器组要相同state MASTER ##备份LVS服务器设置为BACKUPinterface eth0 # #设置对外服务的接口virtual_router_id 51 ##设置虚拟路由标识priority 100 #设置优先级,数值越大,优先级越高,backup设置为99,这样就能实现当master宕机后自动将backup变为master,而当原master恢复正常时,则现在的master再次变为backup。advert_int 1 ##设置同步时间间隔authentication { ##设置验证类型和密码,master和buckup一定要设置一样auth_type PASSauth_pass 1111}virtual_ipaddress { ##设置VIP,可以多个,每个占一行192.168.18.60}}virtual_server 192.168.18.60 80 {delay_loop 6 ##健康检查时间间隔,单位slb_algo wrr ##负载均衡调度算法设置为加权轮叫lb_kind DR ##负载均衡转发规则nat_mask 255.255.255.0 ##网络掩码,DR模式要保障真实服务器和lvs在同一网段persistence_timeout 50 ##会话保持时间,单位sprotocol TCP ##协议real_server 192.168.18.61 80 { ##真实服务器配置,80表示端口weight 3 ##权重TCP_CHECK { ##服务器检测方式设置 keepalived的健康检查方式 有:HTTP_GET|SSL_GET|TCP_CHECK|SMTP_CHECK|MISC_CHECKconnect_timeout 0 ##连接超时时间nb_get_retry 3 ##失败重试次数delay_before_retry 3 ##失败重试的间隔时间connect_port 80 ##连接的后端端口}}real_server 192.168.18.62 80 {weight 3TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}}
(3)启动keepalived服务
[root@lvs1 ~]# service keepalived start注:由于keepalived配置文件有语法错误也能启动,因此看到启动了lvs服务,不代表配置文件没有错误,如果遇到lvs不能正常转发,及时跟踪日志进行处理。
(4)日志跟踪方法
1、开两个ssh窗口连接到lvs服务器,第一个窗口运行如下命令:
[root@lvs1 ~]# tail -f /var/log/message
2、第二个窗口重新启动keepalived服务,同时观察窗口1中日志的变化,然后根据日志提示解决即可。
(5)浏览器访问虚拟IP查看结果
二台真实服务器分别出现在页面上,表明结果是正确的
阅读全文
0 0
- LVS(二)——环境的搭建
- 高可用 lvs环境的搭建
- LVS搭建负载均衡的环境
- LVS环境搭建入门
- 搭建LVS+KeepAlived环境
- LVS源码分析小插曲二---一台PC搭建LVS测试环境
- lvs 负载均衡环境搭建
- LVS+MariaDB+Galera 环境搭建
- 搭建LVS负载均衡环境,出现SYN_RECV状态的处理
- 二、LVS负载均衡搭建
- LVS系列—LVS的三种工作方式(DR原理)(二)
- Android开发环境搭建(二)——基于Eclipse的开发环境搭建
- Android开发环境搭建(二)——基于Eclipse的开发环境搭建
- Android学习笔记(二)——开发环境的搭建
- Struts2学习笔记二——Struts2环境的搭建
- 嵌入式linux开发环境搭建(二)——NFS服务器的搭建
- 使用docker在搭建lvs环境
- Android开发环境搭建(二) —Android开发环境建立
- ECMAscript6快速入门-iterator
- Chinese Whispers 聚类算法
- HTML使用JS导出Excel(五种方法)
- 帆软报表-聚合报表使用方法
- com_lar
- LVS(二)——环境的搭建
- linux系统命令行基本操作——文件管理
- set.seed()实现了可重复的随机
- spring boot初学入门-安装启动报错
- Oracle 按日分区表(数据仓库通常表形式)
- Makefile基础之二使用,引用和环境变量MAKEFILES
- 逆置/反转单链表
- Python中的分组函数(groupby、itertools)
- J2EE的13种核心技术