Keepalived与Haproxy和LVS应用一则实例

作者:Ajian 发布时间:April 17, 2009 分类:集群技术,LVS,Haproxy

前言: keepalived与Haproxy keepalived与LVS搭配一起使用的文章不少,这次要讲述的是我实际应用中的一种实例.

环境:
Centos 5.2

Slackware 12.1.0

keepalived 1.1.17

Haproxy  1.3.17

ipvsadm 1.24

需求:1、有两台做负载均衡的服务器A 192.168.0.240和 B 192.168.0.250

2、负载均衡服务haproxy和LVS任选一种都可以

3、有两个虚拟IP VIP1: 192.168.0.1 VIP2: 192.168.0.2 (就当是外网IP吧)

4、要求VIP 1在A服务器上为Master VIP2在B服务器上为Master

目的是提高两个服务器的利用率

具体配置:(具体安装就省了)

vrrp_sync_group VG1 {
       VI_1
}
vrrp_sync_group VG2 {
      VI_2
}
vrrp_instance VI_1 {
      state MASTER
      interface eth0
      virtual_router_id 51
      priority 150
      advert_int 1
      authentication {
      auth_type AH
      auth_pass k@l!ve1
}
virtual_ipaddress {
     192.168.0.1
  }
}

vrrp_instance VI_2 {
     state BACKUP
     interface eth1
     virtual_router_id 52
     priority 100
     advert_int 1
     authentication {
     auth_type AH
     auth_pass k@l!ve2
  }
virtual_ipaddress {
    192.168.0.2
  }
}

如果是haproxy上面的配置再加上最开始的一些就差不多了,如果是LVS还需要加上virtual_server的那些。

具体看官方的PDF文件 Keepalived User Guide

不同版本安装haproxy

作者:Ajian 发布时间:January 13, 2009 分类:集群技术,杂记摘要

Haproxy是一种负载均衡代理软件,其特点是简单高效,在一定范围内可以替代一些专门的负载均衡设备,用于中小型网站的负载均衡绰绰有余。
Haproxy 的安装很简单,下载应用程序的压缩包解压出来,然后进入解压出来的目录运行make就可以了,由于其匹配规则中会用到正则表达式,所以为了让正则匹配的效率更高,我们可以使用静态的pcre库来编译haproxy(make的时候加上参数:USE_STATIC_PCRE=1 USE_POLL= ),如果编译找不到pcre库可以下载并安装pcre库后再编译。
(上面这段是摘抄的,目的是引出下文)
说到PCRE的安装,或者说大部分的软件安装特点在不同的版本都有不同。
[软件版本]haproxy-1.3.15.* (多个小版本都用过)
[基本安装步骤]

tar zxvf haproxy-1.3.15.*.tar.gz
cd haproxy-1.3.15.*
make TARGET=linux26 USE_STATIC_PCRE=1
make install

注意:TARGET=linux26 为内核版本 这里是2.6的 USE_STATIC_PCRE表示使用PCRE
肯定在不同的平台下安装有一些依赖 肯定需要PCRE
[经验]一般安装依赖关系的软件都是安装他的lib 开发包 库文件等
<Slackware>
这个系统用的人可能比较少,但他也有相对简单方便的地方。如安装这个PCRE,系统就只有一个文件没有分其它的库文件这些.
如果是下载下来的tgz包 直接 installpkg pcre-7.7-i486.tgz
如果是有安装slackpkg包管理工具 slackpkg install pcre就可以了

<CentOS>
最多使用的系统 类似的包括Redhat Opensuse 都是相类似的,包的依赖性较大,rpm包的分类一般都是安装文件包 开发包 客户端包 服务端包。所以如果像slackware一样yum install pcre 只会安装安装文件包 不会安装依赖使用的开发包等。
[经验]这类系统的包名一般是pcre-devel 后面接一个devel
yum install pcre-devel

<Ubuntu>
这类相似的有debin等 都是deb的包 这个包的分类跟Centos系列的类似 只是文件名命名规则有点不一样
[经验]deb包命名一般是libpcre++-devel 前面要加lib
sudo dpkg -i libpcre++-devel.deb
sudo apt-get install libpcre

[申明]本人经验不一定都对,请认真指正。