MFS高可用(pacemaker+corosync+vmfence+mfsmaster+iscsi)


待完善…

实验环境

主机(IP) 服务
server1(172.25.11.1) mfsmaster corosync+pacemaker
server2(172.25.11.2) chunk server
server3(172.25.11.3) chunk server
server4(172.25.11.4) mfsmaster corosync+pacemaker
真机(172.25.11.250) client

pacemaker+corosync实现高可用

server1与server4主机mfs master的部署

  • 下面以server1的安装为例,server4的安装同理。
  • 下载并安装。
[root@server1 ~]# ls
moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-chunkserver-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-client-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm
moosefs-metalogger-3.0.103-1.rhsystemd.x86_64.rpm

[root@server1 ~]# yum install moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm   moosefs-cli-3.0.103-1.rhsystemd.x86_64.rpm  moosefs-cgiserv-3.0.103-1.rhsystemd.x86_64.rpm   moosefs-cgi-3.0.103-1.rhsystemd.x86_64.rpm -y

在这里插入图片描述

在这里插入图片描述

  • server1添加解析
[root@server1 ~]# vim /etc/hosts
172.25.11.1     server1  mfsmaster
  • 开启服务,查看端口
[root@server1 mfs]# systemctl start moosefs-master
[root@server1 mfs]# netstat -antlp
[root@server1 mfs]# systemctl start moosefs-cgiserv
[root@server1 mfs]# netstat -antlp

在这里插入图片描述

在这里插入图片描述

  • 浏览器中访问查看:http://172.25.11.1:9425/mfs.cgi
    在这里插入图片描述

server1与server4配置高可用的yum源

  • 以server1为例,server4的搭建同理
[root@server1 system]# vim /etc/yum.repos.d/rhel7.repo

[rhel7.3]
name=rhel7.3
gpgcheck=0
baseurl=http://172.25.11.250/rhel7.3

[HighAvailability]
name=HighAvailability
gpgcheck=0
baseurl=http://172.25.11.250/rhel7.3/addons/HighAvailability

[ResilientStorage]
name=ResilientStorage
gpgcheck=0
baseurl=http://172.25.11.250/rhel7.3/addons/ResilientStorage

在这里插入图片描述

server1和server4安装pacemaker+corosync

  • server1:
[root@server1 system]# yum install pacemaker corosync -y
  • server4:
[root@server4 ~]# yum install pacemaker corosync -y

因为要实现高可用,所以server1与server4之间需要免密

[root@server1 system]# ssh-keygen
[root@server1 system]# ssh-copy-id server4
[root@server1 system]# ssh server4
[root@server1 system]# ssh-copy-id server1
[root@server1 ~]# ssh server1

在server1和server4上安装资源管理工具并且开启相应服务

  • server1与server4同理,这里以server1为例。
[root@server1 ~]# yum install pcs -y
[root@server1 ~]# systemctl start pcsd
[root@server1 ~]# systemctl enable pcsd
[root@server1 ~]# id hacluster
uid=189(hacluster) gid=189(haclient) groups=189(haclient)
[root@server1 ~]# passwd hacluster

在server1上创建mfs集群并且启动

  • 创建集群
[root@server1 ~]# pcs cluster auth server1 server4
Username: hacluster
Password: 
server4: Authorized
server1: Authorized

在这里插入图片描述

  • 为集群命名
[root@server1 ~]# pcs cluster setup --name mycluster server1 server4

在这里插入图片描述

  • 开启集群
[root@server1 ~]# pcs cluster start --all
server1: Starting Cluster...
server4: Starting Cluster...

查看集群状态

[root@server1 ~]# corosync-cfgtool -s
[root@server1 ~]# pcs status corosync

在这里插入图片描述

检查并解决报错

[root@server1 ~]# crm_verify -L -V
[root@server1 ~]# pcs property set stonith-enabled=false
[root@server1 ~]# crm_verify -L -V

在这里插入图片描述

创建集群资源及添加VIP

  • 在server1上:
[root@server1 ~]# pcs resource create --help
[root@server1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.11.100 cidr_netmask=32  op monitor interval=30s
[root@server1 ~]# pcs resource show
[root@server1 ~]# pcs status

在这里插入图片描述

  • 在server4上查看vip:
[root@server4 ~]# crm_mon

在这里插入图片描述

测试

  • 查看vip此时在server1上:
    在这里插入图片描述
  • 将cluster集群中的server1关掉,此时vip漂移到server4上。
[root@server1 ~]# pcs cluster stop server1

在这里插入图片描述
在这里插入图片描述

  • 查看监控信息显示此时在线的也只有server4:
[root@server4 ~]# crm_mon

在这里插入图片描述

  • 再次开启集群中的server1,发现vip还是在server4上,但是监控信息查看时server1和server4都是在线的。
[root@server1 ~]# pcs cluster start server1
server1: Starting Cluster...

[root@server4 ~]# crm_mon 
[root@server4 ~]# ip a

在这里插入图片描述
在这里插入图片描述
综上,高可用部署成功!

[root@server1 ~]# pcs resource standards 
[root@server1 ~]# pcs resource providers 
[root@server1 ~]# pcs resource agents ocf:heartbeat

在这里插入图片描述

在这里插入图片描述

存储(数据共享)

注意:在客户端如果在数据恢复时进行了相应的挂载,df是查看不到的,用mount命令查看,如果有挂载需要先卸载。(/mnt/mfsmeta)
关闭server1和server4的master服务及其server2和server3的chunkserver服务为iscsi的实验环境做准备。

server2(chunk server)

  • 添加一块20G的虚拟硬盘/dev/vdb。
  • 安装服务端的targetcli。
[root@server2 ~]# yum install targetcli -y
[root@server2 ~]# systemctl start target
  • 共享/dev/vdb1。
[root@server2 ~]# targetcli
/backstores/block> create storage1 /dev/vdb
/iscsi> create iqn.2019-08.org.westos:target1
/iscsi/iqn.20...et1/tpg1/luns> create /backstores/block/storage1
/iscsi/iqn.20...et1/tpg1/acls> create iqn.2019-08.org.westos:client

在这里插入图片描述

server1&server4(mfsmaster)

  • sevrer1与server4的操作步骤相同,这里以server1为例。
  • 安装客户端软件。
[root@server1 ~]# yum install iscsi-* -y
  • 修改连接的密码。
[root@server1 ~]# vim /etc/iscsi/initiatorname.iscsi 
[root@server1 ~]# cat /etc/iscsi/initiatorname.iscsi 
InitiatorName=iqn.2019-08.org.westos:client
  • 客户端发现共享的磁盘并使用,划分一块/dev/sda1,并格式化成ext4的格式。
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.11.2
[root@server1 ~]# iscsiadm -m node -l
[root@server1 ~]# fdisk -l
[root@server1 ~]# fdisk /dev/sda
[root@server1 ~]# mkfs.ext4 /dev/sda1
[root@server4 ~]# cat /proc/partitions 

在这里插入图片描述

在这里插入图片描述

  • 挂载格式化后的
  • 创建一个存储资源。
    IPAddr2 资源代理 传参 就是一个脚本 每个30s对资源做一个监控
[root@server1 mfs]# pcs resource create mfsdata Filesystem device=/dev/sda1 directory=/var/lib/mfs fstype=ext4 op monitor interval=60s
[root@server1 mfs]# crm_mon 

此时vip资源和存储资源并不在一台mfsmaster服务器上。
在这里插入图片描述

  • 创建一个服务资源。
[root@server1 mfs]# pcs resource create mfsmaster systemd:moosefs-master op monitor interval=60s
[root@server1 mfs]# pcs resource group add mfsgroup vip mfsdata mfsmaster

在这里插入图片描述

4个节点做解析,写入vip

[root@server1 ~]# vim /etc/hosts
172.25.11.100   mfsmaster
[root@server2 ~]# systemctl start moosefs-chunkserver
[root@server3 ~]# systemctl start moosefs-chunkserver

真机

挂载

[root@foundation11 ~]# mfsmount 
[root@foundation11 ~]# df

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章