(1)关于MOoseFS
- 3.1.1 安装:
- # useradd mfs -s /sbin/nologin
- # wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
- # tar zxvf mfs-1.6.20-2.tar.gz
- # cd mfs-1.6.20-2/
- # ./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 #被挂接目录及权限配置
- 3.1.2 配置:
- # 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_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)
- 注意:
- 1、凡是用#注释掉的变量均使用其默认值
- 2、修改DATA_PATH指定的目录要权限为mfs,chown -R mfs:mfs /usr/local/mfs/var/mfs
- 3、mfsexports 访问控制对于那些老客户是没用的
- 4、注意开通监听的端口
- # vi /usr/local/mfs/etc/mfsexports.cfg #客户端IP 允许挂载的目录 客户端拥有的权限
- 192.168.0.0/24 / rw,alldirs,maproot=0 # /标识MFS的根
- 192.168.0.0/24 . rw # .标识MFSMETA 文件系统
- 地址可以指定的格式:
- 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 段
- 权限说明:
- 权限 说明
- ro 只读模式
- rw 读写模式
- alldirs 许挂载任何指定的子目录
- maproot 映射为root,还是指定的用户
- password 指定客户端密码
- 3.1.3 操作:
- # /usr/local/mfs/sbin/mfsmaster [-vdu] [-t locktimeout] [-c cfgfile]
- [start|stop|restart|reload]
- #master服务操作#/usr/local/mfs/sbin/mfscgiserv #启动WEBUI 监控服务,
- 访问http://192.168.0.1:9425/
- 注意:
- 最好不要kill master,安全停止执行mfsmaster stop,否则下次启动因metadata.mfs.back而出现问题,
- 还需
- 要使用备份来恢复。
- 文件说明:
- #ls -l /usr/local/mfs/var/mfs #此目录见mfsmaster.cfg中DATA_PATH配置
- metadata.mfs.back #MFS元数据信息,延迟将内存数据写入文件,默认频率1h,默认1d同步一次此文件
- 到metalogger server
- changelog.*.mfs #文件操作日志记录,实时记录、同步到metalogger server
- sessions.mfs #客户操作状态记录
- stats.mfs #?
3.1.4 备注: 1、用户操作日志见:changelog.*.mfs 2、进程产生的日志放到系统日志中:/var/log/messages 3、Master可以单独启动,注意开通监听的端口
- 3.2 Chunk Server
- 在192.168.0.3-在192.168.0.4 进行如下操作
- 3.2.1 安装:
- #useradd mfs -s /sbin/nologin
- #wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
- #tar zxvf mfs-1.6.20-2.tar.gz
- #cd mfs-1.6.20-2/
- #./configure --prefix=/usr/local/mfs --with-default-user=mfs
- --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
- #make
- #make install
- #cd /usr/local/mfs/etc
- #cp mfschunkserver.cfg.dist mfschunkserver.cfg #chunk配置文件#cp mfshdd.cfg.dist mfshdd.cfg #MFS使用空间配置
- 3.2.2 配置:
- $vi /usr/local/mfs/etc/mfschunkserver.cfg
- # 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 使用的磁盘空间配置文件的位置
- 注意:
- 1、MASTER_HOST 不能为localhost或127.0.0.1,做单机测试的童鞋们注意了,要使用对外IP。
- 2、MASTER_PORT必须为元数据服务器配置中MATOCS_LISTEN_PORT指定的端口,且IP必须被master允许。
- 3、注意开通监控的端口(这里是9422)
- $chown -R mfs:mfs /data #没有这一操作,会出现写权限问题,因进程是用mfs运行的。
- $vi /usr/local/mfs/etc/mfshdd.cfg
- /data
- 注意:
- 1、在这里/data 是一个给mfs 的分区,但在本机上是一个独立的目录,最好是一个单独的硬盘或者一个raid 卷,
- 最低要求是一个分区。
- 2、不要忘了更改目录的权限,因为mfschunkserver进程是用mfs运行的。
- 3.2.3 操作
- /usr/local/mfs/sbin/mfschunkserver [-vdu] [-t locktimeout] [-c cfgfile] [start|stop|restart|reload] #chunkserver操作命令
- 3.3 MetaLogger Server
- 在192.168.0.2上执行如下操作:
- 3.3.1 安装:
- 同Master的安装步骤。
- 3.3.2 配置:
- $vi /usr/local/mfs/etc/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
- # 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
- 注意:
- 1、MASTER_HOST 不能为localhost或127.0.0.1,做单机测试的童鞋们注意了,要使用对外IP。
- 2、MASTER_PORT必须为元数据服务器配置中MATOCS_LISTEN_PORT指定的端口,且IP必须被master允许。
- 3.3.3 操作
- /usr/local/mfs/sbin/mfsmetalogger [-vdu] [-t locktimeout] [-c cfgfile]
- [start|stop|restart|reload]
- #chunkserver操作命令
- 3.4 MFS Client
- 在192.168.0.6上执行如下操作:
- 3.4.1 FUSE安装:
- $wget http://nchc.dl.sourceforge.net/project/buluoos/0.2/src/fuse-2.8.5.tar.gz
- $tar zxf fuse-2.8.5.tar.gz
- $cd fuse-2.8.5
- $./configure
- $make && make install
- $echo 'export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH' >>/etc/profile
- $source /etc/profile$lsmod |grep fuse #检查fuse是否加载到内核,若没有,执行下面命令$modprobe fuse&&lsmod |grep fuse #若将下列mfsmount挂载操作加入开机自启动,一定将modprobe fuse也加入开机自启
- 注意:
- 1、一定要将fuse环境变量配置ok,否则安装mfsmount会装不上
- 2、若将下列mfsmount挂载操作加入开机自启动,一定将modprobe fuse也加入开机自启,且在其执行之前执行。
- 3.4.2 MFSMount安装:
- $useradd mfs -s /sbin/nologin
- $wget http://www.moosefs.org/tl_files/mfscode/mfs-1.6.20-2.tar.gz
- $tar zxvf mfs-1.6.20-2.tar.gz
- $cd mfs-1.6.20-2/
- $./configure --prefix=/usr/local/mfs --with-default-user=mfs
- --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver
- $make;make install
- 3.4.3 挂载MFS
- $mkdir /mnt/mfs /mnt/mfsmeta #创建挂载点
- $/usr/local/mfs/bin/mfsmount /mnt/mfs -H 192.168.0.1
- $/usr/local/mfs/bin/mfsmount -m /mnt/mfsmeta -H 192.168.0.1
- $df -h #检查是否挂载成功$umount /mnt/mfs #操作如下出错,说明客户端本机有正在使用此文件系统,
- 可以查明是什么命令正在使用,然后推出就可以了,最好不要强制退出。
- 到此为止,我们的MFS集群已经搭建完成。
- 注:如果在挂载的时候出现 mfsmaster register error: Permission denied
- 我们应该检查下元数据服务器(Master)的/usr/local/mfs/etc/mfsexports的设置是
- 否你的Client是添加进去的