linux 自带高可用的集群

 

1.集群的简介:

集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。

如果一个事情是由多个人去完成,则有着和集群类似的地方。大家共同承担着压力,如果有的人临时请假,其他的可以分担他的任务,事情不会因此耽搁。并且当他忙完自己的事情依然会分给他新的任务,不会因此断了节奏。而集群就是在模拟的做这样的事情,事实上大部分的公司也都是用集群在向用户提供服务。无论是apache还是nginx。我们总不希望自己在浏览网页的时候突然not found吧。那么你需要了解集群。这种调度方法和思想对于我们做任何事情都是非常有益的。

2.集群的框架图:

这里要强调集群的一些特性:

心跳监测: 各个集群之间互相连接起来,当服务出现问题后,他们断开链接,但都认为是对方出了故障。

我们今天搭建一个高可用的集群:

1.实验环境redhat6.5

主机:一共使用三个节点,一个主控制节点和两个负载节点

vm1    192.168.1.120    主控制节点

vm2    192.168.1.121    负载节点

vm3    192.168.1.122    负载节点



注意:这个高可用集群是redhat公司的软件,无第三方公司软件,所以如果你的机子上有本地yum源的话,那一定可以做出来。

2.集群搭建步骤

1)我们的虚拟机可以采用快照来制作(节省资源)。

对于这三个节点我们有一下几个地方需要注意:

·         1.三者的防火墙关闭;

·         2.三个节点互相作解析(编辑/etc/hosts);

·         3.控制节点的selinux关闭;

·         4.要准确配置yum源;

·         5.时间一定要同步,否则在加密或认证的过程中发生错误;

以上的问题我们一个一个来解决。



首先在主控制节点上设置:

[root@vm1 ~]# vim /etc/yum.repos.d/rhel-source.repo

点击(此处)折叠或打开

1.  [rhel-source]

2.  name=Red Hat Enterprise Linux

3.  baseurl=file:///media

4.  enabled=1

5.  gpgcheck=0

6.  

[root@vm1 ~]# yum clean all

Loaded plugins: product-id, subscription-manager 
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register. 
Cleaning repos: HighAvailability LoadBalancer ResilientStorage 
              : ScalableFileSystem rhel-source 

Cleaning up Everything



yum源配置文件复制到两台 

[root@vm1 ~]# scp /etc/yum.repos.d/rhel-source.repo 192.168.1.121:/etc/yum.repos.d/

[root@vm1 ~]# scp /etc/yum.repos.d/rhel-source.repo 192.168.1.122:/etc/yum.repos.d/ 

然后在三个节点上都执行:yum clean all 

vim /etc/hosts        #在三个节点上都添加相应主机的解析 

1.  192.168.1.120 vm1.example.com

2.  192.168.1.121 vm2.example.com

3.  192.168.1.122 vm3.example.com

接下来在控制节点上安装luci软件,这个是集群的控制软件: 

[root@vm1 ~]# yum install luci -y 

然后启动服务:

[root@vm1 ~]# chkconfig luci on 

负载节点上安装ricci软件: 

[root@vm2 ~]# yum install ricci -y 

[root@vm3 ~]# yum install ricci -y 

然后给两台负载节点的ricci用户设置密码并启动服务 

[root@vm3 ~]# chkconfig ricci on        #并设置开机自启动 

然后在浏览器中输入:https://vm1.example.com:8084 

登录用户名为root,密码为控制节点的root密码 

然后点击create创建集群: 

选择Download Packages             自动从yum源中下载集群套件, 如果有新的包会更新

选择Use Locally Installed Packages          检查是否已经安装,有新的话不更新

这个添加的过程比较漫长,两个负载节点会安装cmanrgmanagermodclusterdclvmd服务,并且服务安装完成后还会重启。

出现下面的图说明两个负载节点已经被加入到集群中了: 

使用fence,在一台机子出问题时,如果只有两个节点的话,我们无法判断谁出问题,所以,我们这里使用了一个仲裁,可以用fence判断。 

在控制节点vm1上安装fence 

[root@vm1 ~]# yum install fence-virtd.x86_64 fence-virtd-checkpoint.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64 -y 

[root@vm1 ~]# fence_virtd -c        #在设置的时候用的那个网卡就设置为那个网卡 

[root@vm1 ~]# mkdir /etc/cluster        #这个目录原来是没有的需要手动创建

[root@vm1 ~]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1         #生成电源key 

[root@vm1 ~]# scp /etc/cluster/fence_xvm.key 192.168.1.121:/etc/cluster/ 

[root@vm1 ~]# scp /etc/cluster/fence_xvm.key 192.168.1.122:/etc/cluster/ 

[root@vm1 ~]# chkconfig fence_virtd on 

[root@vm1 ~]# /etc/init.d/fence_virtd start 

[root@vm1 ~]# netstat -anulp |grep fence                               #启动成功 

udp        0      0 0.0.0.0:1229                0.0.0.0:*                               26723/fence_virtd   

下面步骤是在真机上完成的,因为虚拟机上没有电源管理这个软件,这里我们不做配置,因为我们用的是三台虚拟机,如果要做fence可以按照下面的步骤完成,这里我们只能手工代替:

选择添加

  

直接默认添加   

 

   

domain 为虚拟机的名字   

   

就是这里的名字   

之后就可以测试了,在一台虚拟机中输入这个命令   

fence_xvm -H jiqun2 -o reboot   

告诉fence主机jiqun2出现问题,需要重启,然后fence主机会自动给jiqun2断电,并且启动

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30218854/viewspace-1591556/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/30218854/viewspace-1591556/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值