Chinaunix首页 | 论坛 | 博客
  • 博客访问: 259460
  • 博文数量: 94
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 80
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-16 09:08
文章分类

全部博文(94)

文章存档

2016年(3)

2015年(86)

2014年(5)

分类: LINUX

2015-03-04 09:12:46

本文主要介绍了如何在redhat6.2环境下部署ipvsadm及keepalived实现基于socket高可用集群负载均衡的功能的方法、操作步骤以及需要注意的事项,希望对正在尝试使用基于lvs实现socket负载方式的博友提供一些参考和指导。
一、环境准备工作
1、关闭selinux:
vi /etc/selinux/config
把SELINUX=enforce   改成disabled
2、关闭防火墙(NAT负载模式需要根据业务需求配置iptables,DR模式请直接关掉)
chkconfig --level 2345 iptables off
chkconfig --level 2345 ip6tables off
iptables -F
service iptables stop 
3、配置yum源 
#配置本地yum源
1)挂载光盘
mount -o loop /dev/cdrom  /mnt/media
2)新建本地yun源的配置文件
vi /etc/yum.repos.d/local.repo
加入以下信息:
[Local]
name=Local
baseurl=file:///mnt/media
enable=1
gpgcheck=0
3)yum clean all
二、高可用集群规划(DR负载模式,RR轮询调度)
浮动地址VIP:36.0.0.70
压测主机IP: 36.0.0.158
调度主机LBServer1:36.0.0.156
调度主机LBServer2: 36.0.0.157
应用主机realServer1:36.0.0.71
应用主机realServer2:36.0.0.72
应用主机realServer3:36.0.0.73
--------------------------------------------------------------
三、安装部署ipvs管理工具ipvsadm
#调度管理工具介质安装
1、确保Linux的kernel支持ipvs算法,检查内核是否支持
#modprobe -l|grep ipvs 
2、使用rpm包安装
#rpm -ivh ipvsadm-1.24-13.el5.x86_64.rpm
3、检查ipvsadm是否完整安装
#lsmod|grep ip_vs      
四、高可用介质keepalived安装
1、安装先决条件
#安装编译工具
#yum install make -y
#安装编译环境
#yum install gcc* -y
#安装依赖程序
#yum install openssl* -y
#yum install popt-devel -y
2、安装HA软件
解压程序包
#tar -zxvf keepalived1.2.2.tar.gz
#cd keepalived-1.2.2
#配置编译环境
#./configure 
#编译安装
#make && make install     
3、配置HA为系统服务
#cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ 
#cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 
#cp /usr/local/sbin/keepalived /usr/sbin/ 
#chkconfig --add keepalived
#chkconfig --level 2345 keepalived on #配置随机启动后 有时会导致ipvsadm无法启动 需要先停止keepalived 启动ipvsadm后 再重启keepalived
#chkconfig --level 2345 ipvsadm on
4、配置HA的配置文件
#mkdir /etc/keepalived
#编辑vi keepalived.conf 
#其信息如下所示,备机需修改state和 priority,具体可参考LB服务器配置

点击(此处)折叠或打开

  1. ! Configuration File for keepalived

  2. global_defs {
  3. router_id LVS_ESB
  4. }

  5. vrrp_instance VI_1 {
  6.    state MASTER
  7.    interface eth1
  8.    virtual_router_id 125
  9.    priority 100
  10.    advert_int 1
  11.    authentication {
  12.        auth_type PASS
  13.        auth_pass inzone
  14.    }
  15. virtual_ipaddress {
  16.       36.0.0.70
  17.    }
  18. }

  19. virtual_server 36.0.0.70 9051{
  20.    delay_loop 6
  21.    lb_algo rr
  22.    lb_kind DR
  23.    protocol TCP

  24.    real_server 36.0.0.71 9051{
  25.        weight 1
  26.        TCP_CHECK {
  27.        connect_timeout 10
  28.        nb_get_retry 3
  29.        delay_before_retry 3
  30.        connect_port 9051
  31.        }
  32.    }

  33.    real_server 36.0.0.72 9051{
  34.        weight 1
  35.        TCP_CHECK {
  36.        connect_timeout 10
  37.        nb_get_retry 3
  38.        delay_before_retry 3
  39.        connect_port 9051
  40.        }
  41.    }

  42.       real_server 36.0.0.73 9051{
  43.        weight 1
  44.        TCP_CHECK {
  45.        connect_timeout 10
  46.        nb_get_retry 3
  47.        delay_before_retry 3
  48.        connect_port 9051
  49.        }
  50.    }

  51. }
五、配置realServer
1、抑制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
2、配置路由
#ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
#/sbin/route add -host $VIP dev lo:0  
#sysctl -p > /dev/null 2>&1
六、HA服务的管理
停止主: service keepalived stop
启动主: service keepalived start
停止备: service keepalived stop
启动备: servive keepalived start
七、验证服务
telnet $vip port
阅读(1016) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~