群集服务器,LB提供负载均衡 ,支持大量并发连接;HA提供高可用性;HP用于科学计算。
拓扑图:
安装heartbeat
Node1
1、Node1配置yum
[root@node1 ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-server]#yum仓库名
name=Red Hat Enterprise Linux server#yum仓库详细名字
baseurl=file:///mnt/cdrom/Server#指明server仓库位置
enabled=1#开启仓库
gpgcheck=1#启动签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release#签名文件件
2、Node1用本地yum库安装heartbeat
[root@node1 ~]# yum localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-devel-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck#取消签名检测
[root@node1 ~]# rpm -ivh heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
Node2
1、Node2配置yum
[root@node2 ~]# vim /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-server] #yum仓库名
name=Red Hat Enterprise Linux server#yum仓库详细名字
baseurl=file:///mnt/cdrom/Server#指明server仓库位置
enabled=1#开启仓库
gpgcheck=1#启动签名
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release#签名文件件
2、Node2用本地yum库安装heartbeat
[root@node2 ~]# yum localinstall heartbeat-2.1.4-9.el5.i386.rpm heartbeat-devel-2.1.4-9.el5.i386.rpm heartbeat-pils-2.1.4-10.el5.i386.rpm heartbeat-stonith-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm perl-MailTools-1.77-1.el5.noarch.rpm --nogpgcheck#取消签名检测
[root@node2 ~]# rpm -ivh heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
配置
1、指明ipvsadm规则
[root@node1 ~]# cp /usr/share/doc/heartbeat-ldirectord-2.1.4/ldirectord.cf /etc/ha.d/ #产生配置文档
[root@node1 ~]# cd /etc/ha.d/
[root@node1 ha.d]# vim ldirectord.cf
[root@node1 ha.d]# scp ldirectord.cf node2.a.com:/etc/ha.d/ #拷贝一份给node2
Node1产生heartbeat配置文件
[root@node1 ~]# cd /usr/share/doc/heartbeat-2.1.4/
[root@node1 heartbeat-2.1.4]# cp ha.cf /etc/ha.d/
[root@node1 heartbeat-2.1.4]# cp authkeys /etc/ha.d/
[root@node1 heartbeat-2.1.4]# cp haresources /etc/ha.d/
[root@node1 heartbeat-2.1.4]#
2、指明出口
[root@node1 ha.d]# vim ha.cf
3、配置共享密钥
[root@node1 ha.d]# dd if=/dev/random bs=512 count=1|md5sum #产生512位随机数并以md5加密
[root@node1 ha.d]#vim authkeys#配置
[root@node1 ha.d]# chmod 600 authkeys#修改文件的权限
[root@node1 ha.d]# scp authkeys ha.cf node2.a.com:/etc/ha.d/#将node1上的文件拷到node2上
4、设置监控的资源
[root@node1 ha.d]# vim haresources
node1.a.com 192.168.10.6/24/eth0 ldirectord::ldirectord.cf #检测服务器名、ivp、端口、服务
[root@node1 ha.d]# scp haresources node2.a.com:/etc/ha.d/#将配置文档拷给node2
安装ipvsadm
Node1
[root@node1 ~]# cd /mnt/cdrom/Cluster
[root@node1 Cluster]# rpm -ivh ipvsadm-1.24-10.i386.rpm #安装主程序
Node2
[root@node2 ~]# cd /mnt/cdrom/Cluster
[root@node2 Cluster]# rpm -ivh ipvsadm-1.24-10.i386.rpm #安装主程序
启动
[root@node1 ha.d]# service heartbeat start
[root@node2 ~]# service heartbeat start
搭建web服务器
服务器web1
安装apache
[root@web1 ~]# mkdir /mnt/cdrom #创建挂载点
[root@web1 ~]# mount /dev/cdrom /mnt/cdrom#挂载光盘
[root@web1 ~]# cd /mnt/cdrom/Server/ #进入文件夹
[root@web1 Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm #安装
[root@web1 Server]# service httpd start #启动
配置
[root@web1 Server]# cd /var/www/html/
[root@web1 html]# echo "ok">.test.html #写出我们的监控文件
[root@web1 html]#
[root@web1 ~]# vim /etc/sysctl.conf #设置忽视arp
net.ipv4.conf.all.arp_announce=2
net.ipv4.conf.all.arp_ignore=1
[root@web1 ~]# sysctl -p #使其生效
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0 #创建网卡
TYPE=Ethernet
DEVICE=lo:0
HWADDR=00:00:00:00:00:00
BOOTPROTO=none
NETMASK=255.255.255.255
IPADDR=192.168.10.6
[root@web1 ~]# vim /var/www/html/index.html #创建web页面
web1
服务器web2
安装apache
[root@web2 ~]# mount /dev/cdrom /mnt/cdrom#挂载光盘
[root@web2 ~]# cd /mnt/cdrom/Server/#进入文件夹
[root@web2 Server]# rpm -ivh httpd-2.2.3-31.el5.i386.rpm #安装
[root@web2 Server]# service httpd start#启动
配置
[root@web2 Server]# cd /var/www/html/
[root@web2 html]# echo "ok">.test.html#写出我们的监控文件
[root@web2 html]#
[root@web2 html]# vim /etc/sysctl.conf #设置忽视arp
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
[root@web2 html]# sysctl -p #使其生效
[root@web2 html]# vim /etc/sysconfig/network-scripts/ifcfg-lo:0 #创建网卡
TYPE=Ethernet
DEVICE=lo:0
HWADDR=00:00:00:00:00:00
BOOTPROTO=none
NETMASK=255.255.255.255
IPADDR=192.168.10.6
[root@web2 html]# vim index.html #创建web页面
web2
测试
测试1
监测的的结果
测试2
将web1关闭
[root@web1 html]# service httpd stop
监测的的结果
能够起到备份的作用。
测试3
将node1关闭
[root@node1 ha.d]# /usr/lib/heartbeat/hb_standby
在node2上查看
可以看到node2立即启用,可以起到高可用性。