Moosefs分布式存储

MFS文件系统结构:

包含4种角色:

管理服务器managing server (master)

元数据日志服务器Metalogger server(Metalogger)

数据存储服务器data servers (chunkservers)

客户机挂载使用client computers

各种角色作用:

1. 管理服务器:负责各个数据存储服务器的管理,文件读写调度,文件空间回收以及恢复

2. 元数据日志服务器: 负责备份master服务器的变化日志文件,文件类型为

changelog_ml.*.mfs,以便于在master server出问题的时候接替其进行工作。

3. 数据存储服务器:负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。

4. 客户端: 通过fuse内核接口挂接远程管理服务器上所管理的数据存储服务器,看起来共享的文件系统和本地unix文件系统使用一样的效果。

MFS部署:

主机环境:RHEL6.0 selinux and iptables disabled

Master:192.168.0.11

Metalogger: 192.168.0.76

Chunkserver: 192.168.0.76 192.168.0.79

Client: 192.168.0.75

软件下载:www.moosefs.org

首先在主机11上安装gcc make rpm-build(用来生成rpm软件包)fuse-devel zlib-devel

#yum install gcc make rpm-build fuse-devel zlib-devel -y

之后去网站或者服务器下载mfs最新的软件包mfs-1.6.26.tar.gz

lftp 192.168.0.254->cd pub/docs/mfs->get mfs-1.6.26.tar.gz(lftp需要安装,没有服务器请去官网下载)

使用rpm解压成rpm包

#rpmbuild -tb mfs-1.6.26.tar.gz

#cd /root/rpmbuild/RPMS/x86_64

#ls

会产生如下rpm包

mfs-cgi-1.6.26-1.x86_64.rpm

mfs-master-1.6.26-1.x86_64.rpm

mfs-chunkserver-1.6.26-1.x86_64.rpm mfs-metalogger-1.6.26-1.x86_64.rpm

mfs-client-1.6.26-1.x86_64.rpm

主控服务器 Master server 安装:

# yum localinstall -y mfs-master-1.6.26-1.x86_64.rpm mfs-cgi-1.6.26-1.x86_64.rpm

#cd /etc/

#cp mfsmaster.cfg.dist mfsmaster.cfg

此文件中凡是用#注释掉的变量均使用其默认值,基本不需要就可以工作,所以不需要修改。

# cp mfsexports.cfg.dist mfsexports.cfg

# vi mfsexports.cfg

192.168.0.0/24        /        rw,alldirs,maproot=0

##客户端的ip地址        被挂接的目录        客户端拥有的权限##

# cd /var/lib/mfs

# cp metadata.mfs.empty metadata.mfs

# chown nobody /var/lib/mfs(由于mfsmaster.cfg中的user=nobody)

# ll -d /var/lib/mfs

drwxr-xr-x. 2 nobody root 4096 Aug 26 14:00 /var/lib/mfs/

修改

# vi /etc/hosts文件,增加下面的行:

192.168.0.11 mfsmaster

之后启动mfsmaster

#mfsmaster start

working directory: /var/lib/mfs

lockfile created and locked

initializing mfsmaster modules ...

loading sessions ... file not found

if it is not fresh installation then you have to restart all active mounts !!!

exports file has been loaded

mfstopology configuration file (/etc/mfstopology.cfg) not found - using defaults

loading metadata ...

create new empty filesystemmetadata file has been loaded

no charts data file - initializing empty charts

master <-> metaloggers module: listen on *:9419

master <-> chunkservers module: listen on *:9420

main master server module: listen on *:9421

mfsmaster daemon initialized properly

出现上面表示成功

# mfscgiserver启动CGI监控服务

lockfile created and locked

starting simple cgi server (host: any , port: 9425 , rootpath: /usr/share/mfscgi)

在浏览器地址栏输入 http://192.168.0.11:9425 即可查看 master 的运行情况

存储块服务器 Chunk servers 安装:

# yum localinstall -y mfs-chunkserver-1.6.26-1.x86_64.rpm

*/lvs  openssh-clietns

#rpm -ivh mfs-chunkserver-1.6.26-1.x86_64.rpm

#rpm -ql mfs-chunkserver(查看安装目录)

#cd /etc/

#cp mfschunkserver.cfg.dist mfschunkserver.cfg

#cp mfshdd.cfg.dist mfshdd.cfg

#vi /etc/hosts

192.168.0.11    mfsmaster

#fdisk -cu /dev/vda

全部默认回车,创建一个LVM分区/dev/vda4

#partx -a

#df -h

#pvcreate /dev/vda4

#pvs

#vgcreate vg0_desktop79 /dev/vda4

#vgs

#lvcreate -L 2G -n data1 vg0_desktop79

#lvs

#mkfs.ext4  /dev/vg0_desktop79/data1

#mkdir /mnt/mfschunks1

#mount  /dev/vg0_desktop79/data1 /mnt/mfschunks1/

#df -h

#ll -d /mnt/mfschunks1/

#chown -R nobody:nobody /mnt/mfschunks1/

#mkdir /var/lib/mfs/

#chown nobody:nonody /var/lib/mfs

#ll -d /var/lib/mfs/

#vi /etc/mfshdd.cfg

/mnt/mfschunks1

#mfschunkserver start

#cd

#ls

#scp mfs-chunkserver-1.6.26-1.x86_64.rpm desktop76:

#lvextend -L +500M /dev/vg0_desktop79/data1

#resize2fs /dev/vg0_desktop79/data1

#df -h

#mfschunkserver reload

现在再通过浏览器访问 http://192.168.0.11:9425/ 应该可以看见这个 MooseFS系统的全部信息,包括主控master和存储服务chunkserver 。

在存储块服务器desktop76上同样操作以上部分,挂在点为/mnt/mfschunks2

数据为/dev/vg0_desktop76/data2,其他同上。

客户端 desktop75 client 安装:

# yum localinstall -y mfs-client-1.6.26-1.x86_64.rpm

# cd /etc

# cp mfsmount.cfg.dist mfsmount.cfg

# vi mfsmount.cfg

定义客户端默认挂载

/mnt/mfs

#vi /etc/hosts

192.168.0.11 mfsmaster

#mkdir /mnt/mfs

# mfsmount

# df -h

...     mfsmaster:9421     2729728  0  2729728  0%  /mnt/mfs

MFS测试:

在MFS挂载点下创建两个 目录,并设置其文件保存的副本数:

# cd /mnt/mfs

# mkdir dir1 dir2

# mfssetgoal -r 2 dir2/

设置在dir2中保存的文件有两个副本,默认是一个

dir2/:

inodes with goal changed:    1

inodes with goal not changed:    0

inodes with permission denied:    0

拷贝同一个文件到两个目录

# cp /etc/passwd dir1

# cp /etc/passwd dir2

查看文件信息

# mfsfileinfo dir1/passwd

dir1/passwd:

chunk 0: 0000000000000001_00000001 / (id:1 ver:1)

copy 1: 192.168.0.79:9422

# mfsfileinfo dir2/passwd

dir2/passwd:

chunk 0: 0000000000000002_00000001 / (id:2 ver:1)

copy 1: 192.168.0.76:9422

copy 2: 192.168.0.79:9422

关闭mfschunkserver2后再查看文件信息

# mfsfileinfo dir1/passwd

dir1/passwd:

chunk 0: 0000000000000001_00000001 / (id:1 ver:1)

no valid copies !!!

# mfsfileinfo dir2/passwd

dir2/passwd:

chunk 0: 0000000000000002_00000001 / (id:2 ver:1)

copy 1: 192.168.0.76:9422

启动mfschunkserver2后,文件回复正常。

恢复误删文件

# rm -f dir1/passwd

# mkdir /mnt/mfsmeta

# mfsmount -m /mnt/mfsmeta/ -H mfsmaster

# cd /mnt/mfsmeta/trash

# mv 00000004\|dir1\|passwd undel/

到dir1目录中可以看到passwd文件恢复

转载于:https://blog.51cto.com/xingdiango/973617

moofs分布式存储相关推荐

  1. 分布式存储(ceph)技能图谱(持续更新)

    一下为个人结合其他人对分布式存储 所需的技能进行总结,绘制成如下图谱,方便针对性学习. 这里对分布式存储系统接触较多的是ceph,所以在分布式存储系统分支上偏向ceph的学习. 如有分类有问题或者分支 ...

  2. 分布式存储 Ceph 的演进经验 · SOSP 2019

    『看看论文』是一系列分析计算机和软件工程领域论文的文章,我们在这个系列的每一篇文章中都会阅读一篇来自 OSDI.SOSP 等顶会中的论文,这里不会事无巨细地介绍所有的细节,而是会筛选论文中的关键内容, ...

  3. 兴义网站服务器存储,兴义ipfs分布式存储操作系统

    兴义ipfs分布式存储操作系统 filecoin的激励机制到底有哪些亮点呢? (1)除了能够促进Filecoin的网络生态外,Filecoin矿工还将获得更多的FIL奖励,包括区块奖励.交易费.存储费 ...

  4. 实战 用户登录、session校验、分布式存储session

    实现登录功能 然后再创建login.css存放于在static下,css目录中,id 为 content 的 样式: #content {margin-left: 220px;margin-right ...

  5. 分布式存储 Ceph 介绍及原理架构分享--云平台技术栈系列01

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的Ceph,从架构简介使用场景,以及内部IO流程.心跳机制.通信框架.CRUSH算法.QOS等多个方面逐渐介绍分布式存储系统Ceph ...

  6. ceph 代码分析 读_分布式存储 Ceph 的演进经验 SOSP 2019

    『看看论文』是一系列分析计算机和软件工程领域论文的文章,我们在这个系列的每一篇文章中都会阅读一篇来自 OSDI.SOSP 等顶会中的论文,这里不会事无巨细地介绍所有的细节,而是会筛选论文中的关键内容, ...

  7. ​超大规模时空数据的分布式存储与应用

    来源:DataFunTalk本文约5200字,建议阅读10+分钟 本文将和大家分享下超图对于超大规模时空数据的分布式存储与应用方案. [ 导读 ]据国际数据公司(IDC)统计,全球每18个月新增数据量 ...

  8. 2018中国计算机大会,阿里云分布式存储架构师:自研分布式文件系统服务

    10月27日下午,2018中国计算机大会上举办了主题"存储软硬件之国产化挑战与机遇"的技术论坛,一起探讨存储软硬件栈上的关键系统与技术的国产化发展道路.论坛上,阿里云分布式存储团队 ...

  9. Linux与云计算——第二阶段 第五章:存储Storage服务器架设—分布式存储Ceph

    Linux与云计算--第二阶段Linux服务器架设 第五章:存储Storage服务器架设-分布式存储Ceph 1 Ceph 配置Ceph集群 Install Distributed File Syst ...

最新文章

  1. 给Oracle表空间Tablespace扩展库文件
  2. 正在看的一些书(值得推荐)
  3. Python3.0 我的DailyReport 脚本(一) 使用COM操作Excel
  4. Windows 2008在域中不能更改密码策略解决方法
  5. mysql语句:索引,游标,存储过程,视图,分区,分库分表,数据库集群,数据库负载均衡...
  6. 【Ubuntu-ROS】ubuntu16.04(18.04)ROS安装配置与卸载
  7. Mac下卸载Idea
  8. 断电,软件崩溃,系统中毒,未点击保存,就关闭导致资料丢失,以word文件文件为例,如何找回
  9. 【VMware】宿主机连接wifi,虚拟机中的Linux系统配置连接wifi
  10. Linux基本常用命令
  11. python读写不同编码txt文件
  12. jquery easyui datagrid 获取Checked选择行(勾选行)数据
  13. 计算机开机后在干啥,电脑开机时到底在干什么
  14. 更“优秀”? 必须的!!
  15. 2009年北京第一场雪
  16. linux标准mib,Linux系统中测试你的MIB值
  17. 超级详细的软件著作权登记所需的软件说明书撰写模板及步骤
  18. STM32F 驱动WS2812B (3) SPI+DMA
  19. 移动端日历插件_“滴答清单”移动端产品分析报告
  20. 8.15游戏背包设计

热门文章

  1. clr 面试_Java中高级面试题及答案
  2. avogadro_Avogadro
  3. ikvm java转换成dll_利用IKVM.NET将Java jar包转换成可供C#调用的dll文件
  4. c语言变长数组_2018级C语言大作业 - 祖玛
  5. (八) shiro + spring + mybatis整合开发
  6. 实现查询菜品信息考试题
  7. java编程double相乘_浅谈Java double 相乘的结果偏差小问题
  8. Windows下Maven的安装与配置
  9. nginx会话保持值sticky模块
  10. libinjection开源库的研究总结