数据存储服务器Chunk Server是可以运行在各类UNIX,Linux平台的,因此不再多说。一个MFS环境到底能集群多少服务器,我的观点是上PB容量,建议最好3台以上;并且专门用来作存储,不要把它跟Master搞到一个机器(理论上没有问题,实现也是可以的,但这不是好策略)。因为每个数据存储服务器的安装和配置都是相同的,所以只需按照一个服务器的操作就可以了。
安装数据存储服务器
首先,下载最新源代码:
$ curl -O http://ppa.moosefs.com/src/moosefs-3.0.51-1.tar.gz
解包:
$ tar xzvf moosefs-3.0.51-1.tar.gz
切换目录:
$ cd moosefs-3.0.51/
创建用户:
$ sudo useradd mfs -s /sbin/nologin
配置:
$ sudo ./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs
编译安装:
$ sudo make && sudo make install
配置数据存储服务器
数据存储服务器有两个配置文件需要修改,一个是主配置文件 mfschunkserver.cfig,可以从模板mfschunkserver.cfg.sample拷贝过来。另一个是配置文件mfshdd.cfg,可以从模板mfshdd.cfg.sample拷贝过来。每个服务器用来分配给MFS使用的空间最好是一个单独的硬盘或者一个RAID卷,最低要求是一个分区。
修改配置文件/usr/local/mfs/etc/mfs/mfschunkserver.cfg。默认配置是这样的:
# WORKING_USER = mfs # WORKING_GROUP = mfs # SYSLOG_IDENT = mfschunkserver # LOCK_MEMORY = 0 # NICE_LEVEL = -19 # FILE_UMASK = 027 # DATA_PATH = /usr/local/mfs/var/mfs # HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg # HDD_TEST_FREQ = 10 # HDD_LEAVE_SPACE_DEFAULT = 256MiB # HDD_REBALANCE_UTILIZATION = 20 # HDD_ERROR_TOLERANCE_COUNT = 2 # HDD_ERROR_TOLERANCE_PERIOD = 600 # HDD_FSYNC_BEFORE_CLOSE = 0 # WORKERS_MAX = 250 # WORKERS_MAX_IDLE = 40 # LABELS = # BIND_HOST = * # MASTER_HOST = mfsmaster # MASTER_PORT = 9420 # MASTER_TIMEOUT = 10 # MASTER_RECONNECTION_DELAY = 5 # CSSERV_LISTEN_HOST = * # CSSERV_LISTEN_PORT = 9422
这个配置文件里,我们一般只需要改两个地方:MASTER_HOST,MASTER_PORT,也就是元数据服务器的IP与端口。如:
MASTER_HOST = 192.168.1.188 MASTER_PORT = 9420
其它一些项的含义:
MASTER_HOST = 192.168.1.188:元数据服务器的名称或地址,可以是主机名,也可以是IP地址,只要数据存储服务器能访问到元数据服务器就可以。
LOCK_FILE = /var/run/mfs/mfschunkserver.pid:与元数据服务器Master的处理完全相同。
CSSERV_LISTEN_PORT = 9422:这个监听端口用于与其他数据存储服务器间的连接,通常是数据复制。
HDD_CONF_FILENAME = /usr/local/mfs/etc/mfs/mfshdd.cfg:分配给MFS使用的磁盘空间配置文件的位置。
修改配置文件/usr/local/mfs/etc/mfs/mfshdd.cfg。在我的服务器上,只有一个1TB的SATA硬盘,分了一个800G容量的分区来作为MFS存储服务的组成部分。为了使MFS拥有写目录的权限,需要修改目录的属主。我的服务器的分区挂接点是/data,用:
$ sudo chown -R mfs:mfs /data
将属主改变。因为我的每个服务器只需贡献一个分区作为MFS,因此配置文件只需要如下一行内容就可以了:
/data
这个文件默认情况下有好几行,我们最好把它删除,因为按常规情况,用注释符号“#”好像不起作用。
启动数据存储服务器
在数据存储服务器Chunk Server执行命令:
$ sudo /usr/local/mfs/sbin/mfschunkserver start
启动数据存储守护进程。通过以下几种方式来检查数据存储服务器的运行状态:
查看进程: ps aux | grep mfschunkserver
查看网络状态,正常情况下应该能看见9422处于监听状态,如果有其他数据存储服务Chunk Server在同一个元数据服务器Master管理下运行的话,应该能看见其他数据存储服务器和本机的连接情况: netstat -an | grep 9422 | grep EST
查看元数据服务器的系统日志,可以看到新增的数据存储服务器Chunk Server被加入:tail -f /var/log/messages
关闭数据存储服务器
与元数据服务器Master相似,执行命令:
$ sudo /usr/local/mfs/sbin/mfschunkserver stop
Chunk Server服务就可以停止下来了。当然,你也可以把它做成随系统启动的服务!!!
最后注意:把要开放的端口都开放!!!!!