如果为测试目的,可以把 MooseFS 安装在同一个物理主机上。在这里,我们不推荐您把备份服
务也安装在这个主机上。同样,我们假定主机的 ip 地址为 192.168.1.1。
为了挂接基于 MooseFS 分布式文件,客户端主机必须安装 FUSE 软件包( fuse 版本号至少
2.6,推荐使用版本号大于 2.7.2 的 fuse)。如果系统没有安装 fuse,你必须手动对其进行安装。
一种常见的安装方式是从源码进行编译安装-我们可以从 http://sourceforge.net/projects/fuse/取
得安装源码:
#cd /usr/src
#tar -zxvf fuse-2.8.3.tar.gz
#cd fuse-2.8.3
#./configure
#make
#make install
安装 MooseFS:
#groupadd mfs
#useradd -g mfs mfs
#cd /usr/src
#tar -zxvf mfs-1.6.15.tar.gz
#cd mfs-1.6.15
#./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var/lib --with-default-user=mfs \
--with-default-group=mfs
#make
#make install
MooseFS chunk 以独占方式使用专门磁盘分区是非常必要的--这样做的好处是便于管理剩余空
间。MooseFS 并不考虑其剩余空间能被另作他用。如果没有单独创建文件系统的条件,可以在
文件中创建一个文件系统。为了完成测试,我们准备两个 2GB 的文件(文件位于目录
/storage/mfschunks),并在其上创建文件系统。把他们格式化为 ext3,分别挂接在
/mnt/mfschunks1 和/mnt/mfschunks2。以下是具体操作步骤:
一、挂接第一个文件系统
1、创建目录
#mkdir -p /storage/mfschunks
2、创建镜像文件 mfschunks1
#dd if=/dev/zero of=/storage/mfschunks/mfschunks1 bs=1024 count=1\
seek=$((2*1024*1024-1))
3、创建文件系统
#mkfs -t ext3 /storage/mfschunks/mfschunks1
4、创建挂接点
#mkdir -p /mnt/mfschunks1
5、挂接文件系统
#mount -t ext3 -o loop /storage/mfschunks/mfschunks1\
/mnt/mfschunks1
二、挂接第二个文件系统
1、创建第二个镜像文件
#dd if=/dev/zero of=/storage/mfschunks/mfschunks2 bs=1024 count=1\
seek=$((2*1024*1024-1))
2、创建文件系统
#mkfs -t ext3 /storage/mfschunks/mfschunks2
3、创建挂接点
#mkdir -p /mnt/mfschunks2
4、挂接文件系统
#mount -t ext3 -o loop /storage/mfschunks/mfschunks2 \
/mnt/mfschunks2
在启动 chunk server 前,需确保用户 mfs 有权限读写将要被挂接的分区(因为 chunk server 运
行时要在此创建一个.lock 的文件):
#chown -R mfs:mfs /mnt/mfschunks1
#chown -R mfs:mfs /mnt/mfschunks2
/etc 目录自动生成样例配置文件,这些样例文件是以.dist 后缀命名。这里我们将借用这些
样例文件作为 MooseFS 的目标配置文件:
#cd /etc
#cp mfsexports.cfg.dist mfsexports.cfg
#cp mfsmaster.cfg.dist mfsmaster.cfg
#cp mfschunkserver.cfg.dist mfschunkserver.cfg
#cp mfshdd.cfg.dist mfshdd.cfg
mfsexports.cfg 与 mfsmaster.cfg 为主控服务 master 配置文件,
mfschunkserver.cfg 与 mfshdd.cfg 为 chunk server 配置文件.
配置文件 mfsexports.cfg 指定那些客户端主机可以远程挂接 MooseFS 文件系统,以及授予
挂接客户端什么样的访问权限。例如,我们指定只有 192.168.2.x 网段的主机可以以读写模式
访问 MooseFS 的整个共享结构资源(/)。在配置文件 mfsexports.cfg 文件的第一行,先
取消注释,然后把星号(*)改成 192.168.1.0/24,以便我们可以得到下面的文本行:
192.168.1.0/24 / rw,alldirs,maproot=0
修改配置文件 mfshdd.cfg ,使其内容为:
/mnt/mfschunks1
/mnt/mfschunks2
作为测试的例子,我们不打算修改 mfsmaster.cfg 和 mfschunkserver.cfg 配置文件的
其他选项。
二进制文件 metadata 和文本文件 changelog 将被保存在目录/var/lib/mfs,这是因为我们安
装过程的 configure 步骤使用了选项 --localstatedir=/var/lib 。首次安装 master 时,会自
动生成一个名为 metadata.mfs.empty 的元数据文件 metadata,该文件是空的。MooseFS
master 运必须有文件 metadata.mfs,这个文件是从 metadata.mfs.empty 改名而来:
#cd /var/lib/mfs
#cp metadata.mfs.empty metadata.mfs
修改文件/etc/hosts,新增如下的文本行:
192.168.1.1
mfsmaster
运行 master server, CGI 监控以及 chunk server:
#modprobe fuse
#/usr/sbin/mfsmaster start
#/usr/sbin/mfscgiserv
#/usr/sbin/mfschunkserver start
MooseFS 当前运行状态可以在浏览器中地址栏输入 http://192.168.1.1:9425/ 获得。
挂接 MooseFS 文件系统到挂接点 /mnt/mfs :
1、建立挂接点
#mkdir -p /mnt/mfs
2、挂接操作
#/usr/bin/mfsmount /mnt/mfs -H mfsmaster
3、查看挂接情况
# df -h | grep mfs:
停止 MooseFS
为了安全停止 MooseFS 集群,建议执行如下的步骤:
在所有客户端用 Unmount 命令先卸载文件系统(本例将是: umount /mnt/mfs)
停止 chunk server 进程: /usr/sbin/mfschunkserver stop
停止 metalogger 进程: /usr/sbin/mfsmetalogger stop
停止主控 master server 进程: /usr/sbin/mfsmaster stop