MFS分布式文件系统特点:
• 高可靠性(数据的多个副本存储在不同服务器)
• 容量动态扩展(添加新硬盘或者服务器)
• 可以回收在制定时间内删除的文件,类似回收站功能
• 可以对整个文件甚至是正在被写入的文件创建文件快照
MFS整体架构的四种角色:
• Master(元数据服务器)负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复,多节点拷贝。存储着每个文件的元数据(文件的大小、属性、位置信息,包括所有非常规文件的所有信息,例如目录、套接字、管道以及设备文件)
• Metalogger(元数据日志服务器)负责备份Master服务器的changelog。文件类型为 changelog.*.mfs ,以便在Master出问题时接替其工作
• Chunk(数据存储服务器)负责连接Master,听从Master调度,提供存储空间,并为客户端提供数据传输
• Client(客户端挂载)通过FUSE内核接口挂载远程管理服务器(master)上所管理的数据存储服务器,使用起来和本地文件系统一样
整体思路:
1.分别搭建Master server、Metalogger server、 Chunk server 和Client四种角色
2.并在四种角色中分别复制配置文件,配置文件模板都在/usr/local/mfs/etc/mfs中,并在除Master server和Client以外服务器的配置文件中指定Master server地址
3.在Chunk server配置文件中(/usr/local/mfs/etc/mfs/mfshdd.cfg)添加MFS的分区
4.在Client创建挂载点,数据存储在挂载点ok
1)搭建Master server
yum -y install zlib-devel
useradd mfs -s /sbin/nologin
tar xf /mnt/mfs-1.6.27-5.tar.gz -C /usr/src
cd /usr/src/mfs-1.6.27/
./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/mfs
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsexports.cfg.dist mfsexports.cfg
cp mfstopology.cfg mfstopology.cfg
cd /usr/local/mfs/var/mfs/
cp metadata.mfs.empty metadata.mfs
/usr/local/mfs/sbin/mfsmaster start
2)搭建metalogger server
yum -y install zlib-devel
useradd mfs -s /sbin/nologin
tar xf /mnt/mfs-1.6.27-5.tar.gz -C /usr/src
cd /usr/src/mfs-1.6.27/
./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/mfs
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
vim mfsmetalogger.cfg
MASTER_HOST = 192.168.1.1 //手工添加MASTER SERVER的ip地址
/usr/local/mfs/sbin/mfsmetalogger start
3)搭建chunk server
yum -y install zlib-devel
useradd -s /sbin/nologin mfs
tar xf /mnt/mfs-1.6.27-5.tar.gz -C /usr/src
cd /usr/src/mfs-1.6.27/
./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/mfs
cd /usr/local/mfs/etc/mfs/
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
vim mfschunkserver.cfg
MASTER_HOST = 192.168.1.1 //master服务器的ip地址
vim mfshdd.cfg
/data //设置chunk server存放数据的目录
mkdir /data
chown -R mfs:mfs /data
/usr/local/mfs/sbin/mfschunkserver start
4)客户端配置
1.安装fuse
tar xf /mnt/fuse-2.9.2.tar.gz -C /usr/src
cd /usr/src/fuse-2.9.2/
./configure
make && make install
2.设置环境变量
vim /etc/profile
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#PKG_CONFIG_PATH是用来设置.pc文件的搜索路径的
source /etc/profile
3.安装mfs客户端
useradd -s /sbin/nologin mfs
tar xzf /mnt/mfs-1.6.27-5.tar.gz -C /usr/src
cd /usr/src/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
4.挂载mfs文件系统
mkdir /test
modprobe fuse //加载fuse模块到内核
/usr/local/mfs/bin/mfsmount /test -H 192.168.1.1 //挂载mfs
5..mfs常用操作
设置环境变量
vim /etc/profile
export PATH=/usr/local/mfs/bin:$PATH
source /etc/profile
查看与设置文件复制的份数
mfsgetgoal -r /test
mfssetgoal -r 2 /test
通过以下命令启动监控
/usr/local/mfs/sbin/mfscgiserv
在一台客户端上通过浏览器访问 http://192.168.1.1:9425