Mogilefs安装使用

上传人:e****s 文档编号:71747320 上传时间:2022-04-07 格式:DOC 页数:13 大小:118KB
返回 下载 相关 举报
Mogilefs安装使用_第1页
第1页 / 共13页
Mogilefs安装使用_第2页
第2页 / 共13页
Mogilefs安装使用_第3页
第3页 / 共13页
点击查看更多>>
资源描述
MogileFS安装使用SkyMogileFS介绍2MogileFS特点4MogileFS实例架构图4MogileFS安装5MogileFS配置文件7MogileFS DB 安装及配置8MogileFS DB 表结构8MogileFS介绍 MogileFS是一种分布式文件存储系统。可支持文件自动备份的功能,提供高可用性和高可扩展性。Mogilefs不支持对一个文件内部的随机或顺序读写,因此只适合做一部分应用,如图片服务,静态HTML服务等,这些应用在文件写入后基本上不需要对文件进行修改,但是可以生成一个新的文件覆盖原有文件。Mogilefs分为如下几部分:1、数据库部分数据库保存了Mogilefs的所有元数据,一般使用MySQL,可以单独拿数据库服务器来做,也可以跟其他程序跑在一起。可以用 mogdbsetup程序来初始化数据库。数据库部分非常重要,因为一个MogileFS系统的所有Tracker都必须指向同一个数据库,因此如果数据库出现问题,那么整个MogileFS系统将处于不可用状态,因此数据库最好采用HA结构,如MySQL主从复制架构,这样可以降低数据库出现问题对 MogileFS系统的影响。2、跟踪器(Tracker)mogilefsd即trackers程序,类似mogilefs的wiki上介绍,trackers做了很多工作,主要有以下几个: * Replication: 机器间复制文件 * Deletion:从命名空间删除是立即的,从文件系统删除是异步的 * QueryWorker: 响应客户端的请求 * Reaper:在磁盘失败后将文件复制请求重新放到队列中 * Monitor:监测主机和设配的健康度和状态Tracker是访问MogileFS的入口,所有系统管理相关的操作都要通过其中的某个trackers完成,应用系统的一些操作也要通过trackers,因此一个高业务量的MogileFS系统最好同时运行多个trackers来做负载均衡。3、存储节点(Storage)mogstored程序的启动将使本机成为一个存储节点。mogstored启动后,便可以通过mogadm增加这台机器到系统中。一台机器可以只运行一个 mogstored作为存储节点即可,也可以同时运行其他程序。存储节点下面还需要定义设备(device),每个设备都有一个唯一的ID编号,设备也是用mogadm添加到MogileFS系统中的。4、工具主要就是mogadm,mogtool这两个工具了,用来在命令行下控制整个mogilefs系统以及查看状态等等。5、客户端(Client)客户端通过接口访问mogilefs系统,对整个系统进行文件读写操作。( :/ admindigest /4/mogilefs%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE/#mogilefs%E4%BB%8B%E7%BB%8D)MogileFS特点 * 应用层不需要特殊的核心组件 * 无单点失败MogileFS安装的三个组件(存储节点、跟踪器、跟踪用的数据库),均可运行在多个机器上,因此没有单点失败。(你也可以将跟踪器和存储节点运行在同一台机器上,这样你就没有必要用4台机器)推荐至少两台机器。(没有单点失败本人持保留意见) * 自动的文件复制基于不同的文件“分类”,文件可以被自动的复制到多个有足够存储空间的存储节点上,这样可以满足这个“类别”的最少复制要求。比如你有一个图片网站,你可以设置原始的JPEG图片需要复制 至少三份,但实际只有1or2份拷贝,如果丢失了数据,那么Mogile可以重新建立遗失的拷贝数。用这种办法,MogileFS(不做RAID)可以节约 磁盘,否则你将存储同样的拷贝多份,完全没有必要。 * “比RAID好多了”在一个非存储区域网络的RAID(non-SAN RAID)的建立中,磁盘是冗余的,但主机不是,如果你整个机器坏了,那么文件也将不能访问。 MogileFS在不同的机器之间进行文件复制,因此文件始终是可用的。 * 传输中立,无特殊协议MogileFS客户端可以通过NFS或 来和MogileFS的存储节点来通信,但首先需要告知跟踪器一下。 * 简单的命名空间文件通过一个给定的key来确定,是一个全局的命名空间。你可以自己生成多个命名空间,只要你愿意,不过这样可能在同一MogileFS中会造成key冲突。 * 不用共享任何东西MogileFS不需要依靠昂贵的SAN来共享磁盘,每个机器只用维护好自己的磁盘。 * 不需要RAID在MogileFS中的磁盘可以是做了RAID的也可以是没有,如果是为了安全性着想的话RAID没有必要买了,因为 MogileFS已经提供了。* 不会碰到文件系统本身的不可知情况在MogileFS中的存储节点的磁盘可以被格式化成多种格式(ext3,reiserFS等等)。 MogilesFS会做自己内部目录的哈希,所以它不会碰到文件系统本身的一些限制,比如一个目录中的最大文件数。你可以放心的使用。* mogileFS 适合于静态存储,就是那种一次保存,多次读取型的资源,比如以html方式静态化处理的动态文件,图片文件,其他只提供下载的文件等。( :/Mogilefs 的网站地址( :/ danga /mogilefs)MogileFS实例架构图 两台服务器10.0.0.122和10.0.0.130,分别安装Tracker, Storage。服务器10.0.0.122安装MySQL主数据库,服务器10.0.0.130安装MySQL从数据库。两台服务器上的Tracker 都使用10.0.0.122的MySQL主数据库进行数据插入、更新和查询,同时可以使用10.0.0.130的MySQL从数据库进行数据的查询。MogileFS安装(详细的安装可以参考: :/code.google /p/mogilefs/; :/ admindigest /4/mogilef)简单化安装可以下载MFS.tgz,内部封装好的安装包。1.mkdir /data/mogilefs & cd /data/mogilefs & tar -zxvf MFS.tgz (顺序不能乱)-mkdir /etc/mogilefscp mogilefs/mogilefs.conf /etc/mogilefs/cp mogilefs/mogilefsd.conf /etc/mogilefs/cp mogilefs/mogtool.conf /etc/mogilefs/cp mogilefs/mogstored.conf /etc/mogilefs/echo # DONE Create Config file #echo#installation starts here#It will search for install.sh in each sub- folder and starts installation for each for i in find . -type f |grep install.sh; do echo # $i # name=echo $i |grep install.sh | awk -F/ print $(NF-1) cd echo $PWD/$name cd . echo # DONE # echodone-for i in find . -type f |grep install_core_mfs.sh; do echo # $i # name=echo $i |grep install_core_mfs.sh | awk -F/ print $(NF-1) cd echo $PWD/$name cd . echo # DONE # echo doneinstall_all中安装的包有(可参考原网站的安装方法):install_core 中安装的包有(可参考原网站的安装方法):MogileFS配置文件mogilefs.conf mogilefsd.conf mogtool.conf mogstored.conf mogilefs.conf : 配置tracker的ip和端口。eg: trackers = 192.168.10.171:6001, 192.168.10.172:6001mogilefsd f: 配置MogileFS的db相应信息。eg:db_user = mogiledb_pass = pconlinelisten = 0.0.0.0:6001conf_port = 6001(也可以:db_dsn= DBI:mysql:mogilefs:host=;port=3306;mysql_connect_timeout=5)listener_jobs = 50delete_jobs = 1replicate_jobs = 5reaper_jobs = 1min_free_space = 100#max_disk_age = 5#node_timeout = 2#old_repl_compat = 1#default_mindevcount = 2mogilefsd不会以root身份运行,所以在mysql数据库中要创建一个非root的用户给MogileFS使用。mogstored.conf:配置storage的信息。 maxconns = 10000 最大连接数 listen = 0.0.0.0:7500 监听端口 mgmtlisten = 0.0.0.0:7501 管理端口 docroot = /data/mogdata 数据目录MogileFS DB 安装及配置MogileFS DB 表结构MogileFS数据库使用Innodb数据引擎以下是所有表:+-+| Tables_in_mogilefs |+-+| class | | device | | domain | | file | | file_on | | file_on_corrupt | | file_to_delete | | file_to_delete2 | | file_to_delete_later | | file_to_queue | | file_to_replicate | | fsck_log | | host | | server_settings | | tempfile | | unreachable_fids | +-+domain(域):用于记录域信息+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| dmid | smallint(5) unsigned | NO | PRI | NULL | | | namespace | varchar(255) | YES | UNI | NULL | | +-+-+-+-+-+-+class(类):用于记录各域中的类信息,对每个类可定义不同的备份策略+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| dmid | smallint(5) unsigned | NO | PRI | NULL | | | classid | tinyint(3) unsigned | NO | PRI | NULL | | | classname | varchar(50) | YES | | NULL | | | mindevcount | tinyint(3) unsigned | NO | | NULL | | | replpolicy | varchar(255) | YES | | NULL | | +-+-+-+-+-+-+host(存储节点):用于记录各存储节点状态和访问的ip和端口等+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| hostid | mediumint(8) unsigned | NO | PRI | NULL | | | status | enum(alive,dead,down) | YES | | NULL | | | _port | mediumint(8) unsigned | YES | | 7500 | | | _get_port | mediumint(8) unsigned | YES | | NULL | | | hostname | varchar(40) | YES | UNI | NULL | | | hostip | varchar(15) | YES | UNI | NULL | | | altip | varchar(15) | YES | UNI | NULL | | | altmask | varchar(18) | YES | | NULL | | +-+-+-+-+-+-+device(设备块):用于记录各Host中的设备块信息,如总共多大,使用了多少空间,当前设备状态等+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| devid | mediumint(8) unsigned | NO | PRI | NULL | | | hostid | mediumint(8) unsigned | NO | | NULL | | | status | enum(alive,dead,down,readonly,drain) | YES | MUL | NULL | | | weight | mediumint(9) | YES | | 100 | | | mb_total | mediumint(8) unsigned | YES | | NULL | | | mb_used | mediumint(8) unsigned | YES | | NULL | | | mb_asof | int(10) unsigned | YES | | NULL | | +-+-+-+-+-+-+server_settings(服务器设置):服务器的一些配置信息,主要用于记录MogileFS系统执行fsck的相关记录,fsck操作会根据当前mogileFS的备份策略进行文件的备份检查+-+-+| field | value |+-+-+| fsck_fids_checked | 0 | | fsck_fid_at_end | 23972852 | | fsck_highest_fid_checked | 0 | | fsck_logid_processed | 6244097 | | fsck_start_fid | 1121081 | | fsck_start_maxlogid | 6244097 | | internal_queue_limit | 500 | | queue_rate_for_fsck | 2000 | | queue_size_for_fsck | 20000 | | schema_version | 12 | +-+-+fsck_log(fsck日志记录):mogileFS执行fsck时的具体操作记录(具体对某个fid文件进行的操作)+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| logid | int(10) unsigned | NO | PRI | NULL | auto_increment | | utime | int(10) unsigned | NO | MUL | NULL | | | fid | int(10) unsigned | YES | | NULL | | | evcode | char(4) | YES | | NULL | | | devid | mediumint(8) unsigned | YES | | NULL | | +-+-+-+-+-+-+unreachable_fids(不可达的fid):不可到达的文件列表+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | lastupdate | int(10) unsigned | NO | MUL | NULL | | +-+-+-+-+-+-+tempfile(不可达的fid):复制的临时文件信息+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | auto_increment | | createtime | int(10) unsigned | NO | | NULL | | | classid | tinyint(3) unsigned | NO | | NULL | | | dmid | smallint(5) unsigned | NO | | NULL | | | dkey | varchar(255) | YES | | NULL | | | devids | varchar(60) | YES | | NULL | | +-+-+-+-+-+-+file(文件基本信息):记录文件的基本信息,属于哪个域,哪个类,fid对应的dkey、文件大小以及记录该文件的复制份数是多少+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | dmid | smallint(5) unsigned | NO | MUL | NULL | | | dkey | varchar(255) | YES | | NULL | | | length | bigint(20) unsigned | YES | | NULL | | | classid | tinyint(3) unsigned | NO | | NULL | | | devcount | tinyint(3) unsigned | NO | | NULL | | +-+-+-+-+-+-+file_on(文件所在设备):记录每个fid文件在什么设备上,一个fid文件同时存储在多个设备上,则各有一条记录+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | devid | mediumint(8) unsigned | NO | PRI | NULL | | +-+-+-+-+-+-+file_on_corrupt(损坏的文件):记录哪一个文件在哪个设备上损坏了+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | devid | mediumint(8) unsigned | NO | PRI | NULL | | +-+-+-+-+-+-+file_to_delete(要删除的文件):记录哪些文件需要删除+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | +-+-+-+-+-+-+file_to_delete2(要删除的文件):记录删除失败的文件以及再次尝试的时间和失败的总次数+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | nexttry | int(10) unsigned | NO | MUL | NULL | | | failcount | tinyint(3) unsigned | NO | | 0 | | +-+-+-+-+-+-+file_to_delete_later(要延迟删除的文件):记录要延迟删除的文件+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | delafter | int(10) unsigned | NO | MUL | NULL | | +-+-+-+-+-+-+file_to_queue(当前排队的文件):不详+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | devid | int(10) unsigned | YES | | NULL | | | type | tinyint(3) unsigned | NO | PRI | NULL | | | nexttry | int(10) unsigned | NO | | NULL | | | failcount | tinyint(3) unsigned | NO | | 0 | | | flags | smallint(5) unsigned | NO | | 0 | | +-+-+-+-+-+-+file_to_replicate(要做复制分发的文件):要做分发的文件,记录来源设备,失败次数和下次重试的时间等信息。+-+-+-+-+-+-+| Field | Type | Null | Key | Default | Extra |+-+-+-+-+-+-+| fid | int(10) unsigned | NO | PRI | NULL | | | nexttry | int(10) unsigned | NO | MUL | NULL | | | fromdevid | int(10) unsigned | YES | | NULL | | | failcount | tinyint(3) unsigned | NO | | 0 | | | flags | smallint(5) unsigned | NO | | 0 | | +-+-+-+-+-+-+
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 幼儿教育


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!