Luci+Ricci+Fence实现RHCS的高可用集群配置

前言:RHCS高可用集群配置(Luci+Ricci+fence)

           RHCS是 Red Hat Cluster  Suite 的缩写,也就是红帽

集群套件,RHCS是一个提供该可用、高可靠性、负载均衡、

存储共享且经济廉价的集群工具集合,他将集群系统中三大

集群结构融合为一体,可以给web应用。数据库应用提供安

全稳定的运行环境,更确切的来说,RHCS是一个功能完备

的集群应用解决方案,它从应用的前端访问到被后的数据库

进行存储提供了一个行之有效的集群架构实现,通过RHCS

提供这种解决方案,不但可以保证前端应用持久,稳定的提

供服务,同时也保证了后端数据存储的安全。RHCS提供了

集群系统中三中集群架构,分别为高可用集群。负载均衡集

群,存储集群,

 

RHCS提供的三个核心功能

   高可用集群是RHCS的核心功能。当应用程序出现故障或者系统

硬件、网络出现故障时,应用可以通过RHCS提供的高可用性服务

管理组建自动、快速的从一个节点切换到另一个节点,节点故障移

除的功能对客户来说是透明的,从而保证应用的持续,不同时对外

提供服务,这就是RHCS的高可用集群实现功能。

 

RHCS透过LVS(Linux Virtual Server)来提供负载均衡集群。而LVS

是一个开源的,功能强大的基于IP的负载均衡技术。LVS是由负载均

衡调度器和服务访问的节点组成,通过LVS实现负载均衡的功能,可

以将用户端的请求平均分配到服务节点,同时,还可应定义多种负载

均衡策略,当一个请求进来时,集群系统根据调度算法来判断应该将

请求分配到那个服务节点上,然后,有分配到节点相应客户端的请求,

同时LVS还具备服务节点故障移除功能,也就是当某个节点服务器不

能提供服务时,LVS会自动屏蔽这个故障节点。接着将失败节点从集

群中进行剔除,同时将新来此节点的请求平滑的转移到其他正常的节

点服务结点上来,而当此故障节点恢复正常之后。LVS又会将此节点

加入到集群中去,而这一系列的切换动作对用户来说是透明的。通过

故障移除功能,保证服务的不间断、稳定运行。

 

RHCS通过GFS文件系统来提供存储集群功能,GFS是Golbal File Sye

tem的缩写,它允许多个服务同时去读写一个单一的共享文件系统,存

储集群通过将共享数据放到一个共享文件系统中从而消除了在应用程序

间同步数据的麻烦,GFS是一个分布式文件系统,它通过锁管理机制。

来协调和管理多个服务节点对同一个文件系统的读写操作。

 

RHCS集群的组成

RHCS是一个集群工具的集合,主要有下面几大部分组成,具体包括分布

式集群管理i器、成员管理器、锁管理、配置文件管理、栅设备。

 

正文:THCS集群的配置

实验环境主机配置即功能:

server1:   IP : 172.25.68.1 安装ricci(集群节点) 和luci(集群管理界面)

server2:   IP:172.25.68.2 安装ricci(集群节点)

fence主机: 双IP

 

一、在server1和server2上进行相关软件的安装

在server1上

1、进行yum源的配置(这里使用的是RHEL6.5的镜像)

vim /etc/yum.repo.d/rhel-source.repo  ###进行yum源的配置

 

2、进行ricci和luci的安装

yum install -y ricci luci       ###进行软件的安装

 

在server2上

1、配置与server1相同的yum源头(可以从server1上进行拷贝)

scp /etc/yum.repo.d/rhel-source.repo  server1:/etc/yum.repo.d/rhel-source.repo  
                                                            ###进行yum源的配置

 

2、进行ricci软件的安装

yum isntall ricci  -y            ###进行软件的安装

 

二、设定服务的开机自启动和ricci用户密码的设定

在server1上

1、进行服务的开机自启和服务的启动

/etc/init.d/luci   start        ###进行服务的启动
/etc/init.d/ricci  start        ###进行服务的启动

 

2、进行用户密码的设定

1)ricci是以用户的身份实现管理的

 

2)进行用户ricci密码的设定

passwd  ricci        ###进行用户密码的设定

 

3、进行服务自启动的设定

chkconfig  ricci on           ###进行服务的自启动设定
chkconfig  luci  on           ###进行服务的自启动设定

 

在server2上

1、进行服务的自启动设定和服务的开启

/etc/init.d/ricci  start        ###进行服务的启动

 

2、进行用户密码的设定

passwd  ricci                   ###进行用户密码的设定
chkconfig  ricci  on            ###进行开机自启设定

 

三、在server1和server2上进行httpd软件的安装和进行默认发布文件的编辑

在server1上

yum install httpd -y          ###进行httpd软件的安装

进行默认发布文件的编辑:

 

在server2上

yum install httpd -y          ###进行httpd软件的安装

进行默认发布文件的编辑:

 

四、使用浏览器进行访问实现节点的管理

1、使用浏览器进行节点的管理(访问https://172.25.68.1:8084)

 

 

2、进行用户的登陆

 

 

3、进行集群的创建

 

4、进行集群节点的查看

 

5、在server1和server2上进行集群状态的查看

clustat                             ###查看集群的状态
car /etc/cluster/cluster.conf       ###查看集群管理的信息

 

 

五、进行fence的添加

在真机中

1、进行fence相关软件的安装

yum search fence (进行fence包的查询)
yum install -y fence-virtd-multicast.x86_64 
yum install -y fence-virtd-libvirt.x86_64 
yum install -y fence-virtd.x86_64 
systemctl start fence-virtd              ###进行服务的开启
systemctl enabled fence-virtd            ###设定服务的开机自启

 

2、配置fence的配置文件

fence_virtd -c         ###生成fence的配置文件

 

2、进行密钥的生成和配置文件的建立

mkdir /etc/cluster       ###进行配置文件目录的生成
dd if=/dev/urandom of/fence_xvm.key bs=128 count=1   ###截取密码文件

 

3、将生成的密钥fence_xvm.key发送给server1和server2

 scp fence_xvm.key root@172.25.68.1:/etc/cluster/
 scp fence_xvm.key root@172.25.68.2:/etc/cluster/

 

六、在luci web中进行fence设备的添加

1、进行fence设备的添加(名字自起)

 

2、在节点server1和节点server2中加入fence管理

在节点server1中添加fence

 

在节点server2中添加fence

3、建立错误恢复域,当一个节点出现问题时,可以切换到另一个节点(设定server1

优先级高)

 

 

七、进行要用的资源的添加(这里我们实现对httpd的管理)和服务组的添加

1、添加要用的资源VIP和script

 

2、服务组的添加和将资源添加到服务组

3、完成启动资源组,我们可以看到当前运行的状态(我们设置的server1

的优先级相对高,并且开启了服务自启功能)

 

4、使用命令clustat查看服务在节点上运行的状态

clustat          ###查看节点的运行状态

 

八、进行测试:

1、在真机上:curl 172.25.68.100

 

2、当server1  httpd关闭之后进行测试:

/etc/init.d/httpd stop     ###关闭server1中的httpd
curl 172.25.68.100         ###进行测试

 

3、在server2上进行模拟server2死机

echo c > /proc/sysry-trigger    ###模拟内核崩溃

server2将发生重启

 

 

九、进行存储设备的管理

开启虚拟机server3

1、进行共享硬盘的添加

 

2、进行共享硬盘的查看

fdisk -l       ###进行硬盘信息的查看

 

3、进行软件的安装

yum install scsi-*           ###进行软件的安装

 

4、进行共享文件的配置

vim /etc/tgt/targets.conf            ###进行配置文件的编辑
/etc/init.d/tgtd start               ###进行服务的启动

 

5、进行共享设备的查看

tgt-admin -s           ###进行共享硬盘的查看

 

6、在server1和server2上进行共享设备的安装

yim install iscsi-*               ###进行共享设备软件的安装

 

7、在server1和server2上进行共享设备的发现与挂载

iscsiadm  -m discovery -t st -p 172.25.68.3         ###进行共享设备的发现
iscsiadm -m node -l    ###进行共享设备的挂载

 

 

十、进行mysql的安装和配置

1、进行mysql软件的安装

yum install   -y mysql-server           ###进行mysqle软件的安装
chown mysql.mysql   /var/lib/mysql      ###进行mysql目录所有组和所有人

 

 

2、在server1上制作LVM分区,在server2中同步

pvcreate /dev/sdb
vgcreate cluster_vg    /dev/sdb
lvcreate -L +4G -n demo  cluster_vg
mkfs.ext4 /dev/cluster_vg/demo         ###进行分区的格式化

 

十一、进行集群的设定

1、将server1和server2中的httpd进行关闭(在浏览器上使httpd处于disabled状态)

2、建立错误恢复域,当一个节点出现问题时,可以切换到另一个节点(设定server1

优先级高)

 

3、进行资源的添加

 

4、进行服务组组的建立和将资源添加到组中

 

5、进行集群状态的查看

 

6、在server1和server2中进行集群情况的查看

 

十二、设置共享磁盘为gfs2格式

1、gfs2文件系统

gfs2:集群文件系统,可以让多个节点同时使用一个文件系统,当一个节点
使用时会借助DLM机制通过lock_dim进行加锁,并且通知其他节点持有的假
锁信息。
GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群在块级别上共享
存储,每个节点通过共享一个存储空间,保证了访问数据的一致性。更确切的
说,GFS是RHCS提供的一个集群文件系统,多个节点共同挂载在一个文件系统
分区,二文件系统数据不受徘徊。这是单一的文件系统,例如EXT3,和EXT3
所不能做到的。
ext4文件系统是本地的文件系统,不能同时在多个地方挂载和进行读写操作,容易
造成数据丢失和污染,为了解决这个问题,提出了共享文件系统gfs2

2、在server1上进行lvm的热拉伸

lvextend -L +1023 /dev/cluster_vg/demo
resize2fs   /dev/cluster+vg/demo

 

3、进行文件系统的扩容

resize2fs  /dev/cluster_vg/demo       ###进行文件见系统的扩容

 

4、修改lvm文件系统为集群g2fs文件系统

clustat    ###进行集群状态的查看
 mkfs.gfs2 -t westos_ha:mygfs2 -p lock_dlm -j 2 /dev/cluster_vg/demo 
                                ###-j 2 为文件系统中日志的数量加一;
                                ###-p lock_dlm 表示对共享存储进行操作加锁
                                ###-t westos_ha:myqfs2表示集群名称和文件系统名称
                                ###/dev/cluster_vg/demo  表示共享磁盘区域

 

 

5、进行磁盘接口的调用

gfs2_tool sb /dev/cluster_vg/demo             ###进行接口的调用

 

6、进行将磁盘挂载在mysql上

mount /dev/clsuter_vg/demo    /var/lib/mysql    ###进行设备的挂载
df               ###进行挂载情况的查看
/etc/init.d/mysqld        ###进行服务的启动

 

7、进行mysql目录所有人和所有组的改变

chown mysql.mysql    /var/lib/mysql      ###进行mysql目录所有人和所有组的修改

 

8、在server2上进行数据库的挂载

 

9、进行相关的测试

在server2上将/etc/passed 拷贝到/var/lib/mysql下

在server1 /var/lib/mysql进行文件的查看

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值