mfs的高可用(pacemaker+corosync+iscsi+fence)

实验环境接上一篇博客

  • 在server8上也安装master,编辑域名解析,并开启服务:
    systemctl start moosefs-master
    在这里插入图片描述
  • 在server1和server8上都配置高可用yum源
    在这里插入图片描述
  • 安装高可用软件:yum install -y pacemaker corosync
  • 给server1和server8做免秘登陆
    在这里插入图片描述
  • 给两个master安装资源管理工具pcs:yum install -y pcs
  • 开启并设置开机自启:
     systemctl start pcsd
     systemctl enable pcsd

在这里插入图片描述

  • 设置密码,主备必须相同: passwd hacluster
    在这里插入图片描述
  • 创建集群:pcs cluster auth server1 server8
    在这里插入图片描述
  • 给集群起名称:
 pcs cluster setup --name mycluster server4 server8

在这里插入图片描述

  • 查看集群状态,有报错,是因为有部分服务没有开启pcs status nodes
  • 开启所有的服务:pcs cluster start --all
  • 再次查看节点信息:pcs status nodes
    在这里插入图片描述
  • 验证corosync是否正常:corosync-cfgtool -s
    在这里插入图片描述
  • 查看corosync状态:pcs status corosync
    在这里插入图片描述
  • 检查配置,有报错:crm_verify -L -V
    在这里插入图片描述
  • 更改属性,禁用STONITH:pcs property set stonith-enabled=false
  • 再次检查,没有报错:crm_verify -L -V
  • 查看状态:pcs status
    在这里插入图片描述
  • 创建vip:pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.12.100 cidr_netmask=32 op monitor interval=30s
  • 查看是否创建成功:ip a
    在这里插入图片描述
  • 此时vip是在server1上,我们关闭server1后
    再开启server1
    在这里插入图片描述
  • 再次查看crm_mon:此时vip在server8上,并且不会漂移。
    在这里插入图片描述
  • 再次关闭server8,则vip会飘到server1上
    在这里插入图片描述

数据共享

  • 先将之前的挂载卸掉,将master和chunkserver都关闭,将实验环境恢复
    在这里插入图片描述
  • 添加解析,在每个节点上都添加上解析
    在这里插入图片描述
  • 给server3上添加一个8g的虚拟磁盘(vda),用来共享
    在这里插入图片描述
    在这里插入图片描述
  • 安装targetcil,并配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 在server1上安装iscsi,并将共享的设备写入文件vim /etc/iscsi/initiatorname.iscsi
    在这里插入图片描述
  • 发现远程设备
    在这里插入图片描述
  • 登录
    在这里插入图片描述
  • 此时可以查看到共享出来的磁盘:fdisk -l
    在这里插入图片描述
  • 使用共享磁盘,建立分区
    在这里插入图片描述
  • 格式化分区
    在这里插入图片描述
  • 将新建分区挂载到/mnt下
    在这里插入图片描述
  • 给/mnt写入文件
  • 更改用户和用户组
    在这里插入图片描述
  • 重新将共享的磁盘挂载到/var/lib/mfs/下
    在这里插入图片描述
  • 开启master,如果成功开启,则操作正确systemctl start moosefs-master
    在这里插入图片描述
  • 关闭master
  • 在server8上,操作与server4一致,直接挂在分区就行,不用格式化
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 在master上创建mfs文件系统
    在这里插入图片描述
  • 此时查看crm_mon:vip,mfsdata,mfsd 不在一个组中
    在这里插入图片描述
  • 把vip,mfsdata,mfsd 集中在一个组中
    在这里插入图片描述
  • 当关闭backup-master之后,服务就会迁移到master上
    在这里插入图片描述
    在这里插入图片描述
  • 当开启server8,关闭server1时,服务又会迁移到server8上
    在这里插入图片描述
    在这里插入图片描述

fence解决脑裂问题

  • 先在客户端测试高可用
    在这里插入图片描述
  • 打开chunkserver
    在这里插入图片描述
  • 查看vip位置
    在这里插入图片描述
  • 开启master
    在这里插入图片描述
  • 在客户端进行分布式存储测试
  • 先保证挂载成功,如果挂载不成功,将/mnt/mfs下的目录为空,即可挂载
    在这里插入图片描述
  • 在客户端上传大文件的同时,关闭正在提供服务的服务端
    在这里插入图片描述
    在这里插入图片描述
  • 我们查看到文件上传成功,并没有受到影响
    在这里插入图片描述
    通过以上实验我们发现,当master挂掉之后,backup-master会立刻接替master的工作,保证客户端可以进行正常访问,但是,当master重新运行时,我们不能保证master是否会抢回自己的工作,从而导致master和backup-master同时修改同一份数据文件从而发生脑裂,此时fence就派上用场了
  • 在master端安装fence服务
  • 在客户端也要安装fence服务,因为我之前已安装过,所以不再赘述
    在这里插入图片描述
  • 生成一份fence密钥文件,传给服务端
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 查看主机域名
    在这里插入图片描述
  • 在master查看监控pcs status
    在这里插入图片描述
  • 创建fence集群后
    在这里插入图片描述
  • 使server8断电重启,查看监控,server8上的服务迁移到master上
    在这里插入图片描述
  • 模拟master端内核崩溃
    在这里插入图片描述
  • 查看监控,server8会立刻接管master的所有服务
    在这里插入图片描述
  • 查看监控发现,master重启成功之后,并不会抢占资源,服务依旧在backup-master端正常运行,说明fence生效
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值