Moosefs
主控服务器 Master server: 192.168.1.1
主控备份服务器 Metalogger server: 192.168.1.2
存储块服务器 Chunk servers: 192.168.1.101 and 192.168.1.102
客户端主机 (clients): 192.168.2.x
主控服务器 Master server 安装
yum -y install gcc zlib-devel zlib fuse fuse-devel fuse-libs ntp
useradd mfs
echo "123" | passwd --stdin mfs
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./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
cp mfsmaster.cfg.dist mfsmaster.cfg
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
cp mfsexports.cfg.dist mfsexports.cfg
cd /usr/local/mfs/var/mfs
cp metadata.mfs.empty metadata.mfs
启动 master
/usr/local/mfs/sbin/mfsmaster start
浏览器监控 master
/usr/local/mfs/sbin/mfscgiserv
iptables 开启 9425:tcp
http://192.168.0.121:9425
iptables 开启端口:9419 9420 9421 9425
备份服务器Backup server(metalogger)安装
useradd mfs
echo "123" | passwd --stdin mfs
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
# ../configure --prefix=/usr/local/mfs --with-default-user=mfs \
--with-default-group=mfs --disable-mfschunkserver --disable-mfsmount
make
make install
产生配置文件
cd /etc
cp mfsmetalogger.cfg.dist mfsmetalogger.cfg
类似地,修改/etc/hosts 文件,增加下面的行:
192.168.1.1 mfsmaster
运行备份服务 mfsmetaloger:
#/usr/local/mfs/sbin/mfsmetalogger start
working directory: /var/lib/mfs
lockfile created and locked
initializing mfsmetalogger modules ...
mfsmetalogger daemon initialized properly
# lsof -i 端口 9419
# ps -ef | grep mfs
停止 metalogger 服务
# mfsmetalogger -s
存储块服务器Chunk servers 安装
useradd mfs
echo "123" | passwd --stdin mfs
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure --prefix=/usr/local/mfs --with-default-user=mfs --with-default-group=mfs --disable-mfsmaster
make
make install
cd /usr/local/mfs/etc
cp mfschunkserver.cfg.dist mfschunkserver.cfg
cp mfshdd.cfg.dist mfshdd.cfg
fdisk -l 分区
mkfs.ext3 /dev/sdb1
mkfs.ext3 /dev/sdc1
mkdir -p /mnt/mfschunks1
mkdir -p /mnt/mfschunks2
mount /dev/sdb1 /mnt/mfschunks1
mount /dev/sdc1 /mnt/mfschunks2
chown -R mfs:mfs /mnt/mfschunks1
chown -R mfs:mfs /mnt/mfschunks2
# cat /usr/local/mfs/etc/mfshdd.cfg
/mnt/mfschunks1
/mnt/mfschunks2
启动 chunk server:
/usr/local/mfs/sbin/mfschunkserver start
iptables 开启端口:9422
lokkit --port=9422:tcp -q
客户端安装
客户端主机必须安装 FUSE 软件包
useradd mfs
echo "123" | passwd --stdin mfs
tar zxvf mfs-1.6.20-2.tar.gz
cd mfs-1.6.20-2
./configure --prefix=/usr/local/mfs --disable-mfsmaster --disable-mfschunkserver --enable-mfsmount --with-default-user=mfs --with-default-group=mfs
make
make install
假定客户端的挂接点是 /data1
1. 创建挂接点
mkdir -p /data1
2. 开始挂接操作
# /usr/local/mfs/bin/mfsmount /data1 -H 192.168.0.121
3. 执行 df -h 检查分区情况
# df –h
MooseFS的特定的操作
1、设定的目标 目标(goal),是指文件被拷贝的份数,设定了拷贝的份数后是可以通过可以 mfsgetgoal 命令来证实的,也可以通过 mfssetgoal 来改变设定。
例如:
mfsgetgoal 命令查看副本数:
# /usr/local/mfs/bin/mfsgetgoal /data1/app/test.txt
/data1/app/test.txt: 2
mfssetgoal 设置副本 3:
# /usr/local/mfs/bin/mfssetgoal 3 /data1/app/test.txt
/data1/app/test.txt: 3
下面设置整个目录数副本为 3,-r 选项是递归:
# /usr/local/mfs/bin/mfssetgoal -r 2 /data1/app
/data1/app:
inodes with goal changed: 2
inodes with goal not changed: 0
inodes with permission denied: 0
实际的拷贝份数可以通过 mfscheckfile 和 mfsfileinfo 命令来证实
例如:
# /usr/local/mfs/bin/mfscheckfile /data1/app/test.txt
/data1/app/test.txt:
2 copies: 1 chunks
# ./mfsfileinfo /data1/app/test.txt
/data1/app/test.txt:
chunk 0: 0000000000000001_00000001 / (id:1 ver:1)
copy 1: 192.168.100.101:9422
copy 2: 192.168.100.202:9422
整个目录树的内容摘要可以用一个功能增强的等同于 du -s 的命令 mfsdirinfo,mfsdirinfo 为 MooseFS 列出具体的信息。
例如: $ mfsdirinfo /mnt/mfs/test/:
MooseFS 维护
一、启动MooseFS集群
最安全的启动MooseFS集群(避免任何读或写的错误数据或类似的问题)的方式是按照以下命令步骤:
1)、启动 mfsmaster 进程
2)、启动所有的 mfschunkserver 进程
3)、启动mfsmetalogger进程(如果配置了 mfsmetalogger) 当所有的chunkservers连接到MooseFS master后,任何数目的客户端可以利用mfsmount去挂载被export的文件系统。(可以通过检查master的日志或CGI监视器来查看是否所有的chunkserver被连接)。
二、停止MooseFS集群
安全的停止MooseFS集群:
1)、在所有的客户端卸载 MooseFS 文件系统(用umount命令或者是其它等效的命令)
2)、用 mfschunkserver -s 命令停止 chunkserver 进程
3)、用 mfsmetalogger -s 命令停止 metalogger 进程
4)、用mfsmaster -s 命令停止master进程
停止 MooseFS
为了安全停止MooseFS 集群,建议执行如下的步骤:
在所有客户端用 umount 命令先卸载文件系统(本例将是: umount /mnt/mfs)
停止chunk server 进程: /usr/sbin/mfschunkserver stop
停止 metalogger 进程: /usr/sbin/mfsmetalogger stop
停止主控 master server 进程: /usr/sbin/mfsmaster stop
Linux Moosefs
原创
©著作权归作者所有:来自51CTO博客作者ohio的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:Linux LVM
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
MooseFS rpm Spec File
Name: mfsVersion: 1.6.27Release: 1%{?di
rpm mfs mfs-spec -
moosefs搭建与应用
moosefs搭建与应用
moosefs 搭建 moosefs