角色 | 角色作用 |
管理服务器 |
负责各个数据存储服务器的管理,文件读写调 |
元数据日志服务器 |
负责备份master 服务器的变化日志文件,文 |
数据存储服务器 |
负责连接管理服务器,听从管理服务器调度, |
客户机挂载使用 |
通过fuse 内核接口挂接远程管理服务器上所 |
官方的网络示意图:
读示意图:
MFS的读数据过程:
client当需要一个数据时,首先向master server发起查询请求;
管理服务器检索自己的数据,获取到数据所在的可用数据服务器位置ip|port|chunkid;
管理服务器将数据服务器的地址发送给客户端;
客户端向具体的数据服务器发起数据获取请求;
数据服务器将数据发送给客户端;
IP | 作用 |
192.168.0.1 | master server |
192.168.0.2 | metalogger server |
192.168.0.3 | chunk server |
192.168.0.4 | chunk server |
192.168.0.5 | chunk server |
192.168.0.6 | mfs client |
1.Master Server
# WORKING_ USER = mfs #运行master server 的用户
# WORKING_ GROUP = mfs #运行master server 的组
# SYSLOG_IDENT = mfsmaster #master server 在syslog 中的标识,说明是由master serve 产生的
# LOCK_MEMORY = 0 #是否执行mlockall()以避免mfsmaster 进程溢出(默认为0)
# NICE_LEVEL = -19 #运行的优先级(如果可以默认是-19; 注意: 进程必须是用root 启动)
# EXPORTS_FILENAME = /usr/local/mfs/etc/mfsexports.cfg #被挂接目录及其权限控制文件的存放位置
# DATA_PATH = /usr/local/mfs/var/mfs #数据存放路径,此目录下大致有三类文件,changelog,sessions 和stats;
# BACK_LOGS = 50 #metadata 的改变log 文件数目(默认是50);
# REPLICATIONS_ DELAY_INIT = 300 #延迟复制的时间(默认是300s);
# REPLICATIONS_ DELAY_DISCONNECT = 3600 #chunkserver 断开的复制延迟(默认是3600);
# MATOML_LISTEN_HOST = * #metalogger 监听的IP 地址(默认是*,代表任何IP);
# MATOML_LISTEN_PORT = 9419 #metalogger 监听的端口地址(默认是9419);
# MATOCS_LISTEN_ HOST = * #用于chunkserver 连接的IP 地址(默认是*,代表任何IP);
# MATOCS_LISTEN_PORT = 9420 #用于chunkserver 连接的端口地址(默认是9420);
# MATOCU_LISTEN_HOST = * #用于客户端挂接连接的IP 地址(默认是*,代表任何IP);
# MATOCU_LISTEN_PORT = 9421 #用于客户端挂接连接的端口地址(默认是9421);
# CHUNKS_LOOP_TIME = 300 #chunks 的回环频率(默认是:300 秒);# CHUNKS_DEL_LIMIT = 100
# CHUNKS_WRITE_REP_LIMIT = 1 #在一个循环里复制到一个chunkserver 的最大chunk 数目(默认是1)
# CHUNKS_READ_REP_LIMIT = 5 #在一个循环里从一个chunkserver 复制的最大chunk 数目(默认是5)
# REJECT_OLD_ CLIENTS = 0 #弹出低于1.6.0 的客户端挂接(0 或1,默认是0)
|
#客户端IP 允许挂载的目录 客户端拥有的权限
192.168.0.0/24 / rw,alldirs,maproot=0 # /标识MFS的根
192.168.0.0/24 . rw # .标识MFSMETA 文件系统
|
* #所有的ip 地址
n.n.n.n #单个ip 地址
n.n.n.n/b #IP 网络地址/位数掩码
n.n.n.n/m.m.m.m #IP 网络地址/子网掩码
f.f.f.f-t.t.t.t #IP 段
|
ro #只读模式
rw #读写模式
alldirs #许挂载任何指定的子目录
maproot #映射为root,还是指定的用户
password #指定客户端密码
|
# 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.1 #元数据服务器的名称或地址,可以是主机名,也可以是ip 地址
# MASTER_PORT = 9420 #为Matser中 MATOCS_LISTEN_PORT指定的端口
# 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 分配给MFS 使用的磁盘空间配置文件的位置
|
# 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
# META_DOWNLOAD_FREQ = 24 元数据备份文件下载请求频率。默认为24小时,即每隔一天从元数据服务器(MASTER)下载一个metadata.mfs.back 文件。当元数据服务器关闭或者出故障时,matedata.mfs.back 文件将消失,那么要恢复整个mfs,则需从metalogger 服务器取得该文件。请特别注意这个文件,它与日志文件一起,才能够恢复整个被损坏的分布式文件系统。
# MASTER_RECONNECTION_DELAY = 5
MASTER_HOST = 192.168.0.1
# MASTER_PORT = 9419
# MASTER_TIMEOUT = 60
# deprecated, to be removed in MooseFS 1.7
# LOCK_FILE = /var/run/mfs/mfsmetalogger.lock
|
原文:http://my.oschina.net/liting/blog/478711