ubuntu10.04下haproxy+heartbeat配置高可用负载均衡(修改版|亲

ubuntu10.04下haproxy+heartbeat配置高可用负载均衡(修改版|亲


TIME:2011-03-31   已被阅读次

配置前提:ubuntu10.04 server版

ip及主机名设置

node1: 主机名:www1 ( HA01 )

eth0:  192.168.0.91        //对外IP地址

eth1:  192.168.1.11         //HA心跳使用地址

node2: 主机名:www2 ( HA02 )

eth0:  192.168.0.73        //对外IP地址

eth1:  192.168.1.13          //HA心跳使用地址


vip :192.168.0.99 (注意!此vip不需要刻意手动用命令配置,在heartbeat配置中即可生成!)



一、配置IP及主机名


在www1上:

vi /etc/hosts

127.0.0.1        localhost.localdomain   localhost

192.168.0.91     www1              HA01

192.168.1.11     HA01

192.168.1.13     HA02

192.168.0.73     www2

vi /etc/hostname

www1


在www2上

vi /etc/hosts

127.0.0.1       localhost.localdomain   localhost

192.168.0.73    www2              HA02

192.168.1.13    HA02

192.168.1.11    HA01

192.168.0.91    www1

vi /etc/hostname

www2

(配置完以后可以在www1上ping www2或者在www2上ping www1看是否能ping通,通则hosts和hostname设置成功)


二、配置 heartbeat

在www1和www2上配置如下内容:

1.安装

Apt-get install heartbeat


2.修改内核参数

Vi /etc/sysctl.conf

net.ipv4.ip_nonlocal_bind=1

sysctl –p #让设置生效


拷贝样例文件到ha.d目录下:

#sudo cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/

#sudo cp /usr/share/doc/heartbeat/ha.cf.gz /etc/ha.d/

#sudo cp /usr/share/doc/heartbeat/haresource.gz /etc/ha.d/

#cd /etc/ha.d

#sudo gzip –d ha.cf.gz

#sudo gzip –d haresources.gz



3.设置授权KEY

vi /etc/ha.d/authkeys

auth 3

3 md5 alsww 

chmod 600 /etc/ha.d/authkeys #修改权限


4.添加ha资源

vi /etc/ha.d/haresources

www1 192.168.0.99 haproxy


在www1上配置:

vi /etc/ha.d/ha.cf


vim /etc/ha.d/ha.cf

logfacility     local0

keepalive 2

deadtime 10

udpport 694

bcast   eth0

ucast eth0 192.168.0.73

auto_failback on


node    www1

node    www2


在www2上配置


vim /etc/ha.d/ha.cf

logfacility     local0

keepalive 2

deadtime 10

udpport 694

bcast   eth0

ucast eth0 192.168.0.91

auto_failback on


node    www1

node    www2


vim /etc/ha.d/haresources

www1 192.168.0.99 haproxy


在配置ha.cf文件前后用ip addr sh 命令对比如下,你会发现eth0多了一行:

“inet 192.168.0.99/24 brd 192.168.0.255 scope global secondary eth0:1”这就说明heartbeat的配置生效了!!

如果前后没多出这条命令,说明配置失败!!!

 

root@www1:~# ip addr sh

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

    link/ether 00:0c:29:09:a7:f5 brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.91/24 brd 192.168.0.255 scope global eth0

    inet6 fe80::20c:29ff:fe09:a7f5/64 scope link 

       valid_lft forever preferred_lft forever

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

    link/ether 00:0c:29:09:a7:ff brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.11/24 brd 192.168.0.255 scope global eth1

    inet6 fe80::20c:29ff:fe09:a7ff/64 scope link 

       valid_lft forever preferred_lft forever

root@www1:~# ip addr sh

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host 

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

    link/ether 00:0c:29:09:a7:f5 brd ff:ff:ff:ff:ff:ff

    inet 192.168.0.91/24 brd 192.168.0.255 scope global eth0

    inet 192.168.0.99/24 brd 192.168.0.255 scope global secondary eth0:1

    inet6 fe80::20c:29ff:fe09:a7f5/64 scope link 

       valid_lft forever preferred_lft forever

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

    link/ether 00:0c:29:09:a7:ff brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.11/24 brd 192.168.0.255 scope global eth1

    inet6 fe80::20c:29ff:fe09:a7ff/64 scope link 

       valid_lft forever preferred_lft forever



三、配置haproxy


1,下载并配置haproxy主配置文件

在www1和www2上配置:

apt-get install haproxy


cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak


cat /dev/null > /etc/haproxy/haproxy.cfg


vi /etc/haproxy/haproxy.cfg

2,修改默认配置,让haproxy开机自动启动

vim /etc/default/haproxy

3,修改端口号

vim /etc/apache2/ports.conf

修改端口为81

vim  /etc/apache2/sites-available/default

修改端口号为81

修改完之后重启apache2服务

( 以上apache2文件最好修改并重启,否则启动haproxy肯定报错!)

4,开启haproxy服务

/etc/init.d/haproxy start

(如果启动不了haproxy服务则修改vi /etc/sysctl.conf文件,在最后添加:

net.ipv4.ip_forward = 1

net.ipv4.ip_nonlocal_bind=1)

5,编辑/var/www目录,加入验证文件

touch /var/www/alswwtest.htm

6,修改测试页面:

vim /var/www/index.html 


修改www1的index.html内容为111111111。。。


修改www2的index.html内容为222222222。。。

四、 测试:

输入网址 :  http://192.168.0.99    并按F5刷新 ,如果显示的网页在111111111和22222222之间来回切换,则说明配置负载均衡成功。


可用 curl命令验证:

如图

 

测试heartbeat效果: 关掉www1上的heartbeat服务,这瞬间PING效果如图:

 

 

再把www1上的heartbeat服务开启,这时的效果如图:

 

如果有这2个效果出现,说明配置成功!(备注:在关闭和开启heartbeat服务时,访问192.168.0.99均可正常切换111111和222222页面!!体现出群集的高可用性!)

 

也可使用haproxy软件web方式查看Web服务当前状态:

输入网址: http://192.168.0.99/haproxy-stats    如果显示如下界面,则配置成功!

(需要输入帐号密码:  alsww   |   alswwpwd  才可进入 )   

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值