mfs简介:
MooseFS是一个具有容错性的网络分布式文件系统。它把数据分散存放在多个物理服务器上,而呈现给用户的则是一个统一的资源。
常规特征:1.分层次的结构,存储POSIX文件属性,支持特殊文件,符号连接和硬连接,对文件系统的访问可以通过IP地址和密码进行限制。
独有特征:高可靠,通过附加新的计算机或者硬盘可以实现容量的动态扩展,删除的文件可以根据一个可配置的时间周期进行保留,不受访问和写入影响的文件连贯快照
实验环境:
rhel6.5 ,selinux和iptables均为disabled状态
server1: 172.25.254.1 mfsmaster
server4: 172.25.254.4 mfsbackup
serer2: 172.25.254.2
server3: 172.25.254.3
server4: 172.25.254.4
实验物理机: 172.25.254.44
操作步骤:
创建master环境:
在server1上下载所需要的安装包,并且安装三个包cgi,cgiserv(图形界面),master
解析mfsmaster
查看是否生成了master文件和export文件
开启服务,查看端口,有9419,9420,9421
创建chunkserver
将chunkserver传给server2和server3
给server2安装
同样解析mfsmaster
创建chunk
将挂载写入文件
开启服务
查看文件内存
给server3安装服务
写入mfsmaster解析
创建chunk2
将挂载写入文件
开启服务
挂载测试:
测试机为物理机172.25.254.44
物理机解析mfsmaster
创建一个新目录,用来挂载
编写mfsmount文件,写入挂载目录
mfs挂载,挂载成功
为了实验效果明显,创建两个目录
将两个目录其中的一个目录的挂载ip设置为一个(本实验将dir1设置为一个)
在dir1中,随便拷贝点文件,用来做检测,发现挂载在172.25.254.3(chunk2)上
在dir2中,发现挂载在两个节点上
做测试,停掉172.25.254.3上的chunkserver服务
发现dir1/的文件没有地方挂载了,虽然文件还在,却查看不了,这是因为passwd的源数据存储在了master里,真实数据存在了server3上
发现dir2/的文件只能挂载在server2上了,但是fstab依旧可以cat
开启server3的服务之后
发现dir1和dir2的chunkserver节点回来了,况且dir1中的passwd也可以cat了
开启master的图形管理界面
在浏览器中172.25.254.1:9425/mfs.cgi
设定存储模式:
新建dir2中的bigfile文件的大小为100m,故要在两个chunkserver中各存储两块(因为一个块的大小为64m,故分开存储两次)
新建dir1中的bigfile文件大小为100M,故dir1要各存储一个块
主动删除后,系统保留时间及找回文件
查看文件被确认删除后还会保留在chunkserver中的时间是多少秒
新建目录,挂载
恢复删除的dir1中的passwd文件
trash中生成很多目录
可以找到passwd文件,将对应的00000007文件(因为0000004是之前做错实验,被删的dir1中的passwd文件)挪入到undel目录中,就可以恢复了,在dir1中就可以找到
文件缺失,开启不了服务
在master服务开启的时候,/var/lib/mfs/中有这些文件
关闭服务之后,就会多一个文件
开启服务
kill掉进程后,发现开启不了了,也少了一个文件
发现服务开启不了了
此时有两种解决方法
1.手动复制文件
2.改写配置文件,将失败时的策略改为修复的过程
mfs高可用:
pacemaker是一个开源的高可用资源管理器(CRM),位于HA集群架构中资源管理、资源代理(RA)这个层次,它不能提供底层心 跳信息传递的功能,要想与对方节点通信需要借助底层的心跳传递服务,将信息通告给对方。(作为通信层和提供关系管理服务,心跳引擎,检测心跳信息)
Corosync是集群管理套件的一部分,它在传递信息的时候可以通过一个简单的配置文件来定义信息传递的方式和协议等。
使用pacemaker配置时需要安装pacemaker的接口,程序接口为crmshell,早期装上pacemaker自带有crmshell接口,新版本已被独立出来,不再是pacemaker组成部分。而crmshell又依赖于pssh相关包,因此得安装这两个组件。
在server4上配好yum源,并且下载pacemaker corosync