moosefs安装和配置步骤
(一)、安装和配置元数据服务(master server)
1、下载源代码
http://ncu.dl.sourceforge.net/pr … 1/mfs-1.6.11.tar.gz
2、tar zxvf mfs-1.6.11.tar.gz
3、创建用户 useradd mfs –s /sbin/nologin
4、./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfs
5、make ; make install
6、配置
配置文件位于安装目录/usr/local/mfs/etc,需要的配置文件有两个:mfsmaster.cfg和 mfsexports.cfg,
mfsmaster.cfg是主配置文件,mfsexports.cfg是被挂接目录及权限设置。
(1)、mfsmaster.cfg的配置
[root@nas etc]# cp mfsmaster.cfg.dist mfsmaster.cfg
需要注意的是,凡是用#注释掉的变量均使用其默认值,这里我解释一下这些变量:
#WORKING_USER和WORKING_GROUP:是运行master server的用户和组;
#SYSLOG_IDENT:是master server在syslog中的标识,也就是说明这是由master serve产生的;
#LOCK_MEMORY:是否执行mlockall()以避免mfsmaster 进程溢出(默认为0);
#NICE_LEVE:运行的优先级(如果可以默认是 -19; 注意: 进程必须是用root启动);
#EXPORTS_FILENAME:被挂接目录及其权限控制文件的存放位置
#DATA_PATH:数据存放路径,此目录下大致有三类文件,changelog,sessions和stats;
#BACK_LOGS:metadata的改变log文件数目(默认是 50);
#REPLICATIONS_DELAY_INIT:延迟复制的时间(默认是300s);
#REPLICATIONS_DELAY_DISCONNECT:chunkserver断开的复制延迟(默认是3600);
# MATOML_LISTEN_HOST:metalogger监听的IP地址(默认是*,代表任何IP);
# MATOML_LISTEN_PORT:metalogger监听的端口地址(默认是9419);
# MATOCS_LISTEN_HOST:用于chunkserver连接的IP地址(默认是*,代表任何IP);
# MATOCS_LISTEN_PORT:用于chunkserver连接的端口地址(默认是9420);
# MATOCU_LISTEN_HOST:用于客户端挂接连接的IP地址(默认是*,代表任何IP);
# MATOCU_LISTEN_PORT:用于客户端挂接连接的端口地址(默认是9421);
# CHUNKS_LOOP_TIME :chunks的回环频率(默认是:300秒);
# CHUNKS_DEL_LIMIT :在一个loop设备中可以删除chunks的最大数 (默认:100)
# REPLICATIONS_DELAY_DISCONNECT chunkserver断开后的复制延时(默认:3600秒)
# CHUNKS_WRITE_REP_LIMIT:在一个循环里复制到一个chunkserver的最大chunk数目(默认是1)
# CHUNKS_READ_REP_LIMIT :在一个循环里从一个chunkserver复制的最大chunk数目(默认是5)
# REJECT_OLD_CLIENTS:弹出低于1.6.0的客户端挂接(0或1,默认是0)
注意mfsexports访问控制对于那些老客户是没用的
以上是对master server的mfsmaster.cfg配置文件的解释,对于这个文件不需要做任何修改就可以工作。
(2)、mfsexports.cfg的配置
[root@nas etc]# vi mfsexports.cfg
* . rw
192.168.3.138 / rw,alldirs,maproot=0,password=111111
该文件每一个条目分为三部分:
第一部分:客户端的ip地址
第二部分:被挂接的目录
第三部分:客户端拥有的权限
地址可以指定的几种表现形式:
* 所有的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段
目录部分需要注意两点:
/ 标识MooseFS 根;
. 表示MFSMETA 文件系统
权限部分:
ro 只读模式共享
rw 的方式共享
alldirs 许挂载任何指定的子目录
maproot 映射为root,还是指定的用户
password 指定客户端密码
7、启动master server
master server可以单独启动(所谓单独启动就是在没有数据存储服务器(chunkserver)的时候也可以启动,但是不能存储,chunkserver启动后会自动的加入)。安装配置完MFS后,即可启动它。
8、停止master server
安全停止master server是非常必要的,最好不要用kill。利用mfsmaster –s来安全停止master serve,一旦是用了kill也是有解决方法的,后文有说明。
9、要经常性的查看系统日志(tail -f /var/log/messages)
(二)、安装和配置元数据日志服务器(metalogger)
1、下载源码
http://ncu.dl.sourceforge.net/pr … 1/mfs-1.6.11.tar.gz
2、tar zxvf mfs-1.6.11.tar.gz
3、创建用户 useradd mfs –s /sbin/nologin
4、./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfs
5、make ; make install
6、配置
该服务只有一个配置文件,那就是mfsmetalogger.cfg。
[root@mail etc]# vi mfsmetalogger.cfg
MASTER_HOST = 192.168.3.34
文中的大多数变量不难理解,类似于mfsmaster.cfg中的变量,其中:
META_DOWNLOAD_FREQ需要说明一下:
元数据备份文件下载请求频率。默认为24小时,即每隔一天从元数据服务器(MASTER)下载一个metadata.mfs.back文件。当元数据服务器关闭或者出故障时,matedata.mfs.back文件将消失,那么要恢复整个mfs,则需从metalogger服务器取得该文件。请特别注意这个文件,它与日志文件一起,才能够恢复整个被损坏的分布式文件系统。
这个文件中需要修改的是MASTER_HOST变量,这个变量的值是master server的IP地址。
7、启动metalogger服务
[root@mail sbin]# ./mfsmetalogger start
8、停止metalogger服务
[root@mail sbin]# ./mfsmetalogger -s
9、如果没有启动metalogger服务
在master server则会有如下提示信息产生:
tail -f /var/log/messages
Dec 30 16:53:00 nas mfsmaster[14291]: no meta loggers connected !!!
(三)、安装配置数据存储服务器(chunkserver)
1、下载源代码
http://ncu.dl.sourceforge.net/pr … 1/mfs-1.6.11.tar.gz
2、tar zxvf mfs-1.6.11.tar.gz
3、创建用户 useradd mfs –s /sbin/nologin
4、./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfs
5、make ; make install
6、配置
配置文件位于安装目录/usr/local/mfs/etc,需要的配置文件有两个:mfschunkserver.cfg和 mfshdd.cfg,
mfschunkserver.cf是主配置文件,mfshdd.cfg是服务器用来分配给 MFS使用的空间,最好是一个单独的硬盘或者一个raid卷,最低要求是一个分区。
(1)、mfschunkserver.cfg的配置
[root@mail etc]# vi mfschunkserver.cfg
MASTER_HOST = 192.168.3.34
MASTER_PORT = 9420
文中的大多数变量不难理解,类似于mfsmaster.cfg中的变量,
其中:
MASTER_HOST: 元数据服务器的名称或地址,可以是主机名,也可以是ip地址
CSSERV_LISTEN_PORT :这个监听端口用于与其它数据存储服务器间的连接,通常是数据复制。
HDD_CONF_FILENAME: 分配给MFS使用的磁盘空间配置文件的位置。
(2)、mfshdd.cfg的配置
[root@mail etc]# more mfshdd.cfg
/data
在这里/data是一个给mfs的分区,但在本机上是一个独立的磁盘的挂载目录,用 chown –R mfs:mfs /data 把属主改变为mfs。
7、启动mfschunkserver
执行命令 /usr/local/mfs/sbin/mfschunkserver start ,如果没有意外,mfschunkserver 就应该作为一个守护进程运行起来。是否启动,检查如下:
8、停止mfschunkserver
停止mfschunkserver,利用mfschunkserver–s来安全停止mfschunkserver。
(四)、MFS客户端的安装及配置
由于MFS客户端依赖于fuse,所以要先安装fuse。
1、 fuse的安装
(1)、解包 tar zxvf fuse-2.8.1.tar.gz
(2)、./configure
(3)、make;make install
如果所在的系统已经安装了fuse,则跳过这个步骤,高版本的Linux内核已经支持了。
2、 安装MFS客户端
(1)、下载源代码
http://ncu.dl.sourceforge.net/pr … 1/mfs-1.6.11.tar.gz
(2)、tar zxvf mfs-1.6.11.tar.gz
(3)、创建用户 useradd mfs –s /sbin/nologin
(4)、./configure –prefix=/usr/local/mfs –with-default-user=mfs –with-default-group=mfs –enable-mfsmount
(5)、make ; make install
3、挂接MFS文件系统
(1)、创建挂接点 mkdir /mnt/mfs
(2)、加载fuse模块到内核:modprobe fuse
(3)、挂接MFS
/usr/local/mfs/bin/mfsmount /mnt/mfs –H 192.168.3.34 –p
然后在输入密码就可以了
特别需要注意的是,所有的MFS都是挂接同一个元数据服务器master的IP,而不是其他数据存储服务器chunkserver的IP。
4、挂接MFSMETA文件系统
(1)、创建挂接点 mkdir /mnt/mfsmeta
(2)、挂接MFSMETA
/usr/local/mfs-old/bin/mfsmount -m /mnt/mfsmeta/ -H 192.168.3.34
5、查看挂载情况
通过df命令查看磁盘使用情况来检查是否被挂接成功
root@bzd mfs]# df -h
(5)、卸载已挂接的文件系统
利用Linux系统的umount命令就可以了,例如:
[root@www ~]# umount /mnt/mfs
(五)、对mfscgiserv的使用
Mfscgiserv是用python编写的一个web服务器,它的监听端口是9425
一条评论
Ho take from me a little pussycat ? see video