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源的配置

Luci+Ricci+Fence实现RHCS的高可用集群配置_第1张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第2张图片

 

2、进行ricci和luci的安装

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第3张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第4张图片

 

在server2上

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第5张图片

 

2、进行ricci软件的安装

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第6张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第7张图片

 

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

在server1上

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第8张图片

 

2、进行用户密码的设定

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第9张图片

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第10张图片

 

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

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

 

在server2上

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

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

 

2、进行用户密码的设定

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第11张图片

 

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

在server1上

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

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

 

在server2上

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第12张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第13张图片

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第14张图片

 

 

2、进行用户的登陆

Luci+Ricci+Fence实现RHCS的高可用集群配置_第15张图片

 

 

3、进行集群的创建

Luci+Ricci+Fence实现RHCS的高可用集群配置_第16张图片

 

4、进行集群节点的查看

Luci+Ricci+Fence实现RHCS的高可用集群配置_第17张图片

 

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

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

 

Luci+Ricci+Fence实现RHCS的高可用集群配置_第18张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第19张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第20张图片

 

五、进行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的配置文件

Luci+Ricci+Fence实现RHCS的高可用集群配置_第21张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第22张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第23张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第24张图片

 

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 [email protected]:/etc/cluster/
 scp fence_xvm.key [email protected]:/etc/cluster/

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第25张图片

 

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

在节点server1中添加fence

Luci+Ricci+Fence实现RHCS的高可用集群配置_第26张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第27张图片

 

在节点server2中添加fence

Luci+Ricci+Fence实现RHCS的高可用集群配置_第28张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第29张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第30张图片

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

优先级高)

Luci+Ricci+Fence实现RHCS的高可用集群配置_第31张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第32张图片

 

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第33张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第34张图片

 

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第35张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第36张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第37张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第38张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第39张图片

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第40张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第41张图片

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第42张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第43张图片

 

八、进行测试:

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将发生重启

Luci+Ricci+Fence实现RHCS的高可用集群配置_第44张图片

 

Luci+Ricci+Fence实现RHCS的高可用集群配置_第45张图片

 

九、进行存储设备的管理

开启虚拟机server3

1、进行共享硬盘的添加

Luci+Ricci+Fence实现RHCS的高可用集群配置_第46张图片

 

2、进行共享硬盘的查看

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第47张图片

 

3、进行软件的安装

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第48张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第49张图片

 

4、进行共享文件的配置

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第50张图片

 

5、进行共享设备的查看

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第51张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第52张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第53张图片

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第54张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第55张图片

 

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目录所有组和所有人

Luci+Ricci+Fence实现RHCS的高可用集群配置_第56张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第57张图片

 

Luci+Ricci+Fence实现RHCS的高可用集群配置_第58张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第59张图片

 

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         ###进行分区的格式化

Luci+Ricci+Fence实现RHCS的高可用集群配置_第60张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第61张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第62张图片

 

十一、进行集群的设定

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

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

优先级高)Luci+Ricci+Fence实现RHCS的高可用集群配置_第63张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第64张图片

 

3、进行资源的添加

Luci+Ricci+Fence实现RHCS的高可用集群配置_第65张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第66张图片

 

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第67张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第68张图片Luci+Ricci+Fence实现RHCS的高可用集群配置_第69张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第70张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第71张图片

 

5、进行集群状态的查看

Luci+Ricci+Fence实现RHCS的高可用集群配置_第72张图片

 

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第73张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第74张图片

 

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

1、gfs2文件系统

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第75张图片

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第76张图片Luci+Ricci+Fence实现RHCS的高可用集群配置_第77张图片

 

3、进行文件系统的扩容

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第78张图片

 

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  表示共享磁盘区域

 

Luci+Ricci+Fence实现RHCS的高可用集群配置_第79张图片

Luci+Ricci+Fence实现RHCS的高可用集群配置_第80张图片

 

5、进行磁盘接口的调用

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第81张图片

 

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

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第82张图片

 

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

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

 

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第83张图片

 

9、进行相关的测试

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第84张图片Luci+Ricci+Fence实现RHCS的高可用集群配置_第85张图片

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

Luci+Ricci+Fence实现RHCS的高可用集群配置_第86张图片

 

 

 

 

你可能感兴趣的:(Luci+Ricci+Fence实现RHCS的高可用集群配置)