部署MooseFS分布式文件系统
192.168.16.201 mfsmaster
192.168.16.202 mfsmaster
192.168.16.203 mfschunkserver
192.168.16.204 client
一. 部署mfsmaster
1. mfsmaster
# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.7.25/mfs-1.7.25.tar.gz
# tar xvf mfs-1.7.25.tar.gz -C /usr/local/src/
# vim /etc/hosts
192.168.16.201 mfsmaster
# useradd -s /sbin/nologin -M mfs
# yum -y install fuse fuse-devel
# cd /usr/local/src/mfs-1.7.25
# ./configure --prefix=/usr/local/mfs --sysconfdir=/etc/ --with-default-user=mfs --with-default-group=mfs
# make && make install
# cp /etc/mfs/mfsmaster.cfg.dist /etc/mfs/mfsmaster.cfg
# cp /etc/mfs/mfsexports.cfg.dist /etc/mfs/mfsexports.cfg
# cp /usr/local/mfs/var/mfs/metadata.mfs.empty /usr/local/mfs/var/mfs/metadata.mfs
# /usr/local/mfs/sbin/mfsmaster start
# lsof -i
# tailf /var/log/messages
2. mfscgiserv, web管理
启动和停止web gui
启动: /usr/local/mfs/sbin/mfscgiserv
停止: kill /usr/local/mfs/sbin/mfscgiserv
二. 部署mfsmetalogger, 备份服务器
2.安装
# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.7.25/mfs-1.7.25.tar.gz
# tar xvf mfs-1.7.25.tar.gz -C /usr/local/src/
# vim /etc/hosts
192.168.16.201 mfsmaster
# useradd -s /sbin/nologin -M mfs
# yum -y install fuse fuse-devel
# cd /usr/local/src/mfs-1.7.25
# ./configure --prefix=/usr/local/mfs --sysconfdir=/etc/ --with-default-user=mfs --with-default-group=mfs
# make && make install
# cp /etc/mfs/mfsmetalogger.cfg.dist /etc/mfs/mfsmetalogger.cfg
# /usr/local/mfs/sbin/mfsmetalogger start
# lsof -i
# tailf /var/log/messages
三. 部署mfschunkserver, 数据存储节点, 可以有多台
1.规划存储, 将物理磁盘挂载到对应目录后提供给mfs用作hdd
# fdisk /dev/sdb
# mkfs.ext3 /dev/sdb1
# mkdir /data/mfschunk1
# mount /dev/sdb1 /data/mfschunk1
# chown -R mfs.mfs /data/mfschunk1
2.安装
# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.7.25/mfs-1.7.25.tar.gz
# tar xvf mfs-1.7.25.tar.gz -C /usr/local/src/
# vim /etc/hosts
192.168.16.201 mfsmaster
# useradd -s /sbin/nologin -M mfs
# yum -y install fuse fuse-devel
# cd /usr/local/src/mfs-1.7.25
# ./configure --prefix=/usr/local/mfs --sysconfdir=/etc/ --with-default-user=mfs --with-default-group=mfs
# make && make install
# cp /etc/mfs/mfschunkserver.cfg.dist /etc/mfs/mfschunkserver.cfg
# cp /etc/mfs/mfshdd.cfg.dist /etc/mfs/mfshdd.cfg
# vim /etc/mfs/mfshdd.cfg
/data/mfschunk1
# /usr/local/mfs/sbin/mfschunkserver start
# lsof -i
# tailf /var/log/messages
四 部署mfsclient
1. 安装mfsclient
# wget http://ncu.dl.sourceforge.net/project/moosefs/moosefs/1.7.25/mfs-1.7.25.tar.gz
# tar xvf mfs-1.7.25.tar.gz -C /usr/local/src/
# vim /etc/hosts
192.168.16.201 mfsmaster
# useradd -s /sbin/nologin -M mfs
# yum -y install fuse fuse-devel
# cd /usr/local/src/mfs-1.7.25
# ./configure --prefix=/usr/local/mfs --sysconfdir=/etc/ --with-default-user=mfs --with-default-group=mfs --enable-mfsmount
# make && make install
# mkdir /mnt/mfs
# /usr/local/mfs/bin/mfsmount /mnt/mfs -H mfsmaster
# df -lh
# tailf /var/log/messages
# cd /mnt/mfs
# touch test
五. 维护、管理
启动
停止
六、附录
1. 可以在一台机器上同时部署以上各个服务。
2. 另外一些rhel平台下的服务启动脚本也可以在源码内找到(/usr/local/src/mfs-1.7.25/rpm/), 可以修改后做开机服务自启动。
[root@localhost mfs]# ls /usr/local/src/mfs-1.6.27/rpm/rh/mfs
mfscgiserv.init mfschunkserver.init mfsmaster.init mfsmetalogger.init
3. 如果是测试学习目的, 可以使用dd创建文件系统作为mfschunk的hdd
# dd if=/dev/zero of=/opt/mfs.img bs=1M count=10000
# losetup /dev/loop0 /opt/mfs.img
# mkfs.ext3 /dev/loop0
# mkdir /mnt/mfschunk
# mount -o loop /dev/loop0 /mnt/mfschunk
# chown -R mfs.mfs /mnt/mfschunk
或者不绑定到loop而是直接挂载为loop文件, 即
# dd if=/dev/zero of=/opt/mfs.img bs=1M count=10000
# mkfs.ext3 /opt/mfs.img
# mkdir /mnt/mfschunk
# mount -o loop /opt/mfs.img /mnt/mfschunk
# chown -R mfs.mfs /mnt/mfschunk
七、参考
http://www.moosefs.org/reference-guide.html