RHCS 实现高可用 HA(二)

本篇继续讲解RHCS实现高可用中的存储共享


配置共享存储

生产环境中,多使用光纤或是交换机设备连接共享存储与集群,在此实验中,使用ISCSI。

一、环境配置:

打开server3,添加一块磁盘用来共享:


//成功后可以fdisk -l查看

配置server3(服务)端:

安装scsi-target(服务端软件)

//完成后修改配置文件 /etc/tgt/targets.conf'
<target iqn.2017-09.com.example:server.target1>
    backing-store /dev/vdb
    initiator-address 172.25.32.1
    initiator-address 172.25.32.4
</target>

重新启动启动tgtd服务

tgt-admin -s  //查看tgt的信息
......
Backing store path: /dev/vdb   //里面有这个才是共享出去
ACL information:
        172.25.32.1
        172.25.32.4   //这里是指定可以用的ip,文件没写就是ALL

配置iscsi客户端(server1,server4):

安装iscsi
执行如下命令访问共享磁盘:

fdisk -l 出现以下信息为成功:

fdisk -cu /dev/sda创建一个类型为lvm逻辑卷的磁盘

然后就是对iscsi共享lvm逻辑卷的基本测试,包括挂载,扩容,这里因为基础篇都讲过,略过


两个需要注意的点:

*1、首先我们用的是ext4文件系统进行格式化,ext4是本地文件系统,所以存储的同步的文件显示需要另一台进行卸载再挂载的操作


*2、保证clvmd服务开启,要开启才可能同步,还需要软件lvm2-cluster的支持,这些在最开始选择Download都自动下载好了

此时查看文件 /etc/lvm/lvm.conf

//这里3的含义就是在集群中使用的


二、将文件系统共享添加再RHCS管理中:

  • 1、首先在两台服务器上把刚刚开启的httpd服务关闭
clusvcadm -d apache  //停掉apache
clusvcadm -e apache  //开启apache
  • 2、点击Resources,选择filesystem,添加相应的信息

    //Device是刚刚创建的lvm
  • 3、点击Service Groups,删除原来的添加,重新配置,这次的添加顺序是IP
    Address —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务

*测试

重新开启一台的httpd服务,可以 df 发现刚刚选择的挂载目录/var/www/html 已经挂载,成功

并且如果刚刚在共享的磁盘中写入一个index.html文件,那么这时就直接访问的是存储中的网页文件,因为挂载在了httpd的默认发布页面,文件系统也只会看到这个文件并去读取


三、gfs2文件系统

  • 刚刚因为说道ext4文件系统是本地的,而且需要另一台挂载卸载才能生效,所以一般都会使用集群化文件系统gfs2

1、首先介绍一下gfs2文件系统

gfs2(global file system 2):集群文件系统,可以让多个节点同时使用同一个文件系统,当一个节点使用时会借助DLM机制通过lock_dlm进行加锁,并通知给其他节点持有的锁信息

GFS是RHCS为集群系统提供的一个存储解决方案,它允许集群多个节点在块级别上共享存储,每个节点通过共享一个存储空间,保证了访问数据的一致性,更切实的说,GFS是RHCS提供的一个集群文件系统,多个节点同时挂载一个文件系统分区,而文件系统数据不受破坏,这是单一的文件系统,例如EXT3、 EXT2所不能做到的。

2、操作方式

为了实现多个节点对于一个文件系统同时读写操作,GFS使用锁管理器来管理I/O操作,当一个写进程操作一个文件时,这个文件就被锁定,此时不允许其它进 程进行读写操作,直到这个写进程正常完成才释放锁,只有当锁被释放后,其它读写进程才能对这个文件进行操作,另外,当一个节点在GFS文件系统上修改数据 后,这种修改操作会通过RHCS底层通
信机制立即在其它节点上可见。

双组模式 , 立刻同步,相当于同时写入,所以比主备的使用率高,两边都在用

3、配置gfs2文件系统

软件支持:gfs2-utils.x86_64

  • 1、将两台服务器的httpd服务停掉:clsvcadm -d apache

  • 2、进入luci,点击Resources,将刚刚创建的webdata删除

  • 3、下面点击Add,添加Gfs2的服务

4、Service Groups中顺序添加

这里,因为方式之前已经讲过,所以这里我们用另外一种方式,就是在两台服务器上面手动命令行添加。
文本方式添加

4、命令行手动添加GFS2文件系统

在搭建RHCS集群时,GFS一般作为共享存储,运行在每个节点上,并且可以通过RHCS管理工具对GFS进行配置和管理。

  • 下面都是在server1,server4中执行,两台的操作相同

1、将webdata服务删除后,执行命令

//-j 节点数+1 用来作冗余

帮助 :mkfs.gfs2 -h 可以查看帮助,也可以 man mkfs.gfs2

2、设置开启自动挂载:
编辑文件/etc/fstab

//这里因为开机时,先启动的时配置文件存储肯定在服务之前,而ricci还未开启,所以无法挂载在集群,所以添加_netdev
//这里的UUID是用命令 blkid 中自己添加的分区的UUID

3、几个查看gfs2信息的命令

gfs2_tool sb /dev/clustervg/demo all //查看gfs2的信息

gfs2_tool journals /dev/clustervg/demo //查看gfs2的日至信息


//这三个是基本的,也就是df可以查看到的初始大小

gfs2_jadd -j 3 /dev/clustervg/demo //生成3个日至


//这时df大小就是重新日志总和了

这里顺便提一下du和df查看文件大小的不同
du : 统计的是文件系统里面的,是在用户程序
df : 统计的是磁盘块,可以统计源数据,从超级块直接读取

4、测试
配置好之后,开启一台的apache,发现就自动挂载上了,并且,这时的操作就是,类似于httpd服务了,在那一台上使用,就可以直接把服务手动飘过去,然后在另一台上就直接实现同步并且可以访问了
同样的,这里仍然可以实现之前的fence故障转移的功能。
这里和之前的操作相同,就不再演示


四、RHCS的完整删除

 - clusvcadm -d mysql_db ##如果有数据库,需要先停掉数据库
 - umount 删除/etc/fstab ##卸载,删除开机自启
 - lvremove vgremove pvremove ##将LVM删除
 - stop iscsi ,iscsiadm -m node -o delete  ##将共享删除,delete 会删除cluster.conf 文件
 - chkconfig iscsi off   ##将iscsi设置开机不自启
 - /etc/init.d/tgtd stop chkconfig  ##将scsi设置为开机不自启
 - 在luci上:
     - 先离开节点,点击"leave cluster" ,    可通过/etc/init.d/cman status查看状态
     - 然后删除集群
 - chkconfig  ricci modclusterd stop & off ##将服务设置开机不自启
 - reboot  ##重启服务器,系统还原为原来的纯净状态
发布了55 篇原创文章 · 获赞 38 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/mon_star/article/details/78126240