一.实验环境
rhel6.5 selinux and iptables disabled
主机环境:
主机名 | IP | 服务 |
---|---|---|
hetoto1 | 172.25.12.1 | ricci,luci,iscsi,mysql-server(客户端) |
hetoto2 | 172.25.12.2 | ricci,iscsi,mysql-server(客户端) |
hetoto3 | 172.25.12.3 | scsi(服务端) |
二.模拟rhcs集群下的iscsi磁盘共享及其数据库部署
1.关掉上一个实验环境下用到的主机上的服务(httpd)
clusvcadm -d apache //关闭httpd服务
clusvcadm -e apache //打开httpd服务
[root@hetoto1 ~]# clusvcadm -d apache
Local machine disabling service:apache...Success
[root@hetoto1 ~]# /etc/init.d/httpd status
2.iscsi共享磁盘的配置
(1)打开虚拟机的管理界面添加一个8G的硬盘用于iscsi的实验磁盘
(2)查看硬盘添加成功
fdisk -l,查看8G硬盘已经添加成功
(3)安装服务端软件
[root@hetoto3 ~]# yum install scsi-* -y
(4)编辑磁盘共享配置文件
[root@hetoto3 ~]# vim /etc/tgt/targets.conf
(5)开启磁盘共享服务
[root@hetoto3 ~]# /etc/init.d/tgtd start
(6)查看该服务产生的进程,只有俩个进程才算正确
[root@hetoto3 ~]# ps aux
- hetoto1配置(客户端)
(1)安装支持共享设备的软件(yum源搭建好之后)
[root@hetoto1 ~]# yum install -y iscsi-*
(2)发现server3服务端的共享设备并且连接共享设备
[root@hetoto1 ~]# iscsiadm -m discovery -t st -p 172.25.12.3
[root@hetoto1 ~]# iscsiadm -m node -l
(3)查看磁盘分区,发现共享过来的硬盘,此时,在server3上是虚拟硬盘,但在server1共享过来之后,就是真实设备,所以是sdb
[root@hetoto1 ~]# fdisk -l
- hetoto2(客户端)的配置:
(1)安装客户端连接软件
[root@hetoto2 ~]# yum install -y iscsi-*
(2)发线共享设备并且连接共享设备
[root@hetoto2 ~]# iscsiadm -m discovery -t st -p 172.25.12.3
[root@hetoto2 ~]# iscsiadm -m node -l
(3)已连接的共享设备的查看
[root@hetoto2 ~]# fdisk -l
3.数据库的配置(客户端)
- hetoto1:
(1)安装数据库
[root@hetoto1 ~]# yum install -y mysql-server
(2)将已经连接的共享过来的磁盘格式化,格式化为ext4类型(Exf4本地文件系统,写入不同步)
[root@hetoto1 ~]# mkfs.ext4 /dev/sdb
(3)将数据库挂载在已经格式化的连接后的磁盘下
[root@hetoto1 ~]# mount /dev/sdb /var/lib/mysql/
(4)修改数据库目录所有者,因为默认为root,改为mysql数据库用户可以进行相应的操作实现共享
[root@hetoto1 ~]# ls -ld /var/lib/mysql/
[root@hetoto1 ~]# chown mysql.mysql /var/lib/mysql/
[root@hetoto1 ~]# ls -ld /var/lib/mysql/
(5)启动数距库
[root@hetoto1 ~]# /etc/init.d/mysqld start
- hetoto2(同hetoto1):
(1)安装数据库
[root@hetoto2 ~]# yum install -y mysql-server
(2)格式化
[root@hetoto2 ~]# mkfs.ext4 /dev/sdb
(3)挂载数据库
[root@hetoto2 ~]# mount /dev/sdb /var/lib/mysql/
(4)修改数据库目录的所有者,开启数据库服务
[root@hetoto2 ~]# ls -ld /var/lib/mysql/
[root@hetoto2 ~]# chown mysql.mysql /var/lib/mysql/
[root@hetoto2 ~]# ls -ld /var/lib/mysql/
(5)启动数据库
[root@hetoto2 ~]# /etc/init.d/mysqld start
4.RHCS集群模式下iscsi磁盘共享模式的添加
(1)故障转移域的添加
(2)添加iscsi共享磁盘的新的集群资源
a.添加文件系统
b.虚拟IP的添加
c.数据库启动脚本的添加
(3)创建服务组
(4)在服务组中添加已经所创建好的资源
5.测试
(1)刷新页面发现服务运行在hetoto2上,发现hetoto2上自动挂载共享的磁盘,因为设置的失败回切域hetoto2的优先级比hetoto1高,在hetoto1上回切的时间只有5秒。
(2)在客户端的虚拟机上使用命令查看设备的使用情况
(3)在hetoto1和hetoto2俩个客户端分别删掉/var/libmysqld的数据库并关闭数据库服务,在次刷新页面。
刷新页面:
显示运行在hetoto2上,在hetoto2上查看
可以看到hetoto2上的磁盘已经挂载,并且服务正常运行。
(4)因为在设置时没有设置mysqld服务的运行独占,所以可以通过命令可以使服务运行在指定的服务器上
重新刷新页面发现服务也是运行在hetoto1上
并且在hetoto1上查看的时候hetoto1上自动挂载共享设备,而hetoto2上的设备自动卸载