MFS文件系统的组成
1、 元数据服务器。在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当。希望今后MFS能支持多个master服务器,进一步提高系统的可靠性。
2、 数据存储服务器chunkserver。真正存储用户数据的服务器。存储文件时,首先把文件分成块,然后这些块在数据服务器chunkserver之间复制(复制份数可以手工指定,建议设置副本数为3)。数据服务器可以是多个,并且数量越多,可使用的"磁盘空间"越大,可靠性也越高。
3、 元数据日志服务器Metalogger server(Metalogger):负责备份master服务器的变化日志文件,文件类型为changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作。
4、 客户端。使用MFS文件系统来存储和访问的主机称为MFS的客户端,成功挂接MFS文件系统以后,就可以像以前使用NFS一样共享这个虚拟性的存储了。
环境:mfsmaster:192.168.50.119
mfschunk,mfslogger,mfsclient: 192.168.50.120
一、mfsmaster安装配置
1.创建安装用户
useraddmfs -s /sbin/nologin |
2.安装
tar -xf mfs-1.6.27-5.tar.gz && cd mfs-1.6.27 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs make && make install |
3.配置文件
cd /usr/local/mfs/etc/mfs/ cp mfsmaster.cfg.dist mfsmaster.cfg cp mfsexports.cfg.dist mfsexports.cfg cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs |
4.启动元数据服务器
/usr/local/mfs/sbin/mfsmaster start working directory: /usr/local/mfs/var/mfs lockfile created and locked initializing mfsmaster modules ... loading sessions ... ok sessions file has been loaded exports file has been loaded mfstopology configuration file (/usr/local/mfs/etc/mfstopology.cfg) not found - using defaults loading metadata ... loading objects (files,directories,etc.) ... ok loading names ... ok loading deletion timestamps ... ok loading chunks data ... ok checking filesystem consistency ... ok connecting files and chunks ... ok all inodes: 1 directory inodes: 1 file inodes: 0 chunks: 0 metadata file has been loaded stats file has been loaded master <-> metaloggers module: listen on *:9419 master <-> chunkservers module: listen on *:9420 main master server module: listen on *:9421 mfsmaster daemon initialized properly |
5.启动web页面
/usr/local/mfs/sbin/mfscgiserv start #开启WEB监控页面进程 http://ip:9425查看mfs系统状态 |
6.开机启动
echo "/usr/local/mfs/sbin/mfsmaster start" /etc/rc.local echo "/usr/local/mfs/sbin/mfscgiserv" /etc/rc.local |
7.检查进程
[root@localhost mfs]# ps -ef | grep mfs mfs 6556 1 0 03:20 ? 00:00:04 /usr/local/mfs/sbin/mfsmaster start root 6582 1 0 03:23 ? 00:00:00 python /usr/local/mfs/sbin/mfscgiserv root 6625 1692 0 04:39 pts/0 00:00:00 grep ifs |
二、mfschunk,mfslogger,mfsclient服务器配置
1.创建安装用户
useraddmfs -s /sbin/nologin |
2.安装
yum -y install fuse fuse-devel tar -xf mfs-1.6.27-5.tar.gz && cd mfs-1.6.27 ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --enable-mfsmount make && make install chown -R mfs.mfs /usr/local/mfs/ |
3.配置文件
cd /usr/local/mfs/etc/mfs/ cp mfschunkserver.cfg.dist mfschunkserver.cfg cp mfshdd.cfg.dist mfshdd.cfg cp mfsmetalogger.cfg.dist mfsmetalogger.cfg |
4.修改配置文件
[root@localhost mfs]# cat mfschunkserver.cfg # WORKING_USER = mfs # WORKING_GROUP = mfs # SYSLOG_IDENT = mfschunkserver # LOCK_MEMORY = 0 # NICE_LEVEL = -19 # DATA_PATH = /usr/local/mfs/var/mfs # MASTER_RECONNECTION_DELAY = 5 # BIND_HOST = * MASTER_HOST = 192.168.50.119 MASTER_PORT = 9420 # MASTER_TIMEOUT = 60 # CSSERV_LISTEN_HOST = * # CSSERV_LISTEN_PORT = 9422 # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg # HDD_TEST_FREQ = 10 # deprecated, to be removed in MooseFS 1.7 # LOCK_FILE = /var/run/mfs/mfschunkserver.lock # BACK_LOGS = 50 # CSSERV_TIMEOUT = 5 |
[root@localhost mfs]# cat mfshdd.cfg # mount points of HDD drives /usr/local/mfsdata/ #mfschunkserver上的分区,必须是独立分区! |
[root@localhost mfs]# cat mfsmetalogger.cfg # WORKING_USER = mfs # WORKING_GROUP = mfs # SYSLOG_IDENT = mfsmetalogger # LOCK_MEMORY = 0 # NICE_LEVEL = -19 # DATA_PATH = /usr/local/mfs/var/mfs # BACK_LOGS = 50 # BACK_META_KEEP_PREVIOUS = 3 META_DOWNLOAD_FREQ = 1 # MASTER_RECONNECTION_DELAY = 5 MASTER_HOST = 192.168.50.119 MASTER_PORT = 9419 # MASTER_TIMEOUT = 60 # deprecated, to be removed in MooseFS 1.7 # LOCK_FILE = /var/run/mfs/mfsmetalogger.lock |
5.启动服务
[root@localhost mfs]# /usr/local/mfs/sbin/mfschunkserver start working directory: /usr/local/mfs/var/mfs lockfile created and locked initializing mfschunkserver modules ... hdd space manager: path to scan: /usr/local/mfsdata/ hdd space manager: start background hdd scanning (searching for available chunks) main server module: listen on *:9422 no charts data file - initializing empty charts mfschunkserver daemon initialized properly |
[root@localhost mfs]# /usr/local/mfs/sbin/mfsmetalogger start working directory: /usr/local/mfs/var/mfs lockfile created and locked initializing mfsmetalogger modules ... mfsmetalogger daemon initialized properly |
6.创建数据目录
mkdir /usr/local/mfsdata/ chown -R mfs.mfs /usr/local/mfsdata/ |
这里需要一块新磁盘挂载到数据目录
mount /dev/sdb1 /usr/local/mfsdata/ |
7.创建挂载目录
mkdir /mnt/mfs chown -R mfs.mfs /mnt/mfs/ |
8.挂载目录
[root@localhost mfsdata]# /usr/local/mfs/bin/mfsmount /mnt/mfs/ -H 192.168.50.119 #挂载成功 mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root |
MFS文件系统的组成的更多相关文章
- MFS文件系统
一.MFS文件系统概论 MFS是linux下的开源存储系统,是由波兰人开发的.MFS文件系统能够实现RAID的功能,不但能够节约存储成本,而且不逊于专业的存储系统,能够实现在线扩展.MFS是一种半分布 ...
- MooseFs-分布式文件系统系列(四)之简单聊聊MFS的日常维护
回顾 文件或目录的额外属性(noower,noattracache和noentrycache),可以通过MFS提供的命令(mfsgeteattr,mfsseteattr,mfsdeleattr等)检查 ...
- 分布式文件系统MFS(moosefs)实现存储共享(第二版)
分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...
- 分布式文件系统MFS(moosefs)实现存储共享(一)
分布式文件系统MFS(moosefs)实现存储共享 作者:田逸(sery@163.com) from:[url]http://net.it168.com/a2009/0403/270/00000027 ...
- 构建MFS分布式文件系统
++++++++++++++构建MFS分布式文件系统++++++++++++++PB级别:企业存储空间达到PB级别,即100万GB空间.(1PB=1000TB,1TB=1000GB,1GB=1000M ...
- MFS - MooseFS 文件系统
MFSMooseFS 文件系统 可以实现RAID 功能:节约成本 实现在线扩展:是一种半分布式文件系统. 一.MFS文件系统的组成 1.mfsmaster 元数据服务器. 在整个体系中负责管理管理文件 ...
- 分布式文件系统MFS(moosefs)实现存储共享
分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...
- mfs分布式文件系统,分布式存储,高可用(pacemaker+corosync+pcs),磁盘共享(iscsi),fence解决脑裂问题
一.MFS概述 MooseFS是一个分布式存储的框架,其具有如下特性:(1)通用文件系统,不需要修改上层应用就可以使用(那些需要专门api的dfs很麻烦!).(2)可以在线扩容,体系架构可伸缩性极强. ...
- MFS分布式文件系统
一.MFS概述: MooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结构(目录树 ...
随机推荐
- 关于appcompat_v7兼容包的详细说明
1.appcompat_v7包的由来? appcompat_v7是Google提供的向下兼容包,是针对API level 7(Android2.1)及以上版本所开发的,其作用是为了让兼容低版本API( ...
- hdu--1421--dp--搬寝室
注意:dp[i][j]初始化的时候不能小于0xffffff明显大于2^15但是吧再小就WA了 #include<iostream> #include<algorithm> #i ...
- js数组遍历和对象遍历
针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历:还有性能,优缺点等. JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3,9]; for ( ...
- Java-将多线程停止的两种方法
线程如何停止呢 stop方法过时了,看起描述发现,有其他解决方案. 线程结束:就是让线程任务代码执行完,run方法结束. run方法怎么结束呢? run方法中通常都定义循环,只要控制住循环就哦了. / ...
- 嵌入式linux网络配置
在开发阶段需要用tftp等开发工具,这时就要配置Linux网络,首先确保windows网络IP地址为固定IP, 1.假设windows IP地址为19.168.2.10子网掩码:255.255.255 ...
- 【HTTP权威指南】第二章-URL与资源
[统一资源定位符URL]通过位置来标示资源,其表达的格式如下:https://item.jd.com/523961.html 第一部分(https)是方案,告知客户端要[怎样访问],这里使用的是htt ...
- Qt 无边框拖拽实现
Qt 无边框拖拽实现 头文件定义: class TDragProxy:public QObject { Q_OBJECT public: TDragProxy(QWidget* parent); ~T ...
- NoSql数据库简介及Redis学习
NO-Sql数据库:Not Only不仅仅是SQL 定义:非关系型数据库:NoSQL用于超大规模数据的存储.(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据).这些类型的数据存储不需要固 ...
- SqlBulkCopy 批量insert
1.获取要插入的数据datatable /// <summary> /// 从FMS取银行信息 /// </summary> /// <returns></r ...
- 【Linux】查看进程号
1.查看占用8080端口的进程号 lsof -i: | awk '{print $2}' | uniq | grep -P -o "[0-9]{2,5}" 2.查看使用java进程 ...