一、实验环境
主机名 | IP | 服务 |
---|---|---|
server1 | 172.25.75.1 | ricci 、luci、iscsi、mysql-server |
server2 | 172.25.75.2 | ricci、iscsi、mysql-server |
server3 | 172.24.75.3 | scsi |
foundation75 | 172.25.75.250 | fence |
二、 RHCS 高可用集群下的 ISCSI共享磁盘与mysql数据库的部署
步骤一:首先将上一篇博文中配置的apache关掉
clusvcadm -e apache //打开httpd服务
clusvcadm -d apache //关闭httpd服务
步骤二:重新开启一台虚拟机server3,并添加一个硬盘
fdisk -l ##查看8G硬盘已经添加成功
配置server3(服务端)
步骤一:服务端安装:
步骤二:编辑磁盘共享配置文件,并开启服务
配置客户端server1和server2
步骤一:客户端安装:
步骤二:发现共享设备,连接共享设备
iscsiadm -m discovery -t st -p 172.25.75.3 #查看共享存储
iscsiadm -m node -l #激活共享存储
fdisk -l
在客户端fdisk -l,可以发现共享过来的硬盘
步骤三:给server1,server2配置mysql服务
格式化为ext4类型(Exf4 本地文件系统,写入不同步)
挂载数据库
修改该目录所有者,让数据库用户可以进行操作,并启动数据库
步骤四:添加故障转移域dbfail
步骤五:添加新的集群资源
步骤六:添加文件系统
步骤七:添加虚拟IP
步骤八:添加数据库启动脚本
步骤九:资源添加后,创建服务组
步骤十:为服务组添加资源(刚才新添加的三个资源)
然后刷新页面,则显示服务启动成功,在server1上运行
并且共享磁盘也已经挂在到/var/lib/mysql
注意:有时服务会一直显示disabled
可以手动,关闭服务再重启服务
或者可以退出页面重新登录试一下
测试:运行独占
注意:在之前的配置中,apache和mysql服务在创建服务组的时候都没有勾选 Run Exclusive
所以通过命令可以将server1上的服务转到server2上,将server2上的服务转到server1上
[root@server2 ~]# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.71 Source distribution
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SHOW DATABASES;
+---------------------+
| Database |
+---------------------+
| information_schema |
| #mysql50#lost+found |
| mysql |
| test |
+---------------------+
4 rows in set (0.00 sec)
mysql> USE mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> QUIT
Bye
[root@server2 ~]#clusvcadm -e apache #启动apache服务组
[root@server2 ~]#clusvcadm -r apache -m server2 #将apache服务组切到server2
[root@server2 ~]#clusvcadm -d apache #关闭apache服务组
三、CLVM/GFS2集群文件系统部署
前言:
首先将上个实验的apache、sql服务组的资源停掉
[root@server1 ~]# clusvcadm -d apache
Local machine disabling service:apache...Success
[root@server1 ~]# clusvcadm -d sql
Local machine disabling service:sql...Success
[root@server1 ~]# clustat
Cluster Status for HA @ Mon Feb 24 01:24:26 CST 2020
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
server1 1 Online, Local, rgmanager
server2 2 Online, rgmanager
Service Name Owner (Last) State
------- ---- ----- ------ -----
service:apache (server1) disabled
service:sql (server2) disabled
步骤一:设置CLVM服务开机自启动
lvmconf --enable-cluster
cat /etc/lvm/lvm.conf | grep locking_type #为3则自启动
步骤二:划分物理卷、逻辑卷组、逻辑卷
pvcreate /dev/sdb
vgcreate clustervg /dev/sdb
lvcreate -L 4G -n demo clustervg
lvs
步骤三:格式化逻辑卷为GFS2集群文件系统
[root@server1 ~]# mkfs.gfs2 -t HA:mygfs2 -p lock_dlm -j 2 /dev/clustervg/demo
This will destroy any data on /dev/clustervg/demo.
It appears to contain: symbolic link to `../dm-2'
Are you sure you want to proceed? [y/n] y
Device: /dev/clustervg/demo
Blocksize: 4096
Device Size 8.00 GB (2097152 blocks)
Filesystem Size: 8.00 GB (2097150 blocks)
Journals: 2
Resource Groups: 32
Locking Protocol: "lock_dlm"
Lock Table: "HA:mygfs2"
UUID: 7c3da294-a84f-2f87-3592-c04263b70fa2
mkfs.gfs2
-j #: 指定日志区域的个数,有几个就能够被几个节点所挂载;
-J #: 指定日志区域的大小,默认为128MB;
-p {lock_dlm|lock_nolock}:所使用的锁协议名称,集群需要使用lock_dlm;
-t <name>: 锁表的名称
格式为clustername:fsname,
clustername为当前节点所在的集群的名称
fsname文件系统名称,自定义,要在当前集群惟一,这也叫锁表名称,表明是分布式锁的范围。
[root@server1 ~]# gfs2_tool sb /dev/clustervg/demo all
mh_magic = 0x01161970
mh_type = 1
mh_format = 100
sb_fs_format = 1801
sb_multihost_format = 1900
sb_bsize = 4096
sb_bsize_shift = 12
no_formal_ino = 2
no_addr = 23
no_formal_ino = 1
no_addr = 22
sb_lockproto = lock_dlm
sb_locktable = HA:mygfs2
uuid = 7c3da294-a84f-2f87-3592-c04263b70fa2
步骤四、挂载设备,更改目录的权限
mount /dev/clustervg/demo /var/lib/mysql/
ll -d /var/lib/mysql/
chown mysql.mysql /var/lib/mysql/
blkid
步骤五:测试多点挂载
server1:
mount /dev/clustervg/demo /var/lib/mysql/
[root@server1 mysql]# pwd
/var/lib/mysql
[root@server1 mysql]# cp /etc/passwd .
[root@server1 mysql]# ls
ibdata1 ib_logfile0 ib_logfile1 mysql passwd test
server2:
[root@server2 ~]# cd /var/lib/mysql/
[root@server2 mysql]# ls
ibdata1 ib_logfile0 ib_logfile1 mysql passwd test
步骤六: 将组文件永久挂载在/var/lib/mysql
vim /etc/fstab
UUID="7c3da294-a84f-2f87-3592-c04263b70fa2" /var/lib/mysql gfs2 _netdev 0 0 #UUID可以通过blkid查看
mount -a
步骤七:更改浏览器设置
server1、server2:
更改之前先卸载逻辑卷:
umount /dev/clustervg/demo
1、先在Service Groups—sql中删除 Filesystem:
删除后,一定要Submit。
2、删除集群资源中的dbdata
3、重新添加集群资源
4、在Service Groups——sql中添加更改后的gfs2的dbdata:
8、测试