1.基本概念
RHCS通过GFS文件系统提供存储集群功能。
GFS(Global FileSyatem)允许多个服务同时去使用一个单一的共享文件系统,存储集群通过将共享数据放到一个共享文件系统中,从而消除了同步数据的麻烦。
GFS通过锁管理机制,来协调和管理多个服务节点对同一个文件系统的读写操作。
2.gfs2与ext4文件系统的比较
ext4:不支持同步写入
gfs2:全局文件系统,支持DLM锁管理,支持并发写,适用于HA集群使用的共享存储适用于LB集群Realserver使用的共享存储
1.实验环境
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(服务端) |
2.hetoto1上的部署
(1)查看支持该文件系统的clvmd集群逻辑卷服务是否开启
[root@hetoto1 ~]# /etc/init.d/clvmd status
[root@hetoto1 ~]# clustat
[root@hetoto1 ~]# clusvcadm -d sql
[root@hetoto1 ~]# clustat
(3)集群逻辑卷的配置文件的编辑,开启锁管理器
注:如果上述锁管理机制不为3的话需手动设置其为3
a.关闭锁管理机制,发现文件中的参数立马变为1
[root@hetoto1 ~]# lvmconf --disable-cluster
[root@hetoto1 ~]# lvmconf --enable-cluster
[root@hetoto1 ~]# fdisk -l
[root@hetoto1 ~]# pvcreate /dev/sdb
[root@hetoto1 ~]# vgcreate clustervg /dev/sdb
[root@hetoto1 ~]# vgs
[root@hetoto1 ~]# lvcreate -L 4G -n demo clustervg
[root@hetoto1 ~]# lvs
[root@hetoto1 ~]# mkfs.ext4 /dev/clustervg//demo
[root@hetoto1 ~]# mount /dev/clustervg/demo /var/lib/mysql/
[root@hetoto1 ~]# df
[root@hetoto1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 3 root root 4096 Jun 12 04:57 /var/lib/mysql/
[root@hetoto1 ~]# chown mysql.mysql /var/lib/mysql/
[root@hetoto1 ~]# ll -d /var/lib/mysql/
drwxr-xr-x 3 mysql mysql 4096 Jun 12 04:57 /var/lib/mysql/
[root@hetoto1 ~]# /etc/init.d/mysqld start
ext4文件系统的验证
a.在数据库目录下复制/etc/passwd到当前目录下
b.在另一个客户端hetoto2上查看的时候发现没有同步到在hetoto1上写入的数据
逻辑卷的扩展
a.关掉数据库服务
[root@hetoto1 mysql]# /etc/init.d/mysqld stop
[root@hetoto1 ~]# resize2fs /dev/clustervg/demo
创建gfs2文件系统的lvm集群逻辑卷
(1)格式化已经创建好的逻辑卷
[root@hetoto1 ~]# mkfs.gfs2 -t westos_ha:mygfs2 -p lock_dlm -j 2 /dev/clustervg/demo
mkfs.gfs2
-j #: 指定日志区域的个数,有几个就能够被几个节点所挂载;
-J #: 指定日志区域的大小,默认为128MB;
-p {lock_dlm|lock_nolock}:所使用的锁协议名称,集群需要使用lock_dlm;
-t : 锁表的名称
格式为clustername:fsname,
clustername为当前节点所在的集群的名称
fsname文件系统名称,自定义,要在当前集群惟一,这也叫锁表名称,表明是分布式锁的范围。
[root@hetoto1 ~]# /etc/init.d/mysqld start
vim /etc/fstab
UUID 可以通过blkid查询
发现在hetoto1上的数据已经同步到hetoto2上,即实现了gfs2文件系统的同步
RHCS集群系统下web界面的gfs2文件系统的导入
b
操作如下:
删除服务组:
重新添加服务组:
在重新添加的服务组中添加资源
测试:
hetoto1:(卸载挂载点并且关闭服务)
hetoto2:(同1)
注:在卸载时首先要关闭服务然后再卸载,否则可能卸载不了.