mfs使用指引

客户端工具集

	mfsgetgoal		#设定副本数mfssetgoal		#获取副本数mfscopygoal		# mfsgetsclass mfssetsclass mfscopysclass mfsxchgsclass mfslistsclass mfsgettrashtime #设定回收站时间 mfssettrashtime #设定回收站时间 mfscopytrashtime mfsgeteattr #设置权限 mfsseteattr #获取权限 mfsdeleattr mfscopyeattr mfsgetquota mfssetquota mfsdelquota mfscopyquota mfscheckfile #检查文件 mfsfileinfo #文件信息 mfsappendchunks mfsdirinfo #目录信息 mfsfilerepair #文件修复 mfsmakesnapshot #快照 mfsfilepaths mfschkarchive mfssetarchive mfsclrarchive mfsscadmin deprecated tools: // 递归设置 mfsrgetgoal = mfsgetgoal -r mfsrsetgoal = mfssetgoal -r mfsrgettrashtime = mfsgettreshtime -r mfsrsettrashtime = mfssettreshtime -r

mfsmaster运行目录下的文件介绍

     metadata.mfs.back  #MFS元数据信息,延迟将内存数据写入文件,默认频率1h,默认1d同步一次此文件到metalogger server changelog.*.mfs #文件操作日志记录,实时记录、同步到metalogger server sessions.mfs #客户操作状态记录 stats.mfs #?

mfsmaster的权限管理(类似于nfs的exports文件)

	vi /etc/mfs/mfsexports.cfg #客户端IP 允许挂载的目录 客户端拥有的权限 192.168.1.5 / rw,alldirs,maproot=0 # /标识MFS的根(读写的方式共享,允许挂载任何指定的子目录) 192.168.0.0/24 . rw # .标识MFSMETA 文件系统 #客户端 #目录部分需要注意两点 #权限部分 #* 所有客户机 / 标识MooseFS 根 ro 只读模式共享 #f.f.f.f 单个主机 . 表示MFSMETA 文件系统 rw 读写的方式共享 #f.f.f.f/p 某个子网段 alldirs 允许挂载任何指定的子目录 #f.f.f.f-d.d.d.d 某两个ip段区间 maproot 映射为root,还是指定的用户 password 指定客户端密码

客户端挂载文件系统(使用命令:mfsmount)

mfsmount可用参数-H	#接管理服务器IP -P #接管理服务器端口 -S #指出被挂接mfs 目录的子目录,默认是/目录,就是挂载整个mfs 目录 -m #这样可以挂载一个辅助的文件系统mfsmeta,辅助文件系统可以在如下两个方面恢复丢失的数据

设定数据副本数量

#设定数据副本数量#在客户挂载好的目录下创建,两个用于测试的目录mkdir /data/test{1,2} #设置存放文件的份数 mfssetgoal 1 /data/test1 #注意:对于已经存在的文件不会改变其副本数,只对后续新写入的文件副本数生效 mfssetgoal -r 2 /data/test2 #此时所有已存在的文件及子目录副本数为2,并且新写入的文件和子目录的副本数也为2 #注意若是空文件,那么在后端chunk上是不会创建文件的,只会出现在元数据中 #注意:文件及目录所保留的真实副本数是依据数据存储服务器的数量,如果数据存储服服务器只有两台,但却为文件及目录设定了3个副本的话,最后的真实副本数为2 #复制文件到对应的目录 cp /etc/hosts /data/test1 cp /etc/hosts /data/test2 #验证1 [root@client68 ~]# mfsfileinfo /data/test1/hosts /data/test1/hosts: chunk 0: 0000000000000029_00000001 / (id:41 ver:1) copy 1: 192.168.1.65:9422 (status:VALID) [root@client68 ~]# mfsfileinfo /data/test2/hosts /data/test2/hosts: chunk 0: 000000000000002A_00000001 / (id:42 ver:1) copy 1: 192.168.1.66:9422 (status:VALID) copy 2: 192.168.1.67:9422 (status:VALID) #验证2 [root@client68 ~]# mfsgetgoal /data/ /data/: 2 [root@client68 ~]# mfsgetgoal /data/test1 /data/test1: 1 [root@client68 ~]# mfsgetgoal /data/test2 /data/test2: 2

设定垃圾回收站,回收时间(使用命令:mfssettrashtime ,可以使用-r 参数递归)

	#一个被删除文件能够存放在一个“ 垃圾箱”的时间就是一个隔离时间, 这个时间可以用 mfsgettrashtime 命令来验证,也可以使用`mfssettrashtime 命令来设置#设置删除文件最长保留时间,单位为秒(0:表示立即彻底删除,1小时:3600;1天:86400;一周:604800;1月:2592000)mfssettrashtime 64800 /data/test1 mfsgettrashtime /data/test1 #获取删除文件最长保留时间(验证)

快照snapshot(使用命令:mfsmakesnapshot)

快照snapshot(使用命令:mfsmakesnapshot #可以给任何一个文件或目录树做快照,前提是必须是在mfs体系里的 #语法:mfsmakesnapshot src dst mfsmakesnapshot /data/test2/hosts /data/ #是在一次执行中整合了一个或是一组文件的拷贝,而且任何修改这些文件的源文件都不会影响到源文件的快照, 就是说任何对源文件的操作,例如写入源文件,将不会修改副本 a:对一个文件做snapshot后,查看两个文件的块,是同一个块。把原文件删除,原文件删除后(回收站中最初可以看到,但一段时间后,回收站中就彻底删除了),snapshot文件仍然存在,并且可以访问。使用mfsfileinfo查看,发现仍然是原来的块。 b:对一个文件做snapshot后,查看两个文件的块,是同一个块。把原文件修改后,发现原文件使用的块名变了,即使用的是一个新块。而snapshot文件仍然使用原来的块。

如何在回收站(trash)中将删除的数据恢复

如何在回收站(trash)中将删除的数据恢复#思路:在垃圾箱有效时限内,挂载mfsmeta文件系统,定位到被删除的文件,将其移动到所在目录下的 undel 目录即可 1:确保垃圾箱的回收时间稍大一点,方便做实验 [root@client68 undel]# mfsgettrashtime /data/test1/ /data/test1/: 86400 2:创建文件,输入内容,然后保存,并删除 touch /data/test1/hello echo "我们是共产主义接班人" >> /data/test1/hello rm /data/test1/hello 3:先挂载mfsmeta文件系统 mount -m -H 192.168.1.61 /tmp/ceshi 4:定位文件(根据文件名) [root@client68 ~]# find /tmp/ceshi/trash/ -name "*hello*" /tmp/ceshi/trash/00F/0000000F|test1|hello 5:查看定位到文件内容(注意:一定要用单引号) [root@client68 ~]# cat '/tmp/ceshi/trash/00F/0000000F|test1|hello' test1/hello 6:恢复文件成功(移动这个文件到文件所在目录下的undel下面,将会使原始的文件恢复到正确的MFS文件系统原来的路径下) [root@client68 ~]# cd /tmp/ceshi/trash/00F [root@client68 00F]# ls 0000000F|test1|hello undel [root@client68 00F]# pwd /tmp/ceshi/trash/00F [root@client68 00F]# mv 0000000F\|test1\|hello ./undel/ [root@client68 00F]# ls /data/test1/ hello [root@client68 00F]# cat /data/test1/hello 我们是共产主义接班人 #注意:在恢复文件的时候,原来被删文件下面的目录下,不能有同名文件,不然恢复不成功

MFS元数据备份

通常元数据有两部分的数据:#主要元数据文件metadata.mfs,当mfsmaster 运行的时候会被命名为metadata.mfs.back元数据改变日志changelog.*.mfs,存储了过去的N 小时的文件改变(N 的数值是由BACK_LOGS参数设置的,参数的设置在mfschunkserver.cfg 配置文件中)。 #主要的元数据文件需要定期备份,备份的频率取决于取决于多少小时changelogs 储存。元数据changelogs 实时的自动复制。1.6版本中这个工作都由metalogger完成。

MFSMaster的恢复

	#需要最后一个元数据日志changelog 并入主要的metadata 中。这个操作时通过 mfsmetarestore 工具做的#先修复(几次测试发现:如果mfsmetarestore -a无法修复,则使用metalogger也无法修复)mfsmetarestore -a #如果master 数据被存储在MooseFS 编译指定地点外的路径,则要利用-d 参数指定使用,如: mfsmetarestore -a -d /opt/mfsmaster #再启动(才能成功) #强制使用metadata.mfs.back创建metadata.mfs,可以启动master,但应该会丢失1小时的数据。 #明确表示会丢失故障点到上一个整点之间的数据。和之前我猜测的一致。因为对mfs的操作日志都记录到changelog.0.mfs里面。changelog.0.mfs每小时合并一次到metadata.mfs中,如果突然断电,则changelog.0.mfs里面的信息就没有合并到metadata中,强制使用metadata.mfs.back创建metadata.mfs,就会导致丢失changelog.0.mfs里的数据。

从MetaLogger中恢复Master

	#在MetaLogger上,使用mfsmetarestore -a 命令,合并changelogs,然后将其角色提升为mfsmaster.#强制使用metadata.mfs.back创建metadata.mfs,可以启动master,但丢失的数据暂无法确定

转载于:https://www.cnblogs.com/lvcisco/p/9272462.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/279964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【命名规范】.NET中的枚举类型,要以Enum结尾吗?

“首先要给它一个名字,然后你才能描述它。”图片:北京的晚霞 摄影师:刘先生这个话题源于公司《.NET技术规范》中的一条:【强制】枚举声明应以Enum结尾我对此并不认同:首先,引用一下微软官方文档中&#xff…

Linux中防火墙(一)

一:前言防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作&#x…

macos安全性偏好设置_如何更改macOS系统偏好设置的布局

macos安全性偏好设置If you don’t care for the way the System Preferences appear in macOS, you can change them by hiding certain preference panels or by rearranging them alphabetically. 如果您不喜欢系统偏好设置在macOS中的显示方式,则可以通过隐藏某…

机器视觉技术在表面缺陷检测方面的发展趋势

导读:机器视觉技术在表面缺陷检测方面的发展趋势如何?很多人都不了解,据悉,目前工业中应用的机器视觉检测绝大部分执行的是二维检测任务,三维机器视觉检测仍处于理论研究和试验阶段。除此之外,机器视觉检测…

J.U.C之AQS

AQS是J.U.C的核心 AQS(AbstractQueuedSynchronizer)队列同步器,AQS是JDK下提供的一套用于实现基于FIFO等待队列的阻塞锁和相关的同步器的一个同步框架。 同步器面向的是锁的实现者,它简化了锁的实现方式,屏蔽了同步状态管理、线程的排队、等待…

.NET周报【12月第3期 2022-12-23】

由于众所周知的原因,大佬们纷纷加入羊群,笔者也未能幸免,体验下来这绝对不是普通感冒的症状,身体不适,熬了几天,所以本周更新比较晚;另外精力有限,对于国际板块只有链接没有简介&…

亚马逊的vps多少钱一个月_如何查看您在亚马逊上花了多少钱

亚马逊的vps多少钱一个月Have you ever wondered how much you’ve spent at Amazon during your lifetime? Whether you’re feeling curious or just plain brave, there’s an easy way to find out. 您是否想过一生在亚马逊上花了多少钱? 无论您是好奇还是勇敢…

JavaScript-client、offset、scroll、定时器

client offset scroll client、offset、scroll系列 他们的作用主要与计算盒模型,盒子的偏移量和滚动有关 clientTop 内容区域到边框顶部的距离, 说白了, 就是边框的高度 clientLeft 内容区域到边框左部的距离, 说白了&#xff0…

Java 五大原则

1、单一职责 不论是在设计类,接口还是方法,单一职责都会处处体现,单一职责的定义:我们把职责定义为系统变化的原因。所有在定义类,接口,方法的时候。定义完以后再去想一想是不能多于一个的动机去改变这个类…

马化腾发飙:很多业务该砍就砍,一批员工要被裁了

最近腾讯内部会议,马化腾内部讲话,频频上了热搜。在会议中,马化腾难得发飙表示:很多不盈利的业务该砍就砍。从网络新闻报道来看,可能超过40个业务即将关掉,甚至包括幻核、QQ影音、看点快报、搜狗地图、腾讯…

在ASP.Net和IIS中删除不必要的HTTP响应头

引入 每次当浏览器向Web服务器发起一个请求的时,都会伴随着一些HTTP头的发送.而这些HTTP头是用于给Web服务器提供一些额外信息以便于处理请求。比如说吧。如果浏览器支持压缩功能,则浏览器会发送Accept-Encoding HTTP头,这样一来服务器便知道…

SAP Customer Data Cloud(Gigya)的用户搜索实现

我在Gigya前台根据email搜索,输入一个邮箱地址,回车,在Chrome开发者工具里观察到到后台的网络请求: 这是一个post请求: __RequestVerificationToken 请求体: {"query":"SELECT * FROM accou…

C# ComboBox枚举量绑定的 两种方法

概述ComboBox绑定枚举量的方法有很多&#xff0c;今天列举比较常用的两种&#xff0c;希望对读者们一些帮助&#xff01;代码讲解前台XMAL:<StackPanel><ComboBox Name"EvenType1" SelectedIndex"0" Margin"5"/><ComboBox Name&…

springboot + mybatis + gradle项目构建过程

1.从Spring boot官网根据需求下载脚手架或者到GitHub上去搜索对应的脚手架项目,D_iao ^0^ • 文件目录如下&#xff08;此处generatorConfig.xml 和 log4j2.xml文件请忽略&#xff0c;后续会讲解&#xff09; 2.使用Mybatis代码自动构建插件生成代码 • gradle 相关配置 // My…

基于间隔推送全量更新数据状态的设计方法

2019独角兽企业重金招聘Python工程师标准>>> 假如有个直播间&#xff0c;在数据有更新的时候&#xff0c;能及时反映在客户端上。通信方式来说&#xff0c;有两种&#xff1a; 1、拉取模式。 2、推送拉取模式&#xff08;或者纯推送&#xff09; 拉取模式&#xff0…

Redis 哈希(Hash)

哈希hash又称为散列、杂凑等&#xff0c;是将任意长度的输入通过散列算法变换为固定长度的输出&#xff0c;最终输出也就是哈希值。这种转换是一种压缩映射。也就是说&#xff0c;散列值的空间通常要远小于输入控件&#xff0c;不同的输入可能会散列成相同的输出&#xff0c;所…

京东Vue组件库NutUI 2.0发布:将支持跨平台!

NutUI 是一套来自京东用户体验设计部&#xff08;JDC&#xff09;前端开发部的移动端 Vue 组件库&#xff0c;NutUI 1.0 版本于 2018 年发布。据不完全统计&#xff0c;目前在京东至少有30多个 web 项目正在使用 NutUI。 经过一段时间紧锣密鼓的开发&#xff0c;近期&#xff0…

macbook 下载时睡眠_MacBook进入睡眠状态时如何自动使其静音

macbook 下载时睡眠You open your MacBook to take notes in class or during a meeting, and your music starts playing. Loudly. Not only did you disrupt everyone, you also revealed your passion for 90’s boy bands to a room full of people who once respected you…

Mac 的mysql5.7没有配置文件,如何解决only_full_group_by 问题

数据库版本是5.7.19&#xff0c;在写语句的时候&#xff0c;只要涉及ORDER BY,就会报错&#xff0c; ERROR 1055 (42000): Expression #7 of SELECT list is not in GROUP BY clause and contains nonaggregated column postscan.verifyDelayLog.auditor which is not function…

Spring MVC 入门(一)

什么是 Spring MVC 学习某一样东西之前&#xff0c;我们一定要大致知道这个东西是什么&#xff0c;能干什么&#xff0c;为什么要用它。 Spring MVC 是一个开源平台&#xff0c;一个基于 Spring 的 MVC 框架&#xff0c;它支持基于 Java 开发 Web 应用程序。MVC 架构很利于开发…