实验环境:
主机名 | IP | 服务 |
---|---|---|
server1 | 172.25.22.1 | ricci,luci, iscsi,mysql-server |
server2 | 172.25.22.2 | ricci,iscsi,mysql-server |
server3 | 172.25.22.3 | scsi |
foundation22 | 172.25.22.250 | fence |
一、RHCS高可用集群下iscsi共享存储域mysql数据库的部署
1.关闭server1和server2的httpd服务
可以在节点上手动关闭也可以在浏览器中关闭
(1)在浏览器中关闭时勾选apache,点击disabled即可关闭
(2)也可以使用命令关闭
<1>查看状态,apache正在server1上运行
<2>设置apache开机不启动,查看状态
clusvcadm -d apache (-d表示disabled)
<3>-e表示开机启动(enable)
-r 重新定位 (加入现在服务在server1上,执行clusvcadm -r apache之后服务就会被定位到srever2上,这里不再演示)
实验完后再次关闭
2.打开server3,给server3添加一个硬盘
fdisk -l查看是否添加成功
3.server3安装(服务端)
(1)下载安装
[root@server3 ~]# yum install -y scsi-*
(2)编辑配置文件
<target iqn.2019-04.com.example:server.target1>
backing-store /dev/vda
</target>
(3)开启服务
[root@server3 ~]# vim /etc/tgt/targets.conf
[root@server3 ~]# /etc/init.d/tgtd start
Starting SCSI target daemon: [ OK ]
(4)查看进程只有两个为正确
[root@server3 ~]# ps ax
4.配置客户端server1和server2
(1)安装软件
[root@server1 ~]# yum install -y iscsi-*
[root@server2 ~]# yum install -y iscsi-*
(2)发现、连接共享设备
server1
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.22.3
[root@server1 ~]# iscsiadm -m node -l
server2
[root@server2 ~]# iscsiadm -m discovery -t st -p 172.25.22.3
[root@server2 ~]# iscsiadm -m node -l
(3)客户端查看,可以发现共享过来的设备
fdisk -l
4.server1和server2配置mysql
(1)安装数据库
[root@server1 ~]# yum install -y mysql-server
[root@server2 ~]# yum install -y mysql-server
(2)server1切换到/var/lib/mysql,查看什么内容都没有
[root@server1 ~]# cd /var/lib/mysql/
[root@server1 mysql]# ls
[root@server1 mysql]# cd
(3)格式化/dev/sdb
[root@server1 ~]# mkfs.ext4 /dev/sdb
输入y
(4)挂载数据库
[root@server1 ~]# mount /dev/sdb /var/lib/mysql/
[root@server1 ~]#
[root@server1 ~]# df
(5)查看挂载点的属性,用户和组都是root
[root@server1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 3 root root 4096 Apr 20 15:10 /var/lib/mysql/
(6)卸载后再次查看,变成mysql
[root@server1 ~]# umount /var/lib/mysql/
[root@server1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 2 mysql mysql 4096 Aug 9 2013 /var/lib/mysql/
(7)再次挂载,修改所有人和所有组,让mysql用户可以操作
[root@server1 ~]# mount /dev/sdb /var/lib/mysql/
[root@server1 ~]# chown mysql.mysql /var/lib/mysql/
[root@server1 ~]#
[root@server1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 3 mysql mysql 4096 Apr 20 15:10 /var/lib/mysql/
(8)开启服务
[root@server1 ~]# /etc/init.d/mysqld start
(9)切换到数据库的数据目录,查看有了内容
[root@server1 ~]# cd /var/lib/mysql/
[root@server1 mysql]# ll
total 20504
-rw-rw---- 1 mysql mysql 10485760 Apr 20 15:15 ibdata1
-rw-rw---- 1 mysql mysql 5242880 Apr 20 15:15 ib_logfile0
-rw-rw---- 1 mysql mysql 5242880 Apr 20 15:15 ib_logfile1
drwx------ 2 mysql mysql 16384 Apr 20 15:10 lost+found
drwx------ 2 mysql mysql 4096 Apr 20 15:15 mysql
srwxrwxrwx 1 mysql mysql 0 Apr 20 15:15 mysql.sock
drwx------ 2 mysql mysql 4096 Apr 20 15:15 test
(10)退出这个目录,关闭服务,卸载设备
[root@server1 mysql]# cd
[root@server1 ~]# /etc/init.d/mysqld stop
Stopping mysqld: [ OK ]
[root@server1 ~]# umount /var/lib/mysql/
5.浏览器中配置
(1)添加故障转移域dbfail
点击add—>命名为dbfail -->绑定节点server1和server2–>设置优先级server2为1,server1为10—>勾选故障不转移
(2)添加集群资源
<1>添加VIP
点击add --> 选择IP Address–>添加VIP172.25.22.200/24—>设置移除时间为10秒–>提交
<2>添加数据库启动脚本
<3>添加文件系统
(3)创建服务组
为服务组添加资源
刷新页面,显示服务已经运行在server2上
6.server1查看状态
mysql服务运行在server2上
测试:
server2登录数据库登录成功
df查看,正在挂载
注意:数据库第一次启动是数据目录必须是空的,因为第一次启动数据库时系统会自动生成初始化文件
二、GFS2全局文件系统实现多点写入
ext4文件系统不能多点写入
GFS2 全局文件系统 允许多点写入,但不能单独存在,必须和RHCS套件配合使用
- 测试单点写入
(1)server1挂载共享设备
(2)切换到/var/llib/mysql目录下,将/etc下的passwd文件复制到当前目录
但是server2查看却没有这个文件,这说明当前文件系统不支持多点写入,只能单点写入,但在实际的生产环境中这显然是不足够的
(3)删除刚刚复制过来的passwd文件,卸载设备
- 关于集群锁
(1)设定sql服务开机不启动,查看集群状态
(2)打开/etc/lvm/lvm.conf文件查看正在使用的是什么类型的锁
(3)可以使用命令控制是否使用集群锁
文件中的内容变成1
(4)激活集群锁
文件中内容变成3,也就是使用内置集群锁
clvmd服务必须开启 集群逻辑卷
集群锁
lvmconf --enable cluster 激活集群锁
CMAN管理整个集群的进程
fence控制的时物理电源
确保以下服务都是运行状态
- 配置GFS2文件系统
1.查看系统中现有的逻辑卷
2.将共享设备创建为逻辑卷
(1)创建物理卷
(2)创建物理卷组
(3)创建逻辑卷
3.格式化逻辑卷
4.挂载逻辑卷
修改挂载点的所有人和所有组,让mysql用户有操作权限
(注意:每格式化一次都要修改一次所有人所有组)
5.开启服务
6.查看到数据目录下有东西(说明逻辑卷建立成功可以正常使用),关闭服务
7.扩展逻辑卷
8.卸载设备,进行数据检查
9.刷新逻辑卷大小
10.将逻辑卷格式化为gfs2类型
参数详解:
-t | 集群名称 |
---|---|
-p | 使用集群锁 |
-j | 指定节点的个数 |
11.查看gfs2文件系统的信息
12.挂载设备,修改用户和所有组
查看设备类型
13.开启服务
14.server2也挂载设备,切换到数据目录下
15.server1将/etc/passwd复制到数据目录
server2可以查看到==(说明实现了多点写入)==
16.可以将命令写进/etc/fstab文件中永久挂载
(1)先卸载设备
(2)编辑/etc/fstab文件
(3)激活挂载
- 关于设备的删除
1.先卸载关闭服务,删除逻辑卷
删除前:
删除:
删除后fdisk -l还是可以查看到共享设备,这是因为共享数据目录下的信息没有删除
2.关闭iscsi服务
3.删除共享设备,先退出再删除
4.web集群管理界面中删除集群,再删除节点,这是查看集群状态,查看不到
无法查看集群状态
5.关闭RHCS其他相关服务
6.server2中做相同的操作
7.server3关闭iscsi服务端的服务
8.server3删除添加的硬盘
9.将/etc/fstab中的自动挂载内容删除