——————— 高可用集群的简单配置 ————————
地址规划
主节点:HA1 172.16.21.13 hostname node2.magedu.com
备节点: HA2 172.16.21.14 hostname node1.magedu.com
VIP 172.16.21.9
前提工作
1,配置主机名 hostname
保证uname -n 的主机名一致
#hostname node1.magedu.com (vim /etc/sysconfig/network)
2,双机互信通信 (HA1和HA2都做相同的设置,以实现双机的互信)
#ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' 生成密钥输出文件存放在id下
#ssh-copy-id -i .ssh/id_rsa.pub root@(ip)
3,主机名称解析
#vim /etc/hosts 添加两台主机的IP 和主机名称,还有别名
4,时间同步(为了监控到对方的心跳信息)
#service ntpd stop
#chkconfig ntpd off
#ntpdate 172.16.0.1
为了保证以后时间能一直的同步(很粗暴,设定5分钟同步一次)
(#crontab -e 添加*/5* * * * /sbin/ntpdate 172.16.0.1 &> /dev/null)
安装相关的软件
(可以到相关的网站去下载需要的软件包,因为有很多依赖关系,所以需要下载多个)
heartbeat-2.1.4-9.el5.i386.rpm, heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
启动heartbeat,并对其做出相关的配置
首先为其提供配置文件 (路径在/etc/ha.d)
(/usr/share/doc/heartbeat-2.1.4/下有三种配置文件的样例)
ha.d#cp -p 600 /usr/share/doc/heartbeat-2.1.4/{authkeys,ha.cf,haresources} ./
指定密码使用哪种认证机制:
ha.d#vim authkeys
得到随机数 将其加入到authkeys中
# dd if=/dev/random count=1 bs=512 | md5sum
编辑主配置文件
ha.d#vim ha.cf
在其中修改以太网发送信息是通过广播(心跳信息的传递方式)
定义节点,将集群中的节点都做出定义
ping 网关 目的是验证对方是否down掉没
安装web服务
编辑配置定义资源
ha.d#vim haresources
格式: #node1 10.0.0.170 Filesystem::/dev/sda1::/data1::ext2
和主节点名称一致uname -n 作为主节点的节点名称
将配置好的密钥和资源文件复制到做备用节点的主机上
#scp -p authkeys haresources ha.cf node2:/etc/ha.d/
在主节点(HA1)上启动自身的heartbeat ,并且启动备节点的heartbeat
实验结果
通过以下了两个场景,我们可以对高可用集群的heartbeat v1 做进一步的了解
场景1:主节点出现故障,备节点取代主节点工作
期望的效果:能显示HA2的httpd的网页(node2.magedu.com)
heartdbeat下有个测试脚本,可以完成上面的场景
#cd /usr/lib/heartbeat
它下面有个脚本hb_standby (将自己转换成备节点)
#./hb_standby
ifconfig查看,会发现eth0:0在之前的备节点上
期望效果显示
场景2: 再添加一个节点,让其提供文件系统,让主备节点同时挂载它
期望效果:提供相同的网页
在做共享文件系统NFS的节点上做如下配置
创建共享的文件目录
#mkdir -pv /web/htdocs
编辑共享的目录和共享的网段
#vim /etc/exports
/web/htdocs 172.16.0.0/255.255.0.0(ro)
检查下是否能正常的访问
#showmount -e 172.16.21.8
把主备节点的heratbeat停了
在主配置文件的资源管理中做出配置
node1.magedu.com IPaddr::172.16.21.9/16/eth0 Filesystem::172.16.21.8:/web/htdocs::/var/www/html::nfs httpd
并将配置好的复制到备节点上
启动服务,查看结果
# service heartbeat start
# ssh node2 'service heartbeat start'
转载于:https://blog.51cto.com/keleyingwu/1198121