关于一些基本配置参考上一篇关于niginx的高可用
https://blog.youkuaiyun.com/u010489158/article/details/81333711
目前的操作系统为rhel6.5
server1 172.25.12.1
server2 172.25.12.2
server4 172.25.12.4
yum源需要添加高可用套件
[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.12.250/rhel6.5
enabled=1
gpgcheck=1
[HighAvailability]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.12.250/rhel6.5/HighAvailability
enabled=1
gpgcheck=1
[LoadBalancer]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.12.250/rhel6.5/LoadBalancer
enabled=1
gpgcheck=1
[ResilientStorage]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.12.250/rhel6.5/ResilientStorage
enabled=1
gpgcheck=1
[ScalableFileSystem]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://172.25.12.250/rhel6.5/ScalableFileSystem
enabled=1
gpgcheck=1
主机 | ip | 服务 |
server1 | 172.25.12.1 | ricci,luci,iscsi-*,mysql-server |
server2 | 172.25.12.2 | scsi-* |
server4 | 172.25.12.4 | iscsi-*,mysql-server,ricci |
服务安装
给server2添加一块硬盘,将/dev/vdb(新添加的硬盘)共享给server1和server4
vim /etc/tgt/targets.conf
38 <target iqn.2018-08.com.example:server.target1>
39 backing-store /dev/vdb #可以使用fdisk -l查看
40 initiator-address 172.25.12.1
41 initiator-address 172.25.12.4
42 </target>
/etc/init.d/tgtd restart
server1和server4:
iscsiadm -m discovery -t st -p 172.25.12.2 ###发现设备
iscsiadm -m node -l ###登陆
登陆完以后可以使用fdisk -l查看得到的共享盘
pvcreate /dev/sda
vgcreate clustervg /dev/sda
lvcreate -L 4G -n demo clustervg
这个过程可以在server1中做,在server4中使用pvs,vgs,lvs刷新,可以看到已经同步
mkfs.ext4 /dev/clustervg/demo
server1
yum install mysql-server
mount /dev/clustervg/demo /var/lib/mysql/
/etc/init.d/mysqld start
umount /var/lib/mysql/
可以看到这些操作在两个服务器上是同步的
设置好以后在网页进行集群操作
创建VIP
创建启动脚本
数据存放的地方
创建service groups
测试
拓展:转化为gfs2磁盘格式
1、GFS2 文件系统简介
GFS是Red Hat开发的一套集群文件系统,GFS文件系统允许多个服务同时读写一个磁盘分区,通过GFS可以实现数据的集中管理,免去了数据同步和复制的麻烦,但GFS并不能孤立的存在,安装GFS需要RHCS的底层组件支持。
2、通过clusvcadm关闭服务(server1、4)
clusvcadm -d mysql
3、查看lvm.conf信息(server1)
可以查看下此处是否为3,如果不会3会出现同步过去的分区所带属性不对,出现原因,安装包未下载完全:
vim /etc/lvm/lvm.conf
461 # change metadata.
462 locking_type = 3
5、删除之前的分区,创建新分区
[root@server1 ~]# lvremove /dev/clustervg/demo
[root@server1 ~]# lvcreate -L 4G -n clusterlv /dev/clustervg
[root@server1 ~]# mkfs.gfs2 -j 3 -p lock_dlm -t mysql:mysqlgfs2 /dev/clustervg/clusterlv
###建立在集群之上,-j:创建日志个数 -p:指定锁方式为分布式锁 -t mysql:mysqlgfs2 表示集群名称以及起的文件系统名称,在luci界面中设置的集群名称
[root@server1 ~]# mount /dev/clustervg/clusterlv /var/lib/mysql/
注意:一定要保证server4能同步,可以partprobe或partx -a /dev/sda更新分区表,pvs、vgs、lvs查看
5、server4中识别gfs2文件系统,并查看信息
[root@server4 file1]# gfs2_tool sb /dev/clustervg/clusterlv 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 = mysql:mysqlgfs2
uuid = 0e92df0c-f02a-59b8-a3ff-7310fabd25a9
6、自动挂载方法(server1和server4都需要配置)
[root@server1 ~]# vim /etc/fstab
/dev/clustervg/clusterlv /var/lib/mysql gfs2 _netdev 0 0
[root@server1 ~]# mount -a
7、在luci配置界面,将filesystem重新定义被添加到资源中,重启集群
7、测试:
server1和server4同时挂载
mount /dev/clustervg/clusterlv /var/lib/mysql
## server1与server4可以同时进行挂载并且都可以创建文件到对应目录
*注意:gfs2文件系统依赖于HA的messaging layer的信息传递,如果messaging layer没有启动,gfs2文件系统将不能正常挂载