码迷,mamicode.com
首页 > 其他好文 > 详细

简单的高可用集群实验

时间:2014-06-17 17:23:46      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:高可用   实验   集群   实现   

前言:

    上文介绍了高可用集群的基本概念,下面让我们来试试用两台提供web服务的虚拟机来实现一个小小的高可用集群吧~

    首先,配置一个高可用集群的前提有:

    1.至少两个节点;

    2.共享存储(为了提供的页面一致,需要在后端用某些机制来实现。这里我们就做个简单的实验,后端存储先不考虑。先让这两个节点各自提供一个不同的页面,方便我们知道哪台在提供服务);

    3.STONIN(共享存储时为了避免争用资源,指挥特定的设备,如电源交换机等避免共享存储的崩溃,所以一般的集群都得需要这个否则它会不工作的哦~~这里我们依旧不用管它)

    4.时间需要同步,这里我们在虚拟机中做的实验,可以安装VM工具来实现其与宿主机的时间同步,并改一个虚拟机文件的参数即可,这里不再赘述bubuko.com,布布扣

    5.主机名称解析。(/etc/hosts)

    6.至少先配置好一个节点(首个节点):提供基本集权配置和配置文件,可以没有资源;

    7.ssh互信。

这里先做个小小的规划:

    node1.zc.com     192.168.1.7

    node2.zc.com     192.168.1.8

验证是否能互相ping通:

#ping node1.zc.com

#ping node2.zc.com

建立ssh互信:(两个节点都需要做,这里只是显示了node2的)

bubuko.com,布布扣

下面安装:heartbeat;heartbeat-stonith;heartbeat-gui;

# yum install libnet.so.1 libnetsnmp.so.20 net-snmp-libs pygtk2-libglade(解决包依赖关系,先按照提示安装这几个包)

# rpm -ivh heartbeat-2.1.4-12.el6.i686.rpm heartbeat-pils-2.1.4-12.el6.i686.rpm heartbeat-stonith-2.1.4-12.el6.i686.rpm heartbeat-gui-2.1.4-12.el6.i686.rpm 

总是报这个错误:libnet.so.1 is needed by heartbeat-2.1.4-12.el6.i686

我就试试安装了这个包:# yum install libnetfilter_conntrack-0.0.100-2.el6.i686.rpm 

可是还是不行......

解决办法(使用epel源yum安装这个依赖包,epel的源比较全~):

在这个网址下载epel包:http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

#rpm -ivh epel-release-6-8.noarch.rpm

#yum install libnet 

这样就可以了~

bubuko.com,布布扣

以上都在node1和node2安装好后,就可以不用管node2了,只在node1上配置:

先确保两台httpd服务没问题,并且提供不同的页面,然后在将其关闭,并且一定要保证开机不会启动:(#service httpd stop;#ckconfig httpd off)

#cd /usr/share/doc/heartbeat-2.1.4/

#cp authkeys ha.cf haresources /etc/ha.d/

#cd /etc/ha.d/

#openssl rand -hex 8 >> authkeys (生成个随机数给这个文件。)

#vim authkeys 

bubuko.com,布布扣

#chmod 600 authkeys

#vim ha.cf (配置文件)改如下写参数:


logfile /var/log/ha-log (日志位置,方便查看错误)

mcast eth0 225.0.0.1 694 1 0

#node kathy 下面加

node node1.zc.com

node node2.zc.com

#ping 10.10.10.254 (下面加,这是一个ping node)

ping 192.168.1.1


#vim haresources (这是资源管理器,在最下面加上我们的资源) 

node1.zc.com   192.168.1.10/24/eth0   httpd


#scp -p authkeys ha.cf haresources node2:/etc/ha.d/   (把我们配置好的这3个文件传给node2)

好啦!可以启动服务啦!注意:记得先把SElinux先关掉,否则会出问题的哦~

#service heartbeat start  (可以查看下694端口启动否)

#ssh node2 ‘service heartbeat start‘ (在当前启动的节点去启动另一个节点)

这时你可以用ifconfig和ss  -tanl来查看下node1的web服务是否启动起来了

bubuko.com,布布扣

bubuko.com,布布扣现在试得访问下192.168.1.10吧!

bubuko.com,布布扣

访问到node1了,再让node1挂掉,#service heartbeat stop(或者设条iptables规则),再试试刷新页面:

bubuko.com,布布扣

ok啦!!!高可用性还是很明显的!可以再试的将node1启动:#service heartbeat start ,刷新页面,node1的界面就又回来了!O(∩_∩)O~


简单的高可用集群实验,布布扣,bubuko.com

简单的高可用集群实验

标签:高可用   实验   集群   实现   

原文地址:http://prisoner37.blog.51cto.com/8295570/1426969

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!