设为首页 收藏本站
查看: 1094|回复: 0

[经验分享] lvs负载均衡基本搭建

[复制链接]

尚未签到

发表于 2015-11-20 13:55:17 | 显示全部楼层 |阅读模式
1      环境搭建
1.1      硬件资源
表1-1  硬件资源需求表

序号

名称

配置参数

用途

数量

1.

服务器


  作为负载均衡调度器
1

2

服务器


  作为负载均衡服务节点
2




  




  

  
1.2      软件资源
表1-2  软件资源需求表

序号

名称

版本

用途

1

Centos

6.0

服务器操作系统

2

Heartbeat

3.0.5

  使用Heartbeat中的ldirectord服务,检测节点服务运行状态
3

ipvsadm

1.2.1

  Lvs负载均衡管理工具
  
1.3      搭建及安装步骤
  注:本测试环境使用直接路由方法搭建
  
1.3.1  准备工作
  1.设置环境变量
exportLCRSODIR=$PREFIX/libexec/lcrso  

export CLUSTER_USER=hacluster

export CLUSTER_GROUP=haclient

  
  2.建立组及组中用户
getent group ${CLUSTER_GROUP}>/dev/null || groupadd -r ${CLUSTER_GROUP}


getent passwd ${CLUSTER_USER}>/dev/null || useradd -r -g ${CLUSTER_GROUP} -d/var/lib/heartbeat/cores/hacluster -s /sbin/nologin -c "cluster user"${CLUSTER_USER}



1.3.2  安装Cluster Clue
  1.       下载源代码并解压
wget -Ocluster-glue.tar.bz2 http://hg.linux-ha.org/glue/archive/tip.tar.bz2 tar jxvfcluster-glue.tar.bz2 cd Reusable-Cluster-Components-*

  
  2.       设置编译环境
./autogen.sh&& ./configure --with-daemon-user=${CLUSTER_USER} --with-daemon-group=${CLUSTER_GROUP}

  
  3.       编译安装
make

sudo makeinstall

  
  
1.3.3  安装Resource Agents
  1.       下载源代码并解压
wget -Oresource-agents.tar.gz https://github.com/ClusterLabs/resource-agents/tarball/mastertar xzvf resource-agents.tar.gz


cdClusterLabs-resource-agents-*

  
  2.       设置编译环境
./autogen.sh&& ./configure

  
  3.       编译安装
make sudo makeinstall

  
1.3.4  安装Heartbeat
  1.       下载源代码并解压
wget -Oheartbeat.tar.bz2 http://hg.linux-ha.org/dev/archive/tip.tar.bz2

  
tar jxvf heartbeat.tar.bz2 cd Linux-HA-Dev-*

  
  2.       设置编译环境
./bootstrap&& ./configure

  
  3.       编译安装
make

sudo make install

  
  
1.3.5  安装ipvsadm
yum install –y ipvsadm

  
  
1.3.6  配置节点ip
负载调度器:192.168.1.211/24,eth0:0(VIP):192.168.1.220/3

真实服务器1:192.168.1.55/24,lo:0(VIP) :192.168.1.220/32

真实服务器2:192.168.1.212/24,lo:0(VIP) :192.168.1.220/3

  
  
1.3.7  配置负载调度器
  1.       运行以下脚本配置虚拟ip并添加路由
#!/bin/bash

VIP=192.168.1.220

/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up

/sbin/route add -host $VIP dev eth0:0

echo "1" > /proc/sys/net/ipv4/ip_forward

  
  2.       配置lvs
#ipvsadm-A -t $VIP:80 -s wlc                      #add virtual service

#ipvsadm -a -t $VIP:80 -r 192.168.1.55 -g          # add real server1

#ipvsadm -a -t $VIP:80 -r 192.168.1.212 -g        # add real server2

  
  3.       查看配置结果
#ipvsadm –l

  
  结果如下证明配置正确
IP VirtualServer version 1.2.1 (size=4096)

ProtLocalAddress:Port Scheduler Flags

  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn

TCP  192.168.1.220:http wlc

  -> node55:http                  Route   1     0          0        

  -> 192.168.1.212:http           Route   1     0          0   

  
1.3.8  配置真实服务器
  
  真实服务器上只需要给虚拟网络设置lo:0配置VIP,添加一条路由,然后设置不响应ARP请求即可.两个真实服务器的配置都是一样的,只是IP地址不同,把下面标注为绿色的行改成相应的IP即可,运行以下脚本:
  
!/bin/bash

VIP="192.168.1.220"

/sbin/ifconfigeth0 192.168.1.55/24

/sbin/ifconfiglo:0 $VIP broadcast $VIP  netmask255.255.255.255 up

/sbin/route add-host $VIP dev lo:0

#以下配置是使这台服务器不响应ARP请求

echo"1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

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

  
1.3.9  配置ldirectord
  1.     创建配置文件/etc/ha.d/ldirectord.cf
checktimeout=3

checkinterval=1

autoreload=yes

logfile="/var/log/ldirectord.log"

quiescent=no


virtual=192.168.1.220:80

        real=192.168.1.55:80gate

        real=192.168.1.212:80gate

        fallback=127.0.0.1:80gate

        service=http

        scheduler=wcl

        #persistent=600

        #netmask=255.255.255.255

        protocol=tcp

        checktype=negotiate

        checkport=80

        request="index.html

  
  2.     启动服务
/etc/init.d/ldirectordstart

  
1.3.10    创建测试页面
  在两台真实服务器上分别配置
# echo “This is Webserver1”>/var/www/html/index.html

# echo “This is Webserver2”>/var/www/html/index.html

  
2     测试环境搭建成功准则
  1.    在两台真实服务器上启动http服务
service httpd start

  
  2.    在局域网内另一台设备上运行如下指令:
for i in `seq 1 1000`; do curlhttp://192.168.1.220/; sleep 1; done;t]

  
  出现如下结果证明搭建成功
“Thisis Webserver1”

“Thisis Webserver2”

“Thisis Webserver1”

“Thisis Webserver2”

“Thisis Webserver1”

“Thisis Webserver2”

………………………

……………………….

  


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-141534-1-1.html 上篇帖子: dns lvs webserver 下篇帖子: lvs实现linux集群功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表