MFS分布式存储二:配置篇

测试环境:
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_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)
修改DATA_PATH指定的目录要权限为mfs,chown -R mfs:mfs /usr/local/mfs/var/mfs
mfsexports 访问控制对于那些老客户是没用的
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 地址
   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 #指定客户端密码
服务操作:
/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/
   /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        #?
2.Chunk Server
在192.168.0.3-192.168.0.5上安装chunk server:
   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-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使用空间配置
chunk server配置文件:
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 使用的磁盘空间配置文件的位置
注:
   MASTER_HOST 不能为localhost或127.0.0.1
   MASTER_PORT必须为元数据服务器配置中MATOCS_LISTEN_PORT指定的端口,且IP必须被master允许。
chown -R mfs:mfs /data  
echo 'data' >> /usr/local/mfs/etc/mfshdd.cfg
服务操作:
/usr/local/mfs/sbin/mfschunkserver [-vdu] [-t locktimeout] [-c cfgfile] [start|stop|restart|reload]  #chunkserver操作命令
3.MetaLogger Server
在192.168.0.2上安装metalogger server,安装步骤同master,在些略过。
配置文件:
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
服务操作:
/usr/local/mfs/sbin/mfsmetalogger [-vdu] [-t locktimeout] [-c cfgfile] [start|stop|restart|reload]  
4. MFS Client
在192.168.0.6上执行客户端安装
4.1 FUSE安装:
       wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz/download
       tar zxf fuse-2.9.3.tar.gz
       cd fuse-2.9.3
       ./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也加入开机自启
注:
   一定要将fuse环境变量配置ok,否则安装mfsmount会装不上
   若将下列mfsmount挂载操作加入开机自启动,一定将modprobe fuse也加入开机自启,且在其执行之前执行。
  4.2 MFSMount安装:
       useradd mfs -s /sbin/nologin
       wget 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-mfsmaster --disable-mfschunkserver
       make;make install
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
5.MFS集群的启动与关闭

   5.1 安全启动MooseFS 集群:
       启动mfsmaster 进程
       启动所有的mfschunkserver 进程
       启动mfsmetalogger 进程(如果配置了mfsmetalogger)
       当所有的chunkservers 连接到MooseFS master 后,任何数目的客户端可以利用mfsmount 去挂接被export 的文件系统。(可以通过检查master 的日志或是CGI 监视器来查看是否所有的chunkserver被连接)。
   5.2安全的停止MooseFS 集群:
       在所有的客户端卸载MooseFS 文件系统
       用mfschunkserver stop 命令停止chunkserver 进程
       用mfsmetalogger stop 命令停止metalogger 进程
       用mfsmaster stop 命令停止master 进程


你可能感兴趣的:(分布式存储,MFS,moofs)