文件可以有多份copy,当goal为1时,文件会被随机存到一台chunkserver上,当goal的数大于1时,copy会由master调度保存到不同的chunkserver上,goal的大小不要超过chunkserver的数量,否则多出的copy,不会有chunkserver去存。
测试环境:
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
192.168.0.1上master安装:
useradd mfs -s /sbin/nologin
http://sourceforge.net/projects/moosefs/files/moosefs/1.6.27/mfs-1.6.27-1.tar.gz/download
tar zxvf mfs-1.6.27-1.tar.gz
cd mfs-1.6.27-1/
./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.dist mfsmaster.cfg #主配置文件
cp mfsexports.cfg.dist mfsexports.cfg #被挂接目录及权限配置
master配置文件:
vi /usr/local/mfs/etc/mfsmaster.cfg
# 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_TI