MooseFS分布式文件系统的搭建

悲剧么,Clubuptime挂那天写的,然后发现备份时候没打包上,幸好有Google Cache。

MooseFS是一个优秀的分布式文件系统,提供了Fuse接口的客户端,挂载后和读写本地磁盘上的文件无异,是替代NFS的理想选择。

除了无需重启拓展结点、稳定性子等技术特性之外,作者的更新和技术支持非常好,文档比较全面。

MooseFS分为三个部分,Master Server,Chunk Server和MetaLog Server.
其中,Master Server存储了元信息,Chunk Server实际存储数据,而Metalog则是防止对Master的Meta信息做热备份。

测试环境机器比较少,只有两台
10.61.1.18/19
如下分配:
Master:10.61.1.19
Chunk:10.61.1.18, 10.61.1.19
Client:10.61.1.18, 10.61.1.19

0、Fuse的安装
注意,最新的2.8.x有点问题(不含内核模块?),建议用2.7.4。

tar -xzvf fuse-2.8.5.tar.gz
cd fuse-2.8.5
./configure
make
sudo make install

1、编译MFS(Master + Chunk + mfsmount)的编译和安装

#创建用户
sudo /usr/sbin/useradd mfs -s /sbin/nologin
#pkgconfig加到~/.bashrc
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
#编译、安装
./configure --prefix=/home/lhy/mfs/ --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
make
make install

2、配置
Master结点

#配置Master
cd /home/lhy/mfs/etc
cp mfsmaster.cfg.dist mfsmaster.cfg

#Meta数据路径(master)
mkdir /home/lhy/mfs/var/mfs_meta
cp /home/lhy/mfs/var/mfs/metadata.mfs.empty ./metadata.mfs

#Meta的配置文件(master)
cd /home/lhy/mfs/etc
cp mfsmaster.cfg.dist mfsmaster.cfg
vim mfsmaster.cfg
#端口说明
MATOCS_LISTEN_PORT = 9420 MATOCS--master to chunkserver,即元数据服务器使用9420这个监听端口来接受数据存储服务器chunkserver端的连接。

MATOML_LISTEN_PORT = 9419 MATOML---master to metalogger,用于备份元数据服务器的变化日志。注:Mfs-1.5.12以前的版本没有这个项目。

MATOCU_LISTEN_PORT = 9421 元数据服务器在9421端口监听,用以接受客户端对MFS进行远程挂接(客户端以mfsmount挂接MFS)

#exports文件
cp mfsexports.cfg.dist mfsexports.cfg
#修改文件为
10.61.1.0/24 / rw

#启动masterserver
mfs/sbin/mfsmaster start

#如果没有什么问题的话,就可以启动了。

3、配置ChunkNode

#修改chunk配置
cd /home/lhy/mfs/etc
cp mfschunkserver.cfg.dist mfschunkserver.cfg

#修改
MASTER_HOST = 10.61.1.19
MASTER_PORT = 9420

#修改hdd配置,这个是管chunk具体数据存放地点的!
cp mfshdd.cfg.dist mfshdd.cfg

#修改
/home/mfs/mfs/var/disk

#启动chunk
mkdir /home/mfs/mfs/var/disk
/home/lhy/mfs/sbin/mfschunksever start

4、挂载

#挂载点
sudo mkdir /mnt/
sudo /home/lhy/mfs/bin/mfsmount /mnt/mfs -H 10.61.1.19 -P 9421

Leave a Reply

Your email address will not be published. Required fields are marked *