RHCS 实现高可用 HA(二)

续上一篇文章

配置共享存储

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

一.环境配置

1. 打开server3,添加一块磁盘用来共享:
在这里插入图片描述
2.配置server3(服务)端

[root@server3 ~]# yum install -y scsi-*   安装服务端软件
[root@server3 ~]# vim /etc/tgt/targets.conf
 38 <target iqn.2019-02.com.example:server.target1>
 39     backing-store /dev/vdb    共享刚才添加的设备
 40 </target>
[root@server3 ~]# /etc/init.d/tgtd start    ##开启服务后共享成功
[root@server3 ~]# ps ax   ##tgtd只能有这两个进程
 1048 ?        Ssl    0:00 tgtd
 1051 ?        S      0:00 tgtd

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

[root@server1 cluster]# yum install -y iscsi-*   安装客户端软件
[root@server1 cluster]# iscsiadm -m discovery -t st -p 172.25.5.3  发现共享设备
[root@server1 cluster]# iscsiadm -m node -l       连接共享设备
[root@server1 cluster]# fdisk -l
Disk /dev/sdb: 8589 MB, 8589934592 bytes
64 heads, 32 sectors/track, 8192 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

server2:

[root@server2 ~]# yum install -y iscsi-*
[root@server2 ~]# iscsiadm -m discovery -t st -p 172.25.5.3
[root@server2 ~]# iscsiadm -m node -l

4.给server1,server2配置mysql服务
server1:

[root@server1 cluster]# yum install -y mysql-server  下载mysql服务端
[root@server1 cluster]# mkfs.ext4 /dev/sda               格式花共享磁盘
[root@server1 cluster]# mount /dev/sda /var/lib/mysql/    挂载到mysql目录下
[root@server1 cluster]# df
/dev/sdb                       8256952  149492   7688032   2% /var/lib/mysql
[root@server1 cluster]# ll -d /var/lib/mysql/
drwxr-xr-x 3 root root 4096 Feb 15 16:32 /var/lib/mysql/
[root@server1 cluster]# chown mysql.mysql /var/lib/mysql/   修改mysql目录的所有人和所以组
[root@server1 cluster]# ll -d /var/lib/mysql/                
drwxr-xr-x 3 mysql mysql 4096 Feb 15 16:32 /var/lib/mysql/
[root@server1 cluster]# /etc/init.d/mysqld start          
[root@server1 cluster]# /etc/init.d/mysqld stop 
[root@server1 cluster]# umount /var/lib/mysql/    卸载掉

server2:

[root@server2 ~]# yum install -y mysql-server

二.将文件系统共享添加再RHCS管理中(mysql服务):

1、首先在两台服务器上把刚刚开启的httpd服务关闭
在这里插入图片描述
2.在网页上配置,和上一篇httpd的配置相似

在这里插入图片描述

Add IP Address

在这里插入图片描述

Add Filesystem /Device是刚刚共享的磁盘

在这里插入图片描述

add Script

在这里插入图片描述

扫描二维码关注公众号,回复: 5257249 查看本文章

点击Service Groups,删除原来的添加,重新配置,这次的添加顺序是IPAddress —-> Filesystem —-> Script(因为服务开启的顺序就是先分配VIP,然后开启存储,然后再是服务)

在这里插入图片描述
在这里插入图片描述

测试

mysq服务在server2上运行,并却共享磁盘也已经挂在到/var/lib/mysql
在这里插入图片描述
在这里插入图片描述

三.gfs2文件系统

上面我们用的是ext4文件系统进行格式化,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文件系统

1.将两台服务器的mysql,apache服务停掉:clsvcadm -d apache,mysql
在这里插入图片描述
2.在server1用共享磁盘建立一个lvm分区:

[root@server1 ~]# /etc/init.d/clvmd status   保证clvmd服务开启,要开启才可能同步,还需要软件lvm2-cluster的支持,这些在最开始选择Download都自动下载好了 
clvmd (pid  1540) is running...
Clustered Volume Groups: (none)
Active clustered Logical Volumes: (none)
[root@server1 ~]# pvcreate /dev/sda 
[root@server1 ~]# vgcreate clustervg /dev/sda 
[root@server1 ~]# pvs
  PV         VG        Fmt  Attr PSize  PFree
  /dev/sda   clustervg lvm2 a--   8.00g 8.00g
  /dev/vda2  VolGroup  lvm2 a--  19.51g    0 
[root@server1 ~]# lvcreate -L 4G -n demo clustervg
[root@server1 ~]# lvs
  LV      VG        Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root VolGroup  -wi-ao---- 17.54g                                             
  lv_swap VolGroup  -wi-ao----  1.97g                                             
  demo    clustervg -wi-a-----  4.00g                         

3.格式化lvm分区,并进行配置
server1:

[root@server1 ~]# mkfs.gfs2 -p lock_dlm -j 2 -t westos_ha:mygfs2 /dev/clustervg/demo 
//-j 节点数+1 用来作冗余
lock_dlm 是文件系统使用的锁定协议,因为这是一个集群的文件系统
帮助 :mkfs.gfs2 -h 可以查看帮助,也可以 man mkfs.gfs2
[root@server1 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@server1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 2 root root 3864 Feb 16 10:54 /var/lib/mysql/
[root@server1 ~]# chown mysql.mysql /var/lib/mysql/
[root@server1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 2 mysql mysql 3864 Feb 16 10:54 /var/lib/mysql/

几个查看gfs2信息的命令
gfs2_tool sb /dev/clustervg/demo all //查看gfs2的信息
gfs2_tool journals /dev/clustervg/demo //查看gfs2的日至信息
gfs2_jadd -j 3 /dev/clustervg/demo //生成3个日至

4.server2挂在共享磁盘,当server1开启mysql服务时,server2下的/var/lib/mysql下自动产生了相应的文件,实现了同步
server2:

[root@server2 ~]# mount /dev/clustervg/demo /var/lib/mysql/

server1:

[root@server1 mysql]# /etc/init.d/mysqld start
[root@server1 mysql]# ll
total 20560
-rw-rw---- 1 mysql mysql 10485760 Feb 16 11:03 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb 16 11:04 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Feb 16 10:58 ib_logfile1
drwx------ 2 mysql mysql     2048 Feb 16 10:58 mysql
srwxrwxrwx 1 mysql mysql        0 Feb 16 11:04 mysql.sock
drwx------ 2 mysql mysql     3864 Feb 16 10:58 test

server2(同步了):

[root@server2 ~]# cd /var/lib/mysql/
[root@server2 mysql]# ll
total 20560
-rw-rw---- 1 mysql mysql 10485760 Feb 16 11:03 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb 16 11:04 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Feb 16 10:58 ib_logfile1
drwx------ 2 mysql mysql     2048 Feb 16 10:58 mysql
srwxrwxrwx 1 mysql mysql        0 Feb 16 11:04 mysql.sock
drwx------ 2 mysql mysql     3864 Feb 16 10:58 test

4.在luci上添加gfs2文件系统

在这里插入图片描述

5.设置开启自动挂载:

##删除网页的文件系统,需手动配置,因为网页上的gfs2只能给一台server挂载
server1:

[root@server1 mysql]# blkid   查看lvm的UUID
/dev/mapper/clustervg-demo: LABEL="westos_ha:mygfs2" UUID="44ff85d9-05a2-617b-8cc0-54f2532d0701" TYPE="gfs2" 
[root@server1 mysql]# vim /etc/fstab  编辑/etc/fstab文件
UUID="44ff85d9-05a2-617b-8cc0-54f2532d0701"     /var/lib/mysql  gfs2 _netdev 0 0
//这里因为开机时,先启动的时配置文件存储肯定在服务之前,而ricci还未开启,所以无法挂载在集群,所以添加_netdev
//这里的UUID是用命令 blkid 中自己添加的分区的UUID
[root@server1 lib]# umount /var/lib/mysql/    验证配置是否可行
[root@server1 lib]# mount -a
[root@server1 lib]# df
Filesystem                   1K-blocks    Used Available Use% Mounted on
/dev/mapper/VolGroup-lv_root  18102140 1155328  16027260   7% /
tmpfs                           251124   31816    219308  13% /dev/shm
/dev/vda1                       495844   33463    436781   8% /boot
/dev/mapper/clustervg-demo     4193856  286512   3907344   7% /var/lib/mysql

serevr2

[root@server2 mysql]# vim /etc/fstab 
UUID="44ff85d9-05a2-617b-8cc0-54f2532d0701"     /var/lib/mysql  gfs2 _netdev 0 0

6.验证同步:

server2复制/etc/passwd到/var/lib/mysl下

[root@server2 mysql]# cp /etc/passwd .
[root@server2 mysql]# ll
total 20564
-rw-rw---- 1 mysql mysql 10485760 Feb 16 11:38 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb 16 11:40 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Feb 16 10:58 ib_logfile1
drwx------ 2 mysql mysql     2048 Feb 16 10:58 mysql
srwxrwxrwx 1 mysql mysql        0 Feb 16 11:40 mysql.sock
-rw-r--r-- 1 root  root      1254 Feb 16 11:41 passwd
drwx------ 2 mysql mysql     3864 Feb 16 10:58 test

server1同步了:

[root@server1 mysql]# ll
total 20564
-rw-rw---- 1 mysql mysql 10485760 Feb 16 11:38 ibdata1
-rw-rw---- 1 mysql mysql  5242880 Feb 16 11:40 ib_logfile0
-rw-rw---- 1 mysql mysql  5242880 Feb 16 10:58 ib_logfile1
drwx------ 2 mysql mysql     2048 Feb 16 10:58 mysql
srwxrwxrwx 1 mysql mysql        0 Feb 16 11:40 mysql.sock
-rw-r--r-- 1 root  root      1254 Feb 16 11:41 passwd
drwx------ 2 mysql mysql     3864 Feb 16 10:58 test

7.完整删除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  ##重启服务器,系统还原为原来的纯净状态

猜你喜欢

转载自blog.csdn.net/weixin_43407305/article/details/87536566