MFS分布式文件系统
MFS分布式文件系统
MFS是什么?
是一个具有容错性的网络分布式文件系统,分布式文件系统就是把一些分散在多台计算机上的共享文件夹,集合到一个共享文件夹内,用户要访问这些文件夹的时候,只要打开一个文件夹,就可以的看到所有链接到此文件夹内的共享文件夹
MFS框架的组成成员
元数据服务器(Master):在整个体系中负责管理文件系统,维护元数据,目前不支持高可用
元数据日志服务器(MetaLogger):备份Master服务器的变化日志文件,当master服务器损坏,可以从日志服务器中取得文件恢复
数据存储服务器(Chunk):真正存储数据的服务器
客户端(Client): 可以像挂载NFS一样 挂载MFS文件系统
如下图所示是MFS的环境结构图
MFS搭建
搭建Master服务器
1.安装依赖包
yum -y install gcc gcc-c++ zlib-devel
2.建立管理用户
useradd -s /sbin/nologin mfs
3.解压源码包编译安装
tar zxf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make && make install
4.复制模板创建配置文件(Master服务器需要mfsexports、mfsmaster、mfsmetalogger这三个文件)
cd /usr/local/mfs/etc/mfs/
cp mfsexports.cfg.dist mfsexports.cfg
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs
5.将该文件目录的属组和属主改为mfs
chown -R mfs.mfs /usr/local/mfs
6.Master服务器需要mfsmaster.cfg(主配置文件)和mfsexports.cfg(被挂载目录及权限配置文件),这里不需要修改
mfsmaster.cfg(主配置文件)
#WORKING_USER = mfs \\运行masterserver的用户
#WORKING_GROUP = mfs \\运行masterserver的组
#SYSLOG_IDENT = mfsmaster \\在syslog中表示是mfsmaster产生的日志
#LOCK_MEMORY = 0 \\是否执行mlockall(),以避免mfsmaster进程溢出(默认为0)
#NICE_LEVEL = -19 \\运行的优先级(如果可以,默认是-19;注意:进程必须用root启动)
#EXPORTS_FILENAME = /usr/local/mfs/etc/mfs/mfsexports.cfg \\被挂载目录及其权限控制文件的存放位置
#TOPOLOGY_FILENAME = /usr/local/mfs/etc/mfs/mfstopology.cfg
#DATA_PATH = /usr/local/mfs/var/mfs \\数据存放路径
#BACK_LOGS = 50 \\metadata改变的log文件数目(默认是50)
#BACK_META_KEEP_PREVIOUS = 1
#REPLICATIONS_DELAY_INIT = 300
#REPLICATIONS_DELAY_DISCONNECT = 3600
#MATOML_LISTEN_HOST = \\metalogger监听的IP地址(默认是,代表任何IP)
#MATOML_LISTEN_PORT = 9419 \\metalogger监听的端口地址(默认是9419)
#MATOML_LOG_PRESERVE_SECONDS = 600
#MATOCS_LISTEN_HOST = \\用于chunkserver连接的IP地址(默认是,代表任何IP)
#MATOCS_LISTEN_PORT = 9420 \\用于chunkserver连接的端口地址(默认是9420)
#MATOCL_LISTEN_HOST = \\用于客户端挂接连接的IP地址(默认是,代表任何IP)
#MATOCL_LISTEN_PORT = 9421 \\用于客户端挂接连接的端口地址(默认是4921)
#CHUNKS_LOOP_MAX_CPS = 100000
#CHUNKS_LOOP_MIN_TIME = 300 \\chunk的回环频率(默认是300秒)
#CHUNKS_SOFT_DEL_LIMIT = 10
#CHUNKS_HARD_DEL_LIMIT = 25
#CHUNKS_WRITE_REP_LIMIT = 2 \\在一个循环里复制到一个chunkserver的最大chunk数
#CHUNKS_READ_REP_LIMIT = 10 \\在一个循环里从一个chunkserver复制的最大chunk数
#ACCEPTABLE_DIFFERENCE = 0.1
#SESSION_SUSTAIN_TIME = 86400
#REJECT_OLD_CLIENTS = 0
#deprecated:
#CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead
#LOCK_FILE - lock system has been changed, and this option is used only to search for old lockfile
mfsexports.cfg(被挂载目录及权限配置文件)
#Allow everything but "meta".
/ rw,alldirs,maproot=0
#Allow "meta".
. rw
#第一部分:客户端的IP地址
#*表示所有IP地址
#单个IP地址
#IP地址/子网掩码
#IP地址网段
#第二部分:被挂接的目录
#/标识MFS根 .表示MFSMETA文件系统
#第三部分:客户端拥有的权限
#ro——只读模式共享
#rw——读写的方式共享
#alldirs——允许挂载任何指定的子目录
#admin——管理员权限
#maproot——映射为root,还是指定的用户
#Password——指定客户端密码
7.启动服务并查看是否开启成功
/usr/local/mfs/sbin/mfsmaster start
ps -ef | grep mfs
搭建Metalogge服务器
1.安装依赖包
yum -y install gcc gcc-c++ zlib-devel
2.创建管理用户
useradd -s /sbin/nologin mfs
3.解压安装包并编译安装
tar zxf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make && make install
4.复制配置文件模板使用(本服务器只需开启日志文件)
cd /usr/local/mfs/etc/mfs/
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
5.编辑日志配置文件添加Master服务器的IP地址
vim mfsmetalogger.cfg
MASTER_HOST = 192.168.199.129
6.修改文件的属组和属主为mfs
chown -R mfs.mfs /usr/local/mfs/
7.开启MetaLog服务并查看开始是否成功
/usr/local/mfs/sbin/mfsmetalogger start
ps -ef | grep mfs
搭建Chunk服务器(两台搭建步骤一样)
1.安装依赖包
yum -y install gcc gcc-c++ zlib-devel
2.建立管理用户
useradd -s /sbin/nologin mfs
3.解压源码包编译安装
tar zxf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfsmount
make && make install
4.复制模板配置开启mfschunkserver和mfshdd两个文件使用
cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
5.编辑mfschunkserver.cfg配置文件添加Master服务器IP地址
vim mfschunkserver.cfg
MASTER_HOST = 192.168.0.101
6.修改mfshdd.cfg文件,添加本地挂载之类需要共享的目录或磁盘,生存环境最好使用独立的分区或磁盘挂载到此目录
vim mfshdd.cfg
/test
7.创建挂载目录
mkdir /test
chown -R mfs.mfs /data
8.开启服务并查看启动服务情况是否成功
/usr/local/mfs/sbin/mfschunkserver start
ps -ef | grep mfs
搭建客户端
1.安装依赖包
yum install gcc gcc-c++ zlib-devel fuse fuse-devel -y
2.在/etc/profile最后添加环境变量并运行该文件
vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
source /etc/profile
3.创建进程管理用户
useradd -s /sbin/nologin mfs
4.解压安装包,编译安装
tar zxf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27/
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount
make && make install
5.加载fuse模块到内核
modprobe fuse
6.创建挂载点并挂载MFS
mkdir /mfs
/usr/local/mfs/bin/mfsmount /mfs -H 192.168.0.101
7.查看挂载情况:df -hT
8.创建测试文件测试
补充:命令路径优化
ln -s /usr/local/mfs/bin/* /usr/bin/
ln -s /usr/local/mfs/sbin/* /usr/sbin/
这样使用命令就可以不用输入那么长的路径
开启master的图形管理界面(如下图)
/usr/local/mfs/sbin/mfscgiserv
直接访问9425端口就行
上一篇: FCKEditor的配置