https://www.evernote.com/shard/s442/sh/7553c5b5-56d6-4c38-a7f6-58215cd38e0d/3f5e37e962902489
参考资料列表
- http://www.moosefs.org/tl_files/manpageszip/moosefs-step-by-step-tutorial-cn-v.1.1.pdf
- https://github.com/linhaobuaa/case/blob/master/moosefs-step-by-step-tutorial-cn-v.1.1.pdf
我们假定使用的主机 ip 地址分配如下:
- 主控服务器 Master server: 219.224.135.91
- 主控备份服务器 Metalogger server: 219.224.135.91
- 存储块服务器 Chunk servers: 219.224.135.45, 219.224.135.47, 219.224.135.48, 219.224.135.60, 219.224.135.126
- 客户端主机 clients: 219.224.135.x
- 修改/etc/mfs/mfsexports.cfg
#* / rw,alldirs,maproot=0
219.224.135.0/24 / rw,alldirs,maproot=0
- 修改/etc/hosts,增加下面一行
219.224.135.91 mfsmaster
- 启动mfsmaster
/usr/sbin/mfsmaster start
- 为了监控 MooseFS 当前运行状态,我们可以运行 CGI 监控服务,这样就可以用浏览器查看整个 MooseFS 的运行情况:
/usr/sbin/mfscgiserv
- 查看集群监控信息:http://219.224.135.91:9425/
1、使用新的整块磁盘做chunkserver的存储,新磁盘分区格式化:对/dev/sdb采用ext3格式化,并进行mount,参考https://help.ubuntu.com/community/InstallingANewHardDrive
mkdir -p /mnt/mfschunks1
mount /dev/sdb1 /mnt/mfschunks1
如果/dev/sdb没有进行格式化,用如下命令进行硬盘格式化,前提是/dev/sdb盘可以进行格式化
sudo mkfs -t ext3 /dev/sdb1
2、修改chunkserver的挂载路径
vim /etc/mnt/mfshdd.cfg
/mnt/mfschunks1
3、在启动 chunk server 前,需确保用户 mfs 有权限读写将要被挂接的分区(因为 chunk server 运 行时要在此创建一个.lock 的文件):
chown -R mfs:mfs /mnt/mfschunks1
4、类似地,修改/etc/hosts 文件,增加下面的行:
219.224.135.91 mfsmaster
5、开始启动 chunk server:
/usr/sbin/mfschunkserver start
1、安装fuse
cd /usr/src/
wget http://iweb.dl.sourceforge.net/project/fuse/fuse-2.X/2.9.3/fuse-2.9.3.tar.gz
tar zxvf fuse-2.9.3.tar.gz
cd fuse-2.9.3/
./configure
make && make install
2、安装客户端软件 mfsmount
cd /usr/src/
wget http://pro.hit.gemius.pl/hitredir/id=.WCbG2t.7Ln5k1s3Q9xPg8cPfX.wVMc5kyXfrKcJTDH.c7/url=moosefs.org/tl_files/mfscode/mfs-1.6.27-5.tar.gz
tar zvxf mfs-1.6.27-5.tar.gz
cd mfs-1.6.27/
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var/lib --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount
make && make install
3、修改文件/etc/hosts ,增加如下的文本行:
219.224.135.91 mfsmaster
4、假定客户端的挂接点是/mnt/mfs,我们将以下面的指令来使用 MooseFS 分布式共享文件系统:
- 创建挂接点
mkdir -p /mnt/mfs
- 开始挂接操作
/usr/bin/mfsmount /mnt/mfs -H mfsmaster
- 成功挂载
root@ubuntu5:/mnt/mfs# /usr/bin/mfsmount /mnt/mfs -H mfsmaster
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
1、假设原有的mfsmaster是219.224.135.46,要迁移到219.224.135.92,后又迁移到219.224.135.91,迁移过程参考 http://www.jsxubar.info/mfs%E5%8F%8C%E6%9C%BA%E5%88%87%E6%8D%A2%E6%B5%8B%E8%AF%95.html
2、将219.224.135.92设置成为Metalogger server
3、在46上执行
/usr/sbin/mfsmaster stop
4、在92 上执行
/usr/sbin/mfsmetarestore -a
5、在92 上执行
/usr/sbin/mfsmaster start
6、在92 上执行
/usr/sbin/mfscgiserv
7、修改chunkserver的/etc/hosts文件,将原来的mfsmaster的主机记录更新
wget http://zlib.net/zlib-1.2.8.tar.gz
./configure
make && make install
/usr/sbin/mfsmaster start启动失败问题如下
root@mirage:~# /usr/sbin/mfsmaster start
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmaster modules ...
loading sessions ... ok
sessions file has been loaded
exports file has been loaded
mfstopology configuration file (/etc/mfstopology.cfg) not found - using defaults
loading metadata ...
can't open metadata file
if this is new instalation then rename /var/lib/mfs/metadata.mfs.empty as /var/lib/mfs/metadata.mfs
init: file system manager failed !!!
error occured during initialization - exiting
解决方案:重建meta数据
/usr/sbin/mfsmetarestore -a
LANG=C
sudo apt-get install intltool
/usr/bin/mfsmount /mnt/mfs -H mfsmaster问题如下
root@ubuntu4:/mnt/mfs# /usr/bin/mfsmount /mnt/mfs -H mfsmaster
mfsmaster accepted connection with parameters: read-write,restricted_ip ; root mapped to root:root
fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option
error in fuse_mount
解决方案如下,如果不行的话删除mfs,然后重新mount
umount /mnt/mfs