ubuntu10.04下haproxy+heartbeat配置高可用负载均衡(修改版|亲
2013-11-02 12:00
447 查看
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 才可进入 ) |
相关文章推荐
- 动态壁纸Live Wallpaper架构
- 二线视频网站突围战
- 二线视频网站突围战
- 二线视频网站突围战
- V4L2驱动程序架构
- 高级Java开发的十大网站
- 架构的一些心得
- 网站发布后无法访问,提示“/”应用程序中的服务器错误
- 推荐一些国外前端的学习网站
- 深入分析 iBATIS 框架之系统架构与映射原理
- 识别网站访问来源
- 【转】别人设计的网站的分布式架构
- 优秀源码下载网站排行
- 视频课堂网站
- 正则表达式自动生成网站
- php、android相关网站
- 各国及牛叉公司组织架构图(Organization Chart)
- 数据中心架构和编程
- kernel怎么知道是user还是system空间(ARM架构实现)
- 一次对某韩国网站渗透记