1.实验环境
主机名(IP) | 服务 |
---|---|
server1(172.25.16.1) | mfs master corosync+pacemaker |
server2(172.25.16.2) | chunk server |
server3(172.25.16.1) | chunk server |
server4(172.25.16.4) | mfs master corosync+pacemaker |
物理机(172.25.16.250) | client |
1.在server4:
1.安装mfs master,编辑域名解析,开启服务
[root@server4 ~]# ls
moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm
[root@server4 ~]# yum install -y moosefs-master-3.0.103-1.rhsystemd.x86_64.rpm
[root@server4 ~]# vim /etc/hosts
文件添加解析如下:
172.25.16.1 server1 mfsmaster
[root@server4 system]# pwd
/usr/lib/systemd/system
[root@server4 system]# vim moosefs-master.service
文件编辑内容如下:
8 ExecStart=/usr/sbin/mfsmaster -a
[root@server4 system]# systemctl daemon-reload
[root@server4 system]# systemctl start moosefs-master
mfa master开启之后查看端口:
2.server1和server4配置高可用yum源
[root@server1 3.0.103]# cd /etc/yum.repos.d/
[root@server1 yum.repos.d]# vim yum.repo
文件编辑内容如下:
[rhel7.3]
name=rhel7.3
baseurl=http://172.25.16.250/file
gpgcheck=0
[HighAvailability]
name=HighAvailability
baseurl=http://172.25.16.250/file/addons/HighAvailability
gpgcheck=0
[ResilientStorage]
name=ResilientStorage
baseurl=http://172.25.16.250/file/addons/ResilientStorage
gpgcheck=0
3.在server1上和server4上安装pacemaker+corosync
[root@server1 yum.repos.d]# yum install pacemaker corosync -y
[root@server4 system]# yum install pacemaker corosync -y
4.因为要实现高可用及其fence既保持server1和server4节点之间要做免密的ssh
验证如下:
5.在server1和server4上安装资源管理工具并且开启相应服务
//server1
[root@server1 ~]# yum install -y pcs
[root@server1 ~]# systemctl start pcsd
[root@server1 ~]# systemctl enable pcsd ##开启该服务之后会在/etc/passwd目录下生成hacluster用户,及高可用管理用户
[root@server1 ~]# passwd hacluster ##配置高可用集群管理用户的密码
//server4
[root@server4 ~]# yum install -y pcs
[root@server4 ~]# systemctl start pcsd
[root@server4 ~]# systemctl enable pcsd ##开启该服务之后会在/etc/passwd目录下生成hacluster用户,及高可用管理用户
[root@server4 ~]# passwd hacluster ##配置高可用集群管理用户的密码
6.在server1上创建mfs集群并且启动
创建集群:
为集群命名并且开启集群:
7.查看集群状态
[root@server1 ~]# pcs resource create vip ocf:heartbeat:IPaddr2 ip=172.25.16.100 cidr_netmask=32 op monitor interval=30s
[root@server1 ~]# pcs resource show
[root@server1 ~]# pcs resource show
1.在客户端如果进行了数据恢复时进行了相应的挂载,df是查看不到的,用mount命令查看,如果有挂载需要先卸载
2.关闭master及其chunkserver服务为iscsi的实验环境做准备
[root@server1 ~]# systemctl stop moosefs-master
[root@server2 ~]# systemctl stop moosefs-chunkserver
[root@server3 ~]# systemctl stop moosefs-chunkserver
3.在server2及chunkserver节点上进行iscsi配置:
a.添加20G的虚拟硬盘
b,安装targetcli并做相应配置
//下在targetcli
[root@server2 ~]# yum install -y targetcli
//登录targetcli并且将添加的硬盘当作targetcli磁盘共享存储的磁盘
[root@server2 ~]# targetcli
/> ls ##查看targetcli的相关信息
添加磁盘:
/> cd backstores/block
/backstores/block> create my_disk1 /dev/vdb
在iscis目录下:
/backstores/block> cd /
/> cd iscsi
创建磁盘目录,进入目录下的相应目录创建已添加磁盘:
/iscsi> create iqn.2019-05.com.example:server2
/iscsi> cd iqn.2019-05.com.example:server2/
/iscsi/iqn.20...ample:server2> cd tpg1/luns
/iscsi/iqn.20...er2/tpg1/luns>
/iscsi/iqn.20...er2/tpg1/luns> create /backstores/block/my_disk1
创建client磁盘共享目录:
/iscsi/iqn.20...er2/tpg1/luns> cd /iscsi/iqn.2019-05.com.example:server2/tpg1/acls
/iscsi/iqn.20...er2/tpg1/acls> create iqn.2019-05.com.example:client
安装iscsi-*
[root@server1 ~]# yum install -y iscsi-*
修改客户端的iscsi加密服务文件的问题,及添加服务端的钥匙:
[root@server1 ~]# vim /etc/iscsi/initiatorname.iscsi
文件编辑内容如下(添加服务端的设置的客户端的磁盘目录):
InitiatorName=iqn.2019-05.com.example:client
登录查看是否共享成功:
[root@server1 ~]# iscsiadm -m discovery -t st -p 172.25.16.2
[root@server1 ~]# systemctl restart iscsid
[root@server1 ~]# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2019-05.com.example:server2, portal: 172.25.16.2,3260] (multiple)
Login to [iface: default, target: iqn.2019-05.com.example:server2, portal: 172.25.16.2,3260] successful.
5.在server1上创建共享的磁盘分区挂载并且进行验证
a.创建分区并且进行格式化
b.挂载格式化后的分区
[root@server1 ~]# mount /dev/sdb1 /mnt
[root@server1 ~]# cd /var/lib/mfs/ 这是mfs的数据目录
[root@server1 mfs]# ls
changelog.2.mfs changelog.4.mfs changelog.6.mfs metadata.mfs metadata.mfs.empty
changelog.3.mfs changelog.5.mfs metadata.crc metadata.mfs.back.1 stats.mfs
[root@server1 mfs]# cp -p * /mnt/ 带权限拷贝/var/lib/mfs的所有数据文件到/dev/sdb1上
[root@server1 mfs]# cd /mnt/
[root@server1 mnt]# ls
changelog.2.mfs changelog.4.mfs changelog.6.mfs metadata.crc metadata.mfs.back.1 stats.mfs
changelog.3.mfs changelog.5.mfs lost+found metadata.mfs metadata.mfs.empty
[root@server1 mnt]# chown mfs.mfs /mnt 当目录属于mfs用户和组时,才能正常使用
[root@server1 mnt]# cd
[root@server1 ~]# umount /mnt
[root@server1 ~]# mount /dev/sdb1 /var/lib/mfs/ # 使用分区,测试是否可以使用共享磁盘
[root@server1 ~]# systemctl start moosefs-master 服务开启成功,就说明数据文件拷贝成功,共享磁盘可以正常使用
[root@server1 ~]# systemctl stop moosefs-master
6.在server4上操作同server1
a.下在相应的iscsi客户端并且登录查看共享是否成功
[root@server4 system]# yum install -y iscsi-*
[root@server4 system]# vim /etc/iscsi/initiatorname.iscsi
文件编辑内容如下:
InitiatorName=iqn.2019-05.com.example:client
[root@server4 system]# iscsiadm -m discovery -t st -p 172.25.16.2
[root@server4 system]# iscsiadm -m node -l
[root@server1 system]# pcs resource create mfsdata ocf:heartbeat:Filesystem device=/dev/sdb1 directory=/var/lib/mfs/ fstype=xfs op monitor interval=30s
查看创建的资源:
创建mfsd文件系统,把服务集中在一台主机上:
[root@server1 ~]# pcs resource create mfsd systemd:moosefs-master op monitor interval=1min
[root@server1 ~]# pcs resource group add mfsgroup vip mfsdata mfsd
[root@server1 ~]# crm_mon 使用该命令再次查看:
测试:
关掉server1上的master服务:
查看发现master上的服务迁移到back master上也就是server4
1.先在客户端测试高可用
[root@server3 ~]# systemctl start moosefs-chunkserver
[root@server3 ~]# ping mfsmaster 保证解析可以通信