mfs分布式系统使用总结

mfs 挂载点  /mnt/mfs

一、模拟:客户端误删除源码包

恢复流程:

a) ./reserved ./trash 出现这两个目录

b) ./trash下,有一个./undel的目录,还有一些被删除的以8位16进制命名的目录,并且以"|"作为目录符号,再加上被删除文件名字。(如果文件名字大于系统支持的255最大长度时,将从左到右进行裁剪,直到满足255)

规则:00000009|1,1代表删除的文件。

0000002E|123|tst 代表123目录下tst文件,如果123目录被一起删除,恢复的时候123这个目录也会被一同恢复出来。

c) 如果想恢复文件,把00000009|1该文件移动到/mnt/mfsmeta/trash/undel下,文件即可恢复。

d) ./reserved这个目录的作用是针对那些已被彻底删除但目前正被打开着的文件。

[[email protected] mfs]# ll /mnt/mfs/hello/
total 16
-rw-r--r-- 1 root root     0 Nov 30 03:49 1.txt
-rw-r--r-- 1 root root 14540 Nov 30 07:12 epel-release-6-8.noarch.rpm
-rw-r--r-- 1 root root   931 Nov 30 03:49 passwdbak

1.删除文件

cd /mnt/mfs/hello/
[[email protected] hello]# rm epel-release-6-8.noarch.rpm 
rm: remove regular file `epel-release-6-8.noarch.rpm‘? y

2.创建文件还原目录

mkdir /mnt/test
/usr/local/mfs/bin/mfsmount  -m /mnt/test/ -H 192.168.50.119

3.恢复文件

cd /mnt/test/trash/
[[email protected] trash]# ll
total 15
-rw-r--r-- 1 root root 14540 Nov 30 07:12 00000006|hello|epel-release-6-8.noarch.rpm
d-w------- 2 root root     0 Dec  1 22:02 undel
[[email protected] trash]# mv 00000006\|hello\|epel-release-6-8.noarch.rpm  undel/

4.到mfs客户端挂载点查看

[[email protected] mfs]# ll /mnt/mfs/hello/
total 16
-rw-r--r-- 1 root root     0 Nov 30 03:49 1.txt
-rw-r--r-- 1 root root 14540 Nov 30 07:12 epel-release-6-8.noarch.rpm
-rw-r--r-- 1 root root   931 Nov 30 03:49 passwdbak

二、模拟元数据服务器进程被意外结束,执行恢复操作

1) 停止元数据服务器

kill -9 杀掉mfsmaster进程

2)备份元数据服务器数据

# cd /usr/local/mfs/var

# tar cvf mfs.tar mfs

3)启动元数据服务器

/usr/local/mfs/sbin/mfsmaster start

提示初始化数据失败

4)执行恢复操作

# /usr/local/mfs/sbin/mfsmetarestore -a

5)启动元数据服务器

/usr/local/mfs/sbin/mfsmaster start

6)客户端挂载验证数据是否还存在

三、模拟进程被意外关闭,并且日志文件被损毁。

1) 停止元数据服务器

kill -9 杀掉mfsmaster进程

2)备份元数据服务器数据(该操作主要以防实验失败,集群无法恢复而做的一个预防操作)

# cd /usr/local/mfs/var

# tar cvf mfs.tar mfs

3)删除目录,模拟故障

# rm -rf mfs/*

4)启动元数据服务器

/usr/local/mfs/sbin/mfsmaster start

提示初始化数据失败

5)从元数据日志服务器把备份文件恢复过来

# rsync -alvR 192.168.242.133:/usr/local/mfs/var/mfs /

把所有文件名字去掉_ml

6)执行恢复操作

# /usr/local/mfs/sbin/mfsmetarestore -a

7)启动元数据服务器

/usr/local/mfs/sbin/mfsmaster start

8)客户端挂载验证数据是否还存在

mfs常用的一些操作

/usr/local/mfs/bin/mfssetgoal -r 3 hello/        设置备份次数
hello1/:
 inodes with goal changed:               1
 inodes with goal not changed:           0
 inodes with permission denied:          0
/usr/local/mfs/bin/mfsgetgoal hello/        查看文件备份数
hello/: 3
cp /etc/passwd hello/passwdbak 拷贝文件
[[email protected] mfs]# /usr/local/mfs/bin/mfsfileinfo hello/passwdbak    查看文件具体信息
hello/passwdbak:
        chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
                copy 1: 192.168.50.120:9422
[[email protected] mfs]# /usr/local/mfs/bin/mfscheckfile hello/passwdbak 查看文件的实际拷贝份数
hello/passwdbak:
 chunks with 1 copy:              1
设置回收站清空时间
/usr/local/mfs/bin/mfssettrashtime  600 /mnt/mfs/  
ps:600的单位是秒,也就是回收站文件保存的时间为10分钟

快照

MooseFS系统的另一个特征是利用mfsmakesnapshot工具给文件或者是目录树做快照,例如:

$ mfsmakesnapshot source ... destination
mfsmakesnapshot
/usr/local/mfs/bin/mfsmakesnapshot /mnt/mfs/123/tmp2 /mnt/mfs/111/
此命令是一个CP的过程,会自动将tmp2这个文件cp到111目录下。也可以针对一个目录来操作。
mfsappendchunks destination-file source-file ...
当有多个源文件时,它们的快照被加入到同一个目标文件中(每个chunk的最大量是chunk)。
/usr/local/mfs/bin/mfsappendchunks /mnt/mfs/111/shot /mnt/mfs/123/123 /mnt/mfs/123/tmp2
将1个以上的源文件做成一个包,这里是将123和tmp2这两个文件的块追加到shot的块文件中。
注:
源和目标必须都属于mfs体系,即不能将mfs体系中的文件快照到其他文件系统。

维护MFS

维护mfs最重要的是维护元数据服务器的/usr/local/mfs/var/mfs/,MFS的存储修改更新等操作变化都

会记录在这个目录中,因此只要保证这个目录的数据安全就能保证整个MFS的数据安全和可靠性。

启动mfs集群的顺序。安全的启动顺序步骤为:

启动mfsmaster->启动所有的mfschunkserver->启动mfsmetalogger进程

停止mfs集群

在所有的客户端卸载mfs文件系统 -> mfschunkserver -s停止所有的数据存储进程 -> mfsmetalogger -s 停止元数据日志服务进程 -> mfsmaster -s 停止管理服务器进程

数据存储服务器的维护,如果每个文件的goal目标都不小于2,并且没有under-goal文件,那么一个数据存储服务器在任何时候都可以停止或重新启动

mfs管理服务器的恢复

如果元管理服务器崩溃,需要最后一个元数据改变的日志changelog和主要元数据文件metadat.mfs,这个

操作可以通过mfsmetarestore工具来完成

mfsmetarestore -a

执行此命令后会默认在/usr/local/mfs/var/mfs目录自动寻找需要改变的日志文件和主要的元数据,mfsmetarestore在命令恢复时自动查找的是metadata.mfs.back文件。

从备份恢复MFS管理服务器步骤如下

1)安装一个元管理服务器利用同样的配置来配置这台服务器

2)找回metadata.mfs.back文件,也可以从启动的元数据日志服务器中找,放到数据目录如/usr/local/mfs/var/mfs/

3)从元管理服务器宕机之前的任何运行元数据日志服务器上复制最后一个changelog.*.mfs文件放入元管理服务器的数据目录

4) 利用 mfsmetarestore -a 来恢复

参考地址

http://www.wtoutiao.com/p/BeevDt.html

http://www.tanpao.com/archives/39

时间: 2024-12-25 00:49:37

mfs分布式系统使用总结的相关文章

轻松部署MFS分布式文件系统 【内附源码包】

MFS概述 MFS是一种分布式文件系统,它把数据分散存放在多个物理服务器上,前面只放置一台负责"调度"元数据服务器,最终呈现给用户的则是一个统一的资源.优点:相对于集中式文件系统来说,分布式系统拥有更好的扩展性.稳定性.数据的安全性.缺点:master只能做单点,会出现单点故障 常规特征 对标准的文件操作来说,mfs用起来跟其它的类unix系统类似:1.分层次的结构(目录树)2.存储POSIX文件属性(权限.最后访问和修改时间)3.支持特殊文件(块和字符设备.管道以及套接字)4.符号连

学习MFS(一)

MFS概述 MooseFS,是一个具备冗余容错功能的分布式网络文件系统,它将数据分别存放在多个物理server或单独disk或partition上,确保一份数据有多个备份副本,对于访问MFS的client或user来说,整个分布式网络文件系统集群看起来就像一个资源一样,从MFS对文件操作的情况看,相当于一个类unix的FS(ext{3,4}.nfs): a.mfs是一个分层的目录树结构 b.存储支持POSIX标准的文件属性(权限,最后访问和修改时间) c.支持特殊的文件.如:块设备,字符设备,管

mfs故障迁移

迁移测试 1.  安装新的MFS元数据服务器. 2.  复制元数据服务器数据目录(/usr/local/mfs/var/mfs)到这个新的元数据服务器. 3.  停止原先的那个元数据服务器(关闭计算机或停止它的网络服务). 4.  更改新的元数据服务器的ip为原来那个服务器的ip. 5.  启动新的元数据服务 /usr/local/mfs/sbin/mfsmaster start 6.  在MFS客户端检查MFS存储的数据是否跟恢复前一致?能否正常访问等等. 参考地址:http://sery.b

分布式系统中的CAP原理

分布式系统中的CAP原理,布布扣,bubuko.com

分布式系统定义及特点

一.分布式系统定义 分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统. 二.特性 1.副本(Replica)是分布式系统最常见的概念之一,指分布式系统对数据和服务提供的一种冗余方式.在常见的分布式系统中,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理. 1)数据副本指在不同节点上持久同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题的有效手段. 2)服务副本指多个节点提供同样的服务

分布式系统领域有哪些经典论文

0 个回答 默认排序 知乎用户 机器学习 话题的优秀回答者 901 人赞同了该回答 谢邀!五一快乐!分布式系统在互联网时代,尤其是大数据时代到来之后,成为了每个程序员的必备技能之一.分布式系统从上个世纪80年代就开始有了不少出色的研究和论文,我在这里只列举最近15年范围以内我觉得有重大影响意义的15篇论文(15 within 15).1. The Google File System: 这是分布式文件系统领域划时代意义的论文,文中的多副本机制.控制流与数据流隔离和追加写模式等概念几乎成为了分布式

基于Dubbo的分布式系统架构完整教程

1课程介绍20分钟2使用Dubbo对传统工程进行服务化改造的思路介绍15分钟3使用Dubbo对传统工程进行服务化改造55分钟4ZooKeeper注册中心安装29分钟5使用Dubbo对传统工程进行服务化改造后的服务调用测试19分钟6使用Dubbo进行规模服务化前的工程结构优化35分钟7Dubbo管理控制台的安装21分钟8使用Maven构建Dubbo服务的可运行jar包46分钟9在Linux操作系统上手工部署Dubbo服务50分钟10构建Dubbo服务消费者Web应用的war包并在Tomcat中部署

大型网站架构系列:缓存在分布式系统中的应用(三)

本文是<缓存在分布式系统中的应用>第三篇文章. 上次主要给大家分享了,缓存在分布式系统中的应用,主要从不同的场景,介绍了CDN,反向代理,分布式缓存,本地缓存的常规架构和基本原理. 因为时间关于,原计划分享<缓存常见问题>的内容,没有讲.本次主要针对缓存的常见个问题,做一个介绍.主要有以下议题: 一.分享大纲 分享大纲 数据一致性 缓存高可用 缓存雪崩 缓存穿透 参考资料 分享总结 二.数据一致性 缓存是在数据持久化之前的一个节点,主要是将热点数据放到离用户最近或访问速度更快的介质

MFS分布式文件系统安装配置

一.地址规划 主控服务器MasterServer:192.168.11.100            安装Master角色 元数据日志服务器MetaLoggerServer:192.168.11.103          安装metalogger角色 存储服务器Chunk Server:192.168.11.102  192.168.11.110        安装chunkserver角色 客户端Client:192.168.11.111               安装mfsmount角色和