redhat5.8+mfs(提供软件包文档)
Mfs192.168.0.123pankuo1 master server192.168.0.118pankuo2 metalogger server192.168.0.119pankuo3 chunk server chunk server可以开2个看自己机子情况都要2块硬盘192.168.0.120pankuo4 chunk server192.168.0.106pankuo5 chunk server192.168.0.110pankuo6 mfsclientmaster server
# useradd mfs -s /sbin/nologin# cd /tmp/# tar xf mfs-1.6.20-2.tar.gz# cd mfs-1.6.20-2# ./configure --prefix=/usr/local/mfs--with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver--disable-mfsmount# make# make install# cd /usr/local/mfs/etc/主配置文件# cp mfsmaster.cfg.distmfsmaster.cfg 被挂接目录及权限配置# cp mfsexports.cfg.distmfsexports.cfg#cp/usr/local/mfs/var/mfs/metadata.mfs.empty/usr/local/mfs/var/mfs/metadata.mfs#/usr/local/mfs/sbin/mfsmaster startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfsmaster modules ...loading sessions ... oksessions file has been loadedexports file has been loadedloading metadata ...create new empty filesystemmetadata filehas been loadedno charts data file - initializing emptychartsmaster <-> metaloggers module: listenon *:9419master <-> chunkservers module:listen on *:9420main master server module: listen on *:9421mfsmaster daemon initialized properly
启动WEB监控服务#/usr/local/mfs/sbin/mfscgiservstarting simple cgi server (host: any ,port: 9425 , rootpath: /usr/local/mfs/share/mfscgi)
# firefox http://192.168.0.123:9425
chunk server 3个配置都一样
# useradd mfs -s /sbin/nologin# cd /tmp/# tar xf mfs-1.6.20-2.tar.gz# cd mfs-1.6.20-2
# ./configure --prefix=/usr/local/mfs--with-default-user=mfs --with-default-group=mfs --disable-mfsmaster--disable-mfsmount
# make# make install# cd /usr/local/mfs/etc/# cpmfschunkserver.cfg.dist mfschunkserver.cfgmfs使用空间配置# cp mfshdd.cfg.distmfshdd.cfg
# vim/usr/local/mfs/etc/mfschunkserver.cfgMASTER_HOST = 192.168.0.123# mkdir /data# mount /dev/hda1 /data# chown -R mfs:mfs /data# vim mfshdd.cfg/data#/usr/local/mfs/sbin/mfschunkserver startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfschunkserver modules ...hdd space manager: scanning folder /data/...hdd space manager: scanning completehdd space manager: /data/: 0 chunks foundhdd space manager: scanning completemain server module: listen on *:9422no charts data file - initializing emptychartsmfschunkserver daemon initialized properly
metalogger server
# useradd mfs -s /sbin/nologin# cd /tmp/# tar xf mfs-1.6.20-2.tar.gz# cd mfs-1.6.20-2# ./configure --prefix=/usr/local/mfs--with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver--disable-mfsmount# make# make install# cd /usr/local/mfs/etc/# cp mfsmetalogger.cfg.distmfsmetalogger.cfg# vim mfsmetalogger.cfgMASTER_HOST = 192.168.0.123
#/usr/local/mfs/sbin/mfsmetalogger startworking directory: /usr/local/mfs/var/mfslockfile created and lockedinitializing mfsmetalogger modules ...mfsmetalogger daemon initialized properly
mfs client
# yum install fuse fuse-libs fuse-devel
# useradd mfs -s /sbin/nologin# cd /tmp/# tar xf mfs-1.6.20-2.tar.gz# cd mfs-1.6.20-2
# ./configure --prefix=/usr/local/mfs--with-default-user=mfs --with-default-group=mfs --disable-mfsmaster--disable-mfschunkserver# make# make install
# /usr/local/mfs/bin/mfsmount /mnt/mfs -H192.168.0.123mfsmaster accepted connection withparameters: read-write,restricted_ip ; root mapped to root:root# /usr/local/mfs/bin/mfsmount -m/mnt/mfsmeta -H 192.168.0.123mfsmaster accepted connection withparameters: read-write,restricted_ip# df –h
MFS的高级特性
1.冗余goal设置目标(goal),是指文件被拷贝的份数,设定了拷贝的份数后是可以通过mfsgetgoal命令来证实的,也可以通过mfsrsetgoal来改变设定。
/usr/local/mfs/bin/mfssetgoal 3/mnt/mfs/test1/usr/local/mfs/bin/mfsgetgoal/mnt/mfs/test1 /mnt/mfs/test1:3
用mfsgetgoal –r 和mfssetgoal –r 同样的操作可以对整个树形目录递归操作,其等效于mfsrsetgoal命令。实际的拷贝份数可以通过mfscheckfile 和mfsfile info 命令来证实。
注意以下几种特殊情况:一个不包含数据的零长度的文件,尽管没有设置为非零的目标(thenon-zero “goal”),但用mfscheckfile 命令查询将返回一个空的结果;将文件填充内容后,其会根据设置的goal创建副本;这时再将文件清空,其副本依然作为空文件存在。假如改变一个已经存在的文件的拷贝个数,那么文件的拷贝份数将会被扩大或者被删除,这个过程会有延时。可以通过mfscheckfile 命令来证实。对一个目录设定“目标”,此目录下的新创建文件和子目录均会继承此目录的设定,但不会改变已经存在的文件及目录的拷贝份数。可以通过mfsdirinfo来查看整个目录树的信息摘要。
2.垃圾回收站
一个删除文件能够存放在一个“垃圾箱”的时间就是一个隔离时间,这个时间可以用mfsgettrashtime 命令来验证,也可以用mfssettrashtime 命令来设置。如:/usr/local/mfs/bin/mfssettrashtime 64800/mnt/mfs/test1/usr/local/mfs/bin/mfsgettrashtime/mnt/mfs/test1 /mnt/mfs/test1:64800
时间的单位是秒(有用的值有:1 小时是3600 秒,24 – 86400 秒,1天– 604800 秒)。就像文件被存储的份数一样,为一个目录设定存放时间是要被新创建的文件和目录所继承的。数字0 意味着一个文件被删除后, 将立即被彻底删除,在想回收是不可能的。
删除文件可以通过一个单独安装MFSMETA文件系统。特别是它包含目录/trash (包含任然可以被还原的被删除文件的信息)和/ trash/undel(用于获取文件)。只有管理员有权限访问MFSMETA(用户的uid 0,通常是root)。
/usr/local/mfs/bin/mfsmount -m /mnt/mfsmeta-H 192.168.0.1
被删文件的文件名在“垃圾箱”目录里还可见,文件名由一个八位十六进制的数i-node和被删文件的文件名组成,在文件名和i-node 之间不是用“/”,而是用了“|”替代。如果一个文件名的长度超过操作系统的限制(通常是255 个字符),那么部分将被删除。通过从挂载点起全路径的文件名被删除的文件任然可以被读写。
移动这个文件到trash/undel子目录下,将会使原始的文件恢复到正确的MooseFS 文件系统上路径下(如果路径没有改变)。如果在同一路径下有个新的同名文件,那么恢复不会成功。
从“垃圾箱”中删除文件结果是释放之前被它站用的空间(删除有延迟,数据被异步删除)。
在MFSMETA中还有另一个目录reserved,该目录内的是被删除但依然打开的文件。在用户关闭了这些被打开的文件后,reserved目录中的文件将被删除,文件的数据也将被立即删除。在reserved 目录中文件的命名方法同trash 目录中的一样,但是不能有其他功能的操作。
3.快照snapshot
MooseFS 系统的另一个特征是利用mfsmakesnapshot 工具给文件或者是目录树做快照。/usr/local/mfs/bin/mfsmakesnapshot source... destination
Mfsmakesnapshot 是在一次执行中整合了一个或是一组文件的拷贝,而且任何修改这些文件的源文件都不会影响到源文件的快照,就是说任何对源文件的操作,例如写入源文件,将不会修改副本(或反之亦然)。
也可以使用mfsappendchunks:/usr/local/mfs/bin/mfsappendchunksdestination-file source-file ...
当有多个源文件时,它们的快照被加入到同一个目标文件中(每个chunk 的最大量是chunk)。
软件包 请到最之前的 博文上在最下面提供百度云盘账号 及文档自行下载
页:
[1]