设为首页 收藏本站
查看: 1329|回复: 0

[经验分享] Linux Moosefs

[复制链接]

尚未签到

发表于 2019-2-1 08:44:21 | 显示全部楼层 |阅读模式
  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 的命令 mfsdirinfomfsdirinfo   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





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-670262-1-1.html 上篇帖子: MooseFS安装配置 下篇帖子: 分布式文件系统MFS(moosefs)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表