ubuntu server 10.4 的LVS-DR+heartbeat 实验

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
简介:
1,实验环境:
(1),主负载均衡服务器ubserver1:     ip:192.168.3.10    虚拟IP:192.168.3.100
(2),从负载均衡服务器ubserver5:   ip:192.168.3.50
(3),www服务器ubserver2: ip: 192.168.3.20
(4),www服务器ubserver3: ip: 192.168.3.30
2,目标:当主负载均衡服务器ubserver1故障时,从负载均衡服务器ubserver5能接管其调度任务;当主负载均衡服务器ubserver1故障修复后,从负载均衡服务器ubserver5任务退出。
3,配置主负载均衡服务器ubserver1:
安装heartbeat,因前面已经安装过ipvsadm所在,这里不在安装
#sudo apt-get install heartbeat
安装完成后,会提示在/usr/share/doc/heartbeat 下有所需要的三个文件authkeys,ha.cf.gz,haresources.gz
    #sudo dpkg –l heartbeat
#sudo dpkg –l ipvsadm
查看这两个文件包是否已安装
#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
#sudo vim authkeys
把以下内容
#auth 1
#1 crc
修改为
auth 1
1 crc
#sudo chmod 600 authkeys
#sudo vim haresources
增加以下内容即可:
ubserver1 192.168.3.100 lvs.sh
*:ubserver1 为主机名(必须与`uname –n `查看的名字相同),192.168.3.100为虚拟的IP,lvs.sh为配置LVS-DR时用到的脚本。
#sudo vim ha.cf
修改内容为以下:
bcast eth0
ucast eth0 192.168.3.50
*:192.168.3.50为从负载均衡服务器ubserver5的IP
auto_failback on
#auto_failback设置为on时,一旦主节点重新恢复联机,将从从节点取回所有资源。若该选项设置为off,主节点便不能重新获得资源。 
node ubserver1
node ubserver5
*:ubserver1是主,所在在前;ubserver5在后,顺序是重要。
#sudo vim /etc/init.d/lvs.sh
#!/bin/bash 
vip=192.168.3.100:80 
vip1=192.168.3.100 
rip1=192.168.3.20 
rip2=192.168.3.30 
sudo ifconfig  eth0:0 $vip1  netmask 255.255.255.255 broadcast $vip1 up 
sudo route add -host $vip1 dev eth0:0 
sudo ipvsadm -A -t $vip -s rr 
sudo ipvsadm -a -t $vip -r $rip1 -g 
sudo ipvsadm -a -t $vip -r $rip2 -g 
sudo ipvsadm –S
*:要在/etc/init.d目录下建立lvs.sh
#sudo chmod 755 /etc/init.d/lvs.sh
#sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=0
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
#sudo sysctl –p
#sudo vim /etc/hosts
ubserver2   192.168.3.20
ubserver3   192.168.3.30
ubserver5   192.168.3.50
*:在实验的其它机器做相似的修改
4,配置从负载均衡服务器ubserver5:
#sudo vim ha.cf
修改/etc/ha.d/ha.cf
bcast eth0
ucast eth0 192.168.3.10
*:192.168.3.10为主负载均衡服务器ubserver1的IP
haresources,authkeys,lvs.sh 配置与负载均衡服务器ubserver1的都相同。
5,配置www服务器ubserver2,ubserver3两台机器配置相同
#sudo ifconfig lo:0 192.168.3.100 netmask 255.255.255.255 broadcast 192.168.3.100
#sudo route add –host 192.168.3.100 dev lo:0
修改/etc/sysctl.conf
net.ipv4.ip_forward=0
net.ipv4.conf.lo.arp_ignore=1
net.ipv4.conf.lo.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
net.ipv4.conf.all.arp_announce=2
#sudo sysctl –p
把ubserver2,ubserver3的/var/www下的index.html的内容修改为“this is ubserver2”,”this is ubserver3”,当访问时区别访问的是那台机器,查看实验是否成功
6,开启heartbeat
在负载均衡服务器ubserver1,ubserver5上执行
#sudo /etc/init.d/heartbeat start
出现以下内容:
lvs-heartbeat1
没搞明白!但能工作。
7,故障模拟
在一台机器访问 http://192.168.3.100,看有没有达到轮询访问两台www服务器,然后关闭主负载均衡服务器ubserver1,看能不能正常访问,这时到从负载均衡服务器ubserver5上,执行#sudo ipvsadm,看有没有接管调度;正常开启主负载均衡服务器ubserver1,这时访问 http://192.168.3.100,并查看其有没有开始把任务从ubserver5上接管回来。在模拟的过程中查看两台机器的 /var/log/syslog内容,看是否工作正常.
实验结果:
(1)负载均衡能实现,达到轮询两台www服务器
(2)当关闭主负载均衡服务器ubserver1时,从负载均衡服务器ubserver5能接管其任务;但当主负载均衡服务器ubserver1修复后,不能接回其调度任务。还须修改。今天重新实验发现,在开机后heartbeat服务会自动启动,可以接回调度任务。以前总以为是要手动启动heartbeat服务的,原来是 开机后自动启动的。
总结:
现在网上实例的很多,但是ubuntu下的很少,在redhat下的很多,不过,道理是相通的,稍加修改就可以了,要明白其工作的原理,就比较容易排除故障,多看官方的手册。这次只是基本功能实现了,很多细节没配置。实验完了,再补上。
本文转自xcjgutong 51CTO博客,原文链接:http://blog.51cto.com/xuchengji/330343

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
Ubuntu 安全 Linux
百度搜索:蓝易云【Ubuntu 20.04 安装VNC Server的教程。】
请注意,VNC连接是以明文形式传输数据的,因此建议在安全的网络环境中使用VNC,并设置强密码以确保安全性。
255 1
|
29天前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
|
2月前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
323 2
|
2月前
|
存储 Kubernetes 负载均衡
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
基于Ubuntu-22.04安装K8s-v1.28.2实验(四)使用域名访问网站应用
39 1
|
2月前
|
负载均衡 应用服务中间件 nginx
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
基于Ubuntu-22.04安装K8s-v1.28.2实验(二)使用kube-vip实现集群VIP访问
71 1
|
2月前
|
Kubernetes 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
基于Ubuntu-22.04安装K8s-v1.28.2实验(三)数据卷挂载NFS(网络文件系统)
160 0
|
4月前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu server连接wifi教程
本文提供了一个简化Ubuntu Server在Raspberry Pi系统上配置过程的脚本"config_ubuntu_server",包括自动和手动两种方法来设置root权限、SSH配置,并连接WiFi,同时支持无密码SSH访问,适合初学者和高级用户。
103 3
|
4月前
|
Ubuntu 网络协议 开发工具
在 Ubuntu Server 上配置静态 IP 地址
在 Ubuntu Server 上配置静态 IP 地址
379 0
|
存储 缓存 NoSQL
如何解决Ubuntu server 下 Redis安装报错:“You need tcl 8.5 or newer in order to run the Redis test”.
如何解决Ubuntu server 下 Redis安装报错:“You need tcl 8.5 or newer in order to run the Redis test”.
440 0
|
7月前
|
存储 Ubuntu 网络安全
下一篇
DataWorks