实验环境:
要有所有主机的解析
rhel6.5-server1:172.25.27.201 -->sql服务器
rhel6.5-server2:172.25.27.202 -->sql服务器,集群管理服务器
rhel6.5-server3 172.25.27.203 -->磁盘共享服务器
本机:172.25.27.100 -->fence
配置:
rhel6.5-server1:
1、yum源配置
baseurl=http://172.25.27.100/rhel6.5/HighAvailability
baseurl=http://172.25.27.100/rhel6.5/LoadBalancer
baseurl=http://172.25.27.100/rhel6.5/ResilientStorge
baseurl=http://172.25.27.100/rhel6.5/ScalableFileSystem
2、解析
集群内所有机器的解析
3、yum install ricci -y
ricci 为集群管理提供接口
id ricci 安装成功后会生成一个ricci用户
passwd ricci
/etc/init.d/ricci start
netstat -tnlp 查看ricci的端口是否开启
chkconfig ricci on 设置为开机自启动
4、磁盘共享功能
yum install iscsi-* -y
iscsiadm -m discovery -t st -p 172.25.27.203 发现
iscsiadm -m node -l 连接
5、安装数据库
yum install mysql-server mysql -y
chown mysql.mysql /var/lib/mysql/ 修改用户名和用户组,防止挂载设备之后,权限发生变化导致设备不可用
rhel6.5-server2:
1、yum源配置
baseurl=http://172.25.1.100/rhel6.5/HighAvailability
baseurl=http://172.25.1.100/rhel6.5/LoadBalancer
baseurl=http://172.25.1.100/rhel6.5/ResilientStorge
baseurl=http://172.25.1.100/rhel6.5/ScalableFileSystem
2、解析
集群内所有机器的解析
3、yum install ricci,luci -y
luci 集群管理工具
id ricci
passwd ricci
/etc/init.d/ricci start
/etc/init.d/luci start
netstat -tnlp
chkconfig ricci on
chkconfig luci on
4、磁盘共享功能
yum install iscsi-* -y
iscsiadm -m discovery -t st -p 172.25.27.203 发现
iscsiadm -m node -l 连接
5、安装数据库
yum install mysql-server mysql -y
chown mysql.mysql /var/lib/mysql/ 修改用户名和用户组,防止挂载设备之后,权限发生变化导致设备不可用
rhel6.5-server3
额外添加一块8G磁盘
yum install scsi-* -y
tgt-admin -s
Backing store path: /dev/vdb
vim /etc/tgt/targets.conf
<target iqn.2018-08.com.example:server.target1>
initiator-address 172.25.27.201 //访问控制
initiator-address 172.25.27.202
</target>
/etc/init.d/tgtd start
tgt-admin -s
Backing store path: /dev/vdb
ACL information:
172.25.29.4
172.25.29.5
chkconfig tgtd on
本机:
yum install fence-virt.x86_64 fence-virtd-libvirt.x86_64 fence-virtd-libvirt.x86_64 -y
fence_virtd -c fence初始化
interface 真实网卡的接口
mkdir /etc/cluster
cd /etc/cluter
dd if=/dev/urandom of=/etc/cluster/fence_xvm.key bs=128 count=1 生成密钥
共享密钥
scp fence_xvm.key rhel6.5-server1:/etc/cluster
scp fence_xvm.key rhel6.5-server2:/etc/cluster
在rhel5.6-server1或rhel6.5-server2上边对共享磁盘进行分区
###ext4文件系统:
pvcreate /dev/sda
vgcreate cluster_vg /dev/sda
lvcreate -L 4G -n cluster_lv cluster_vg
mkfs.ext4 /dev/cluster_vg/cluster_lv //格式化
clustat
###gfs2集群式文件系统
clustat
clusvcadm -d mysqld //禁用mysqld
lvextend -L +4G /dev/cluster_vg/cluster_lv
lvextend -l +1023 /dev/cluster_vg/cluster_lv
resize2fs /dev/cluster_vg/cluster_lv 扩容文件系统
mkfs.gfs2 -j 3 -p lock_dlm -t westos_ha:mygfs2 /dev/cluster_vg/demo
//-j 日志 -t 名称:标签 -p集群锁
vim /etc/fstab
/dev/cluster_vg/demo /var/lib/mysql gfs2 _netdev 0 0
mount -a
clusvcadm -e mysqld 激活mysql
cd /var/lib/mysqld
ls
多了一个mysql.sock文件
clustat
/etc/init.d/mysqld status
clusvcadm -r mysqld -m server5
创建集群:
浏览器访问 https://rhel6.5-server2:8084(需要本地解析)
1、使用rhel6.5-server2的超户登录进行管理

2、创建集群,添加节点

3、集群创建成功,虚拟机自动重启
需要注意的是在rhel6.5-server1,rhel6.5-server2上边让ricci,ricci,luci开机自启,
要不然起不来

注意!!!
1)* 配置时NetworkManager必须是关闭的
/etc/init.d/NetworkManager stop
chkconfig NetworkManager off
2)* 点击节点,查看服务状态,所有状态必须是Running,否则需要手动开启

cman分布式集群管理器
rgmanager资源代理,负责资源接管
modclusterd集群状态监控
clvmd集群化逻辑卷,共享存储
ricci每个节点和集群之间的接口
3)、在任意节点上执行clustat命令可看到集群信息
4、管理集群

1)、添加故障处理机制(Failover Domains)

Priority值越小优先级越高,即server4是主节点
No Failback 表示不回切,即若server4故障,server5接管,但server4正常后即使其优先级高也不从server5接管,业务稳定,与keepalived不同
2)、添加资源(Resource)
IP Address(vip不存在的ip)—>Script(服务启动脚本)–>文件系统
3)、添加资源组(Service Groups)

4)、添加fence
Fence作用就是当master出现问题但没有挂掉时,将master强制断电重启,新的master接管资源,当旧的master恢复后不重新接管资源,避免出现脑裂现象

**添加fence节点
rhel6.5-server1:
rhel6.5-server2:
**添加fence
5、测试
1、让服务运行在rhel6.5-server1节点,在它的/var/lib/mysql下创建文件
2、在rhel6.5-server2上
ext4文件系统:没有挂载磁盘,看不到
gfs2文件系统:没有挂载磁盘,能看到
集群化文件系统,通过集群心跳同步文件
本文介绍了在Red Hat 6.5环境下,如何配置和管理集群服务,包括创建ext4和GFS2文件系统、启动cman和rgmanager等关键组件、设置故障转移策略、添加资源和资源组,以及实施fencing策略防止脑裂现象。通过实际操作展示了在集群中如何实现存储共享和故障切换。

668

被折叠的 条评论
为什么被折叠?



