查看文章 |
MFS就是moose file system,是一种分布式文件系统 MFS文件系统的组成 1、 元数据服务器。在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。 2、 数据存储服务器chunkserver。真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的“磁盘空间”越大,可靠性也越高。(他的chunkserver可以是任何unix-like系统,通过fuse库来操作) 3、 客户端。使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。 http://www.kuqin.com/system-analysis/20090410/45211.htmlhttp://www.moosefs.com/pages/userguides.html (一) 安装元数据服务 1、下载GNU源码 wget http://www.moosefs.com/files/mfs-1.5.12.tar.gz 2、解包 tar zxvf mfs- 3、切换目录 cd mfs- 4、创建用户 useradd mfs –s /sbin/nologin 5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs 6、编译安装 make ; make install #WORKING_USER = mfs
◆ MATOCS_LISTEN_PORT = 9420 MATOCS--master to chunkserver,即元数据服务器使用9420这个监听端口来接受数据存储服务器chunkserver端的连接。 ◆ MATOCU_LISTEN_PORT = 9421 元数据服务器在9421端口监听,用以接受客户端对MFS进行远程挂接(客户端以mfsmount挂接MFS) ◆ 其他部分看字面意思都不难理解。还有几个与时间有关的数值,其单位是秒。 这个配置文件,不必做修改就能工作了。 启动: /usr/local/mfs/sbin/mfsmaster start /usr/local/mfs/sbin/mfsmaster -s:停止 (日志在message,看一下9420,9421端口是否起了)
(一)、安装数据存储服务器 chunkserver 1、下载GNU源码 wget http://www.moosefs.com/files/mfs-1.5.12.tar.gz 2、解包 tar zxvf mfs- 3、切换目录 cd mfs- 4、创建用户 useradd mfs –s /sbin/nologin 5、配置 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs 6、编译安装 make ; make install # WORKING_USER = mfs # WORKING_GROUP = mfs # DATA_PATH = /usr/local/mfs/var/mfs # LOCK_FILE = /var/run/mfs/mfschunkserver.pid # SYSLOG_IDENT = mfschunkserver # BACK_LOGS = 50 # MASTER_RECONNECTION_DELAY = 30 MASTER_HOST = 192.168.0.16master服务器的地址 # MASTER_PORT = 9420 # MASTER_TIMEOUT = 60 # CSSERV_LISTEN_HOST = * # CSSERV_LISTEN_PORT = 9422 # CSSERV_TIMEOUT = 60 # CSTOCS_TIMEOUT = 60 # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfshdd.cfg在这个文件里写要提供使用的目录 #mount /dev/hda7 /opt # cat mfshdd.cfg /opt 启动:/usr/local/mfs/sbin/mfschunkserver start 停止:/usr/local/mfs/sbin/mfschunkserver -s 同样可以通过查看端口和message文件看服务是否启动正常 一、centos作为MFS的客户端。 (一) 安装MFS客户端 ◆Mfsmount需要依赖FUSE,因此需要先安装好fuse,这里我选用fuse- 1、解包 tar zxvf fuse- 2、切换目录 cd fuse- 3、配置 ./configure 4、编译安装 make;make install 如果系统已经安装了fuse,则跳过这个步骤。 ◆安装MFS客户端程序 1、修改环境变量文件/etc/profile ,追加下面的行,然后再执行命令source /etc/profile使修改生效。
![]() #insmod fuse.ko
挂接MFS /usr/local/mfs/bin/mfsmount –h 192.168.0.16 -w /opt/mfs 参数-m挂载元数据 设置拷贝份数:
Similar operations can be done on the whole directory trees with the mfsrgetgoal and mfsrsetgoal commands: The actual number of copies of a file can be verified with the mfscheckfile and mfsfileinfo commands: 文件被删除后放在trash文件夹中:
The time of storing a deleted file can be verified by the mfsgettrashtime command and changed with mfssettrashtime: These tools also have their recursive equivalents mfsrgettrashtime and mfsrsettrashtime operating on whole directory trees:
Stopping MFS cluster To safely stop MFS:
———————————————————————————————————————————————— 可能出现问题: 我参考你的贴子:http://bbs.chinaunix.net/viewthread.php?tid=1422602 在虚拟机里配置了MFS 前面配置都成功了,但是最后文件写入时出错。 挂载的文件系统里可以建目录,便是不能cp文件进去。 日志如下: # tail -f /var/log/messages Apr 24 18:42:00 mfsmaster[1163]: inodes: 4 Apr 24 18:42:00 mfsmaster[1163]: dirnodes: 1 Apr 24 18:42:00 mfsmaster[1163]: filenodes: 3 Apr 24 18:42:00 mfsmaster[1163]: chunks: 0 Apr 24 18:42:00 mfsmaster[1163]: chunks to delete: 0 Apr 24 18:42:00 mfsmaster[1163]: chunkservers status: Apr 24 18:42:00 mfsmaster[1163]: server 1 (192.168.1.50): usedspace: 441628672 (0 GB), totalspace: 441628672 (0 GB), usage: 100.00% Apr 24 18:42:00 mfsmaster[1163]: total: usedspace: 441628672 (0 GB), totalspace: 441628672 (0 GB), usage: 100.00% Apr 24 18:42:02 mfsmount: file: 4, index: 0, chunk: 0, version: 0 - fs_writechunk returns status 12 Apr 24 18:42:02 mfsmount: file: 4, index: 0, chunk: 0, version: 0 - write(flush) error (try counter: 29) 已经自已解决:) 原来必存储单元必须挂载为分区。 呵呵!希望朋友们不要和我一样粗心。目前正在五个虚拟机上测试:) http://bbs.chinaunix.net/viewthread.php?tid=1422602&extra=&page=2 |



