一 mfs 简介
MFS 开源存储系统,是由波兰人发明的,MFS文件系统能够实现RAID的功能,不但能够更节约成本,而且不逊色于专业的存储系统,更重要的是他能够实现在线扩展。MFS是一种半分布式文件系统。
MFS 网络组成由三部分
master server
chunk server
client
其中master server 只有一个,chunk server和client可以有多个,master server负责存储元数据,及相当于数据的索引,因此无论是读还是写都需要经过masterserver分配相应的地址空间和相应的存储列表,以供client端读和写。
mfs 文件系统结构:整个文件系统包含4中角色,分别是:
1 管理服务器 master server
负责管理各个数据存储服务器,调度文件读写,回收文件空间以及恢复多点拷贝
2 元数据日志服务器 metalogger
负责备份管理服务器的日志文件,文件类型为changelog_ms.*.mfs ,以便于在管理服务器出问题时接替其进行工作,元数据日志服务器是mfs1.6以后的新增服务,可以把元数据日志保存在管理服务器中,也可以单独存储在一台服务器中,为保证数据的安全性和可靠性,建议单独用来存放数据日志
3 数据存储服务器 chunk server
真正存储用户数据的服务器,在存储文件时,首先把文件分成块,然后将这些块在数据存储服务器之间互相复制,同时,数据存储服务器还负责链接管理服务器,听从管理服务器的调度,并为客户端服务器提供数据传输,存储服务器可以有多个,并且数量越多,可靠性越大,存储空间也就越高
4 客户端 client
通过fuse内核接口挂载远程管理服务器上所管理的数据存储服务器,使共享的文件系统和使用本地Linux文件系统的效果看起来一样
二 服务安装
软件下载:
链接:https://pan.baidu.com/s/1MK-gHrsV_mlhU6D15XmRkw
密码:xnhd
1 master server 安装
1 安装服务和用于图形化界面的数据包
2 配置mfsmaster 的域名解析,若无此配置,则图形化界面不能出现
3 服务端启动服务和图形化界面
4 查看图形化是否正常出现
2 chunkserver配置
1 复制chunk server数据包到server6 和server7
2 chunkserver端安装服务,以及配置挂载点并授予相应的权限
3 启动chunkserver1 server6的服务
4 配置chunkserver 2 server7 的服务
5 启动chunkserver2 及server7 的服务
6 通过图形化界面进行查看其配置
3 客户端安装配置
1将数据包发送至客户端,并安装配置客户端
2 客户端安装
3 客户端挂载
三 基本实验:
1 挂载及查看其相关数据存储情况
1 通过mfssetgloba -r n 改变其备份的数量并通过相应的查询语法进行查看
2 数据恢复相关
1 查看其数据删除保存时间
其默认保存时间为86400s
2 数据默认数据块大小文64M
3 数据的删除与恢复
四 mfs+pacemaker
一 创建yum源和搭建集群
1 和外网必须互通
2 配置yum源
2 安装集群软件
3 配置认证
两边必须都有认证,并且能够正常通讯
查看认证结果
4 启动集群
1 启动集群服务
2 配置集群密码,用户名为hacluster 不能变,并进行节点间的认证
3 初始化集群,只需在一个节点上操作即可
4 启动集群
5 查看集群状态
5 基本配置
1 配置先关闭fence:
2 配置VIP
3 查看配置结果
4 配置mfs服务启动脚本
5 测试
6 传输到另一个节点server8 上
6 配置共享存储iscsi
1 添加磁盘并查看
2 安装iscsi服务端
3 启动服务并设置开机自启动
4 创建iscsi磁盘
5 客户端安装服务(高可用master 节点上)
6 启动并设置为开机自启动
7 配置密钥
8 进行发现
9 重启服务,加载key
10 查看是否挂载成功
11 另一个客户端安装
12 配置配置文件
13 启动服务并设置开机自启动并发现挂载磁盘
14 查看是否挂载成功
15 分区并格式化磁盘
16 查看
17 测试挂载
18 卸载
19 另一个服务端发现并查看
20 挂载配置
7 slat-master 迁移到共享存储中
1 server8安装服务
2 进行数据迁移
3 挂载查看
4 授权
5 卸载
6 另一节点挂载并测试
7 关闭服务并卸载程序,将此步骤交由集群管理
8 集群添加文件系统及启动脚本
1 添加
2 查看
3 添加启动脚本
4 查看
5 将vip 文件系统和启动脚本加入同一个组中,以便共同切换
6 查看是否添加成功
7 配置相关地址解析,将vip与mfsmaster 进行绑定
8 重启服务并重新挂载
9 进行测试查看
10 关闭之前启动的服务并查看其变化,是否切换到另一个节点且数据无丢失
11 在数据写入过程中关闭服务并查看数据是否丢失
9 fence配置:
1 客户端fence配置:
2 其端口是可以与后面服务通信的端口
3 启动服务
4 服务端安装fence
原因: 因为fence默认读取的是此处的文件