RHCS套件+apache:实现高可用(HA添加集群、fence方法和apache服务)

实验准备:

首先rhel6.5的虚拟机server1和server2关闭防火墙。
第二步:server1和server2虚拟机配置yum源

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

[rhel-source]
name=Red
baseurl=http://172.25.55.250/wanggua1
gpgcheck=0

[HighAvailability]
name=HighAvailability
baseurl=http://172.25.55.250/wanggua1/HighAvailability
gpgcheck=0

[LoadBalancer]
name=LoadBalancer
baseurl=http://172.25.55.250/wanggua1/LoadBalancer
gpgcheck=0

[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.55.250/wanggua1/ResilientStorage
gpgcheck=0

[ScalableFileSystem]
name=Red
baseurl=http://172.25.55.250/wanggua1/ScalableFileSystem

[root@server2 ~]# yum clean all
[root@server2 ~]# yum repolist

实验步骤

第一步:安装所需软件 server1安装:(server1是高可用节点和管理节点)
[root@server1 ~]# yum install ricci luci -y
[root@server1 ~]# passwd ricci
[root@server1 ~]# /etc/init.d/ricci start         
[root@server1 ~]# chkconfig ricci on
[root@server1 ~]# /etc/init.d/luci start
[root@server1 ~]# chkconfig luci on

server2安装:(server2是高可用节点)

[root@server2 ~]# yum install ricci -y
[root@server2 ~]# passwd ricci
[root@server2 ~]# /etc/init.d/ricci start (开启服务)
[root@server2 ~]# chkconfig ricci on(设置开机自启)

查看server1开启的服务的端口号
在这里插入图片描述
第二步:网页上创建集群
访问网页:
在这里插入图片描述
点击左下角按钮
在这里插入图片描述
认证页面
在这里插入图片描述
点击create,创建一个集群
在这里插入图片描述
添加server1和server2虚拟机信息。
在这里插入图片描述
第四步:查看集群信息
在server1和server2上可查看到信息,集群创建成功。
在这里插入图片描述
在这里插入图片描述
此实验必须有域名解析

[root@server1 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.25.55.1	server1
172.25.55.2	server2
172.25.55.3	server3

fence服务

fence 防止系统卡掉,如果系统夯住,强制重启。
第一步:在网页为两个虚拟机添加fence方法。
在这里插入图片描述
为server1和server2虚拟机,分别添加fence服务。
在这里插入图片描述为server1和server2添加fence方法。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看server1和server2的UUID
在这里插入图片描述
填写在Domain。
在这里插入图片描述
第二步:在真机上下载软件

[root@foundation55 ~]# yum install -y fence-virtd.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-multicast.x86_64
[root@foundation55 ~]# fence_virtd -c(除了br0,其他都回车)
	Interface [virbr0]: br0
[root@foundation55 ~]# mkdir /etc/cluster/(创建目录)
[root@foundation55 ~]# cd /etc/cluster/
[root@foundation55 cluster]# dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1(截取数据)
[root@foundation55 cluster]# ls
	fence_xvm.key
[root@foundation55 cluster]# hexdump -C fence_xvm.key 	(可查看截取的数据)
传给server1和server2虚拟机。
[root@foundation55 cluster]# scp fence_xvm.key [email protected]:/etc/cluster	
[root@foundation55 cluster]# scp fence_xvm.key [email protected]:/etc/cluster
[root@foundation55 cluster]# systemctl start fence_virtd.service (真机重启fence服务)

测试

[root@server1 ~]# fence_node server2
fence server2 success

server2虚拟机重新启动。

添加故障转移

在Failover Donmains栏目中,为集群添加故障转移。

图中的Prlorlty 优先级数字越小级别越高。
选项No Failback通常是要勾选的,勾选后,当server1发生故障后转移到server2,等server1恢复后不会再将服务回到server1上,提高了服务稳定性。此实验为了效果更明显,没有勾选此项,等出现故障的服务器恢复后,服务又会回到原本的服务器上。
在这里插入图片描述

在资源栏目中为集群添加资源

添加虚拟ip.
最后一行是虚拟ip所在服务端出故障后,5s后发生漂移。
在这里插入图片描述
添加启动httpd的脚本
在这里插入图片描述

为集群添加服务群

下图的Run Exclusive代表运行独占。勾选后不能通过命令将apache服务自如切换与两个服务端之间(见文末)。将之前写要的服务都加进去(ip和脚本)。
在这里插入图片描述
在这里插入图片描述
添加成功后的页面,等待片刻,此时apache服务开启在server2上。
在这里插入图片描述
server1和server2都安装httpd,并编写网页。

[root@server2 ~]# yum install -y httpd
[root@server1 ~]# yum install -y httpd
	
[root@server2 ~]# cd /var/www/html/
[root@server2 html]# vim index.html
[root@server2 html]# cat index.html
server2

测试

[root@server2 html]# clustat
Cluster Status for westos_ha @ Fri Feb 15 21:50:30 2019
Member Status: Quorate

 Member Name                         ID   Status
 ------ ----                         ---- ------
 server1                                 1 Online, rgmanager
 server2                                 2 Online, Local, rgmanager

 Service Name               Owner (Last)               State         
 ------- ----               ----- ------               -----         
 service:apache             server2                    started    

查看ip,虚拟ip在server2上,因为之前两个服务端的优先级设定,server2优先级高。
在这里插入图片描述

查看此时server2的httpd服务的状态是开启的,这是脚本的作用
[root@server2 html]# service httpd status
httpd (pid  5916) is running...
访问虚拟ip,访问到的网页是server2的网页。
[root@foundation55 cluster]# curl 172.25.55.100
server2

当server2服务端出现故障:
在这里插入图片描述
此时虚拟ip漂移到了server1服务端。
在这里插入图片描述
此时访问虚拟ip,得到的网页是server1的。

[root@foundation55 cluster]# curl 172.25.55.100
server1
[root@server1 html]# clustat(查看集群状态)
Cluster Status for westos_ha @ Fri Feb 15 21:53:56 2019
Member Status: Quorate

 Member Name                               ID   Status
 ------ ----                               ---- ------
 server1                                       1 Online, Local, rgmanager
 server2                                       2 Online, rgmanager

 Service Name                     Owner (Last)                     State         
 ------- ----                     ----- ------                     -----         
 service:apache                   server1                          started   (此时apache服务在server1上开启)

server虚拟机恢复后:

[root@foundation55 cluster]# curl 172.25.55.100(服务回到了优先级高的server2服务端)
server2

Run Exclusive的作用

勾选Run Exclusive后,不能通过命令将服务转到别的服务端。
[root@server2 ~]# clusvcadm -r apache -m server1
Trying to relocate service:apache to server1...Operation violates dependency rule

去掉勾选
在这里插入图片描述

执行命令,成功将服务转移到server1服务端。

[root@server2 ~]# clusvcadm -r apache -m server1

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43328213/article/details/87394264
今日推荐