热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用mogadm配置和管理MogileFS

文章标题:使用mogadm配置和管理MogileFS。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

  1 向Tracker添加Storage节点

  在10.0.0.122和10.0.0.130服务器上都可以执行添加Storage的命令。使用mogadm来添加Storage节点。

  view sourceprint?

  1mogadm add mog_storage_122 --ip=10.0.0.122 --port=7500 --status=alive

  2mogadm host add mog_storage_130 --ip=10.0.0.130 --port=7500 --status=alive

  3mogadm host list

  如果mogadm报模块未找到的错误,需要加“?lib”参数告诉mogadm命令MogileFS相关模块的位置,如“?lib=/usr/lib/perl5/site_perl/5.8.8”,这些模块在安装MogileFS-Client的时候安装。可以使用下列命令查询MogileFS相关模块的位置:

  view sourceprint?

  1find `perl -e 'print "@INC"'` -name 'MogileFS' -print

  2/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS

  3/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS

  4/usr/lib/perl5/site_perl/5.8.8/MogileFS

  5/usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/auto/MogileFS

  6/usr/lib/perl5/site_perl/5.8.8/MogileFS

  其中/usr/lib/perl5/site_perl/5.8.8就是MogileFS相关模块的安装位置。

  2 向Storage节点添加设备

  假设10.0.0.122上有两块硬盘,它们各自的挂载点如下:

  /dev/sda1 -> /

  /dev/sdb1 -> /disk2

  假设10.0.0.130上有两块硬盘,它们各自的挂载点如下:

  /dev/sda1 -> /

  /dev/sdb1 -> /disk4

  首先要在Storage节点上添加设备,方式是在Storage节点的根存储目录下建立设备目录,设备目录以“dev”开头,后面跟一个数字序号,在MogileFS系统中,要求每个设备的序号是唯一的。根存储目录所在磁盘直接建立设备空目录即可,对其他磁盘则需要挂载到设备目录上。如果其他硬盘已经挂载其他地方,可以建立一个软链接来连接到挂载点上。

  在10.0.0.122上执行如下操作:

  view sourceprint?

  1mkdir -p /var/mogile_data/dev12201

  2mogadm device add mog_storage_122 12201

  3ln -s /disk2 dev12202

  4mogadm device add mog_storage_122 12202

  在10.0.0.130上执行如下操作:

  view sourceprint?

  1mkdir -p  /var/mogile_data/dev13001

  2mogadm device add mog_storage_130 13001

  3ln -s /disk2 dev13002

  4mogadm device add mog_storage_130 13002

  最后可以check一下MogileFS系统的状态:

  view sourceprint?

  1mogadm check

  如果一切顺利,打印出来的信息应该类似于下面的结果:

  view sourceprint?

  01Checking trackers...

  02127.0.0.1:7001 ... OK

  03Checking hosts...

  04[ 1] mog_storage_122 ... OK

  05[ 2] mog_storage_130 ... OK

  06Checking devices...

  07host device         size(G)    used(G)    free(G)   use%   ob state   I/O%

  08---- ------------ ---------- ---------- ---------- ------ ---------- -----

  09[ 1] dev12201        850.378    649.364    201.013  76.36%  writeable   0.0

  10[ 1] dev12202        855.761    315.925    539.836  36.92%  writeable   0.0

  11[ 2] dev13001        850.378    647.460    202.918  76.14%  writeable   0.0

  12[ 2] dev13002        855.761    402.538    453.223  47.04%  writeable   0.0

  13---- ------------ ---------- ---------- ---------- ------

  14total:  3412.277   2015.287   1396.990  59.06%

  3 设备失效时的处理

  如果发现某个设备失效了,可以使用mogadm device mark命令标记设备失效。设备不能直接删除,而只能标记失效。设备标记失效后,该设备上的所有文件将重新在其他设备上备份一份。设备被标记失效之后,就不能重新使用了。如果要重新启用设备,MogileFS不会再用设备上原有的文件数据,而必须重新给设备分配一个新的设备序号,MogileFS也会认为该设备是一个全新的设备。

  应注意的几点:

  标记失效后的设备不能直接使用原来的设备序号重新用alive激活;

  要保证在同一时间内只有一个设备标记失效,否则会产生数据丢失。

  例如,一般的场景如下:

  1. 如果发现10.0.0.122机器上的/dev/hdb1损坏,这时候需要用mogadm标记设备失效:

  view sourceprint?

  1

  2mogadm device mark mog_storage_122 12202 dead

  从现在开始,MogileFS将会吧12202设备上的文件再次在其他设备上多备份一份,以填补12202失效产生的备份缺失。

  2. 卸载/dev/hdb1,检查磁盘,并修复。

  3. 将磁盘上的文件全部删除,重新挂载到10.0.0.122机器上。

  4. 为磁盘分配一个新的设备序号12203,并添加设备。

  view sourceprint?

  1

  2mount /dev/hdb1 /disk2

  3ln -s /disk2 dev12203

  4mogadm device add 12203  mog_storage_122

  现在新设备12203将开始接收文件存储。

  4 添加域(Domain)和类(Class)

  在MogileFS分布式文件存储系统中,文件通过 KEY 来引用,KEY 在某个存储域下是唯一的。类包含在domain中,可以针对不同的存储类别设置存储不同份数的文件副本。我们添加一个image 域,并为image域添加两个类,一个是large_image,存储分数是2;另一个是thumbnail,存储分数也是2:

  view sourceprint?

  1mogadm domain add image

  2mogadm class add image large_image --mindevcount=2

  3mogadm class add image thumbnail --mindevcount=2

  From -


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • 腾讯安全平台部招聘安全工程师和数据分析工程师
    腾讯安全平台部正在招聘安全工程师和数据分析工程师。安全工程师负责安全问题和安全事件的跟踪和分析,提供安全测试技术支持;数据分析工程师负责安全产品相关系统数据统计和分析挖掘,通过用户行为数据建模为业务决策提供参考。招聘要求包括熟悉渗透测试和常见安全工具原理,精通Web漏洞,熟练使用多门编程语言等。有相关工作经验和在安全站点发表作品的候选人优先考虑。 ... [详细]
  • 1、概述首先和大家一起回顾一下Java消息服务,在我之前的博客《Java消息队列-JMS概述》中,我为大家分析了:然后在另一篇博客《Java消息队列-ActiveMq实战》中 ... [详细]
  • 环境配置tips
    一、MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:  1、数据库名与表名是严格区分大小写的;  2、表的别名是严格区分大小写的& ... [详细]
  • 前言对于从事技术的人员来说ajax是这好东西,都会使用,而且乐于使用。但对于新手,开发一个ajax实例,还有是难度的,必竟对于他们这是新东西。leo开发一个简单的ajax实例,用的是 ... [详细]
  • PHP编程能开发哪些应用?
    导读:很多朋友问到关于PHP编程能开发哪些应用的相关问题,本文编程笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!本文目录一览: ... [详细]
author-avatar
jueduiliu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有