mfs 基本用法

mfs的特点:数据可以存储在多个机器上的多个副本;可回收在指定时间内删除的;可动态扩展随时新增加机器或者是磁盘.

172.25.45.2 server2.example.com  master      管理服务器

172.25.45.3 server3.example.com  chunkservers  数据存储服务器

172.25.45.4 server4.example.com  chunkservers

172.25.45.5 server5.example.com  clients     客户机挂载使用

管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复.多节点拷

贝。

数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数

据传输。

元数据日志服务器: 负责备份 master 服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在 master server 出问题的时候接替其进行工作。

客户端:通过 fuse 内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文

件系统和本地 unix 文件系统使用一样的效果。

  1. master端的安装:

    server2:

yum install rpm-build -y

cd /root

rpmbuild -tb mfs-1.6.27-5.tar.gz

cp mfs-1.6.27-5.tar.gz rpmbuild/SOURCES/

cp mfs-1.6.27-5.tar.gz  mfs-1.6.27.tar.gz

yum install fuse-devel  gcc -y

rpmbuild -tb mfs-1.6.27-5.tar.gz    ##编译mfs

cd cd /root/rpmbuild/RPMS/x86_64

ls                                  ##编译成功

mfs-cgi-1.6.27-4.x86_64.rpm

mfs-cgiserv-1.6.27-4.x86_64.rpm

mfs-chunkserver-1.6.27-4.x86_64.rpm

mfs-client-1.6.27-4.x86_64.rpm

mfs-master-1.6.27-4.x86_64.rpm

mfs-metalogger-1.6.27-4.x86_64.rpm

rpm  -ivh  mfs-master-1.6.27-4.x86_64.rpm mfs-cgi-1.6.27-4.x86_64.rpm mfs-cgiserv-1.6.27-4.x86_64.rpm

cd /etc/mfs/

cp mfsexports.cfg.dist mfsexports.cfg

cp mfsmaster.cfg.dist mfsmaster.cfg

cp mfstopology.cfg.dist mfstopology.cfg

cd  /var/lib/mfs/

chown nobody . -R    ##

cp metadata.mfs.empty metadata.mfs

mfsmaster      ##启动master

ls

##mfsmaster.lock 文件记录正在运行的mfsmaster的主进程metadata.mfs, metadata.mfs.back MooseFS 文件系统的元数据 metadata 的镜像changelog.*.mfs 是 MooseFS 文件系统元数据的改变日志(每一个小时合并到 metadata.mfs中一次)

mfscgiserv     ##启动 CGI 监控服务

cd /usr/share/mfscgi/

chmod +x *.cgi

2.配置chunkserver端:

   server3:

rpm -ivh mfs-chunkserver-1.6.27-4.x86_64.rpm

cd /etc/mfs/

cp mfschunkserver.cfg.dist mfschunkserver.cfg

cp mfshdd.cfg.dist mfshdd.cfg

mkdir /var/lib/mfs

chown nobody /var/lib/mfs

cd /mnt

mkdir chunk1

chown nobody /mnt/chunk1/

vim  /etc/mfs/mfshdd.cfg    ##定义 mfs 共享点

/mnt/chunk1

vim /etc/hosts

172.25.45.2 server2.example.com  mfsmaster

mfschunkserver

   在server4:

只有在cd /mnt

mkdir chunk2

chown nobody /mnt/chunk2/

vim  /etc/mfs/mfshdd.cfg

/mnt/chunk2

其余操作都相同

在浏览中打开172.25.45.2:9045

3.配置client端:

  server5:

yum install fuse-libs -y

rpm -ivh mfs-client-1.6.27-4.x86_64.rpm

cd /etc/mfs

cp mfsmount.cfg.dist  mfsmount.cfg

vim mfsmount.cfg                    ####定义 mfs 共享点

/mnt/mfs

mkdir /mnt/mfs

vim /etc/hosts

172.25.45.2 server2.example.com  mfsmaster

mfsmount

df

检测:

cd /mnt/mfs

mkdir dir1

mkdir dir2

cp /etc/passwd  /mnt/mfs/dir1

mfsfileinfo passwd             ##查看文件信息

passwd:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 172.25.45.3:9422

mfssetgoal -r 2  /mnt/mfs/dir2/   ##设置在 dir2 中文件存储份数为两个

cp /etc/fstab /mnt/mfs/dir2

cd /mnt/mfs/dir2

mfsfileinfo fstab

fstab:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.45.3:9422
copy 2: 172.25.45.4:9422

关闭server4上的mfschunkserver:

mfsfileinfo fstab

fstab:
chunk 0: 0000000000000002_00000001 / (id:2 ver:1)
copy 1: 172.25.45.3:9422

启动server4上的mfschunkserver 后,文件恢复正常。

cd /mnt/mfs/dir2

dd if=/dev/zero of=file3 bs=1M count=100

mfsfileinfo file3

关闭server4上的mfschunkserver:

mfsfileinfo file3

恢复被误删的文件:

可以用mfsgettrashtime来查看文件删除后存放在垃圾箱中的时间,单位为秒,默认为86400秒。

cd /mnt/mfs/dir1

rm -fr passwd

mkdir /mnt/mfsmeta

mfsmount -m /mnt/mfsmeta

##挂载mfsmeta文件系统,它包含目录 trash (包含仍然可以被还原的删除文件的信息)和trash/undel (用于获取文件)。把删除的文件,移到/ trash/undel 下,就可以恢复此文件。

cd /mnt/mfsmeta/trash

mv 00000004\|dir1\|passwd  undel/

会发现被删除的passwd又会回到到/mnt/mfs/dir1中

在mfsmeta的目录里,除了 trash 和 trash/undel 两个目录,还有第三个目录 reserved,该目

录内有已经删除的文件,但却被其他用户一直打开着。在用户关闭了这些被打开的文件后,reserved 目录中的文件将被删除,文件的数据也将被立即删除。此目录不能进行操作。

时间: 2024-10-30 21:55:06

mfs 基本用法的相关文章

MFS文件系统安装、使用详解

MooseFS文件系统介绍 MooseFS是一种分布式文件系统,MooseFS文件系统结构包括以下四种角色: 1 .管理服务器managingserver (master) 负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复多节点拷贝 2 .元数据日志服务器Metaloggerserver(Metalogger) 负责备份master服务器的变化志文件,文件类型为changelog_ml.*.mfs,以便于在masterserver出问题的时候接替其进行工作. 3 .数据存储服务器

MFS安装配置使用

MFS server:192.168.209.18groupadd mfsuseradd -g mfs mfscd /usr/srctar xzvf mfs-1.6.27-5.tar.gzcd mfs-1.6.27./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver

js中获取时间new date()的用法

js中获取时间new date()的用法 获取时间:   var myDate = new Date();//获取系统当前时间 获取特定格式的时间: 1 myDate.getYear(); //获取当前年份(2位) 2 myDate.getFullYear(); //获取完整的年份(4位,1970-????) 3 myDate.getMonth(); //获取当前月份(0-11,0代表1月) 4 myDate.getDate(); //获取当前日(1-31) 5 myDate.getDay();

20.5 Shell脚本中的逻辑判断;20.6 文件目录属性判断;20.7 if特殊用法;20.8 20.9 cace判断(上下)

扩展: select用法 http://www.apelearn.com/bbs/thread-7950-1-1.html 20.5 Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 1. 创建if1.sh测试脚本: [[email protected] ~]# vi if1.sh a=5,如果a大于3,满足这个条件,显示ok 添加内容: #!/bin/bash a=5 if [ $a -gt 3 ] then echo ok fi 2. 执行if1.sh脚本: [[e

20.1 Shell脚本介绍;20.2 Shell脚本结构和执行;20.3 date命令用法;20.4 Shell脚本中的变量

20.1 Shell脚本介绍 1. shell是一种脚本语言 aming_linux blog.lishiming.net 2. 可以使用逻辑判断.循环等语法 3. 可以自定义函数 4. shell是系统命令的集合 5. shell脚本可以实现自动化运维,能大大增加我们的运维效率 20.2 Shell脚本结构和执行 1. 开头(首行)需要加: #!/bin/bash 2. 以#开头的行作为解释说明: 3. 脚本的名字以.sh结尾,用于区分这是一个shell脚本 4. 执行.sh脚本方法有两种:

shell 中seq的用法 echo -n用法

用法:seq [选项]... 尾数 或:seq [选项]... 首数 尾数 或:seq [选项]... 首数 增量 尾数 从1循环到100的两种方法(bash 其它的shell没试过)for x in `seq 1 100`;do echo $x;donefor x in {1..100};do echo $x;done echo -n 不换行输出 $echo -n "123" $echo "456" 最终输出 123456 echo -e 处理特殊字符 若字符串中

sudo的用法

su -l user -C 'COMMAND' 是用user这个用户执行命令 我们一般使用sudo 这个命令 sudo [-u] user COMMAND sudo [-k] COMMAND 清除此前用户的密码. sudo的配置文件/etc/sudoers 配置项为 users    hosts=(runas)    commands users:可以是一个用户的名称也可以是一个组,也可以是一个别名 username #UID user_alias 用户别名的用法 User_Alias NETA

几招学会 Python 3 中 PyMongo 的用法

本文和大家分享的是Python3下MongoDB的存储操作相关内容,在看本文之前请确保你已经安装好了MongoDB并启动了其服务,另外安装好了Python的PyMongo库.下面进入正题,一起来看看吧,希望对大家学习Python3有所帮助. 连接MongoDB 连接MongoDB我们需要使用PyMongo库里面的MongoClient,一般来说传入MongoDB的IP及端口即可,第一个参数为地址host,第二个参数为端口port,端口如果不传默认是27017. import pymongo cl

11 css中分组选择符的用法

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> h1,span{color:red;} a:hover{color:#2EE926;} /*分组选择符的用法*/ </style> </head> <body&