MogileFS的使用 – 浅谈分布式文件系统MogileFS(3)

网友投稿 663 2023-02-13

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

MogileFS的使用 – 浅谈分布式文件系统MogileFS(3)

MogileFS的使用

文件下载

文件是存在与domain里的,在下载的时候要指定domain参数

文件上传

1
mogupload--trackers=cluster-master01:7001--domain=abc--class=test01.abc--key="speach_of_dependence"--file=./speach_of_dependence.words

文件具备class属性,所以在上传的时候要指定class参数,和domain参数

文件查看

1
moglistkeys--trackers=cluster-master01:7001--domain=abc

存储设备查看

1
mogadm--trackers=cluster-master01:7001device list

节点设备查看

1
mogadm--trackers=cluster-master01:7001host list

domain查看

1
mogadm--trackers=cluster-master01:7001domain list

class查看

1
mogadm--trackers=cluster-master01:7001classlist

所有的请求都是发送到tracker节点。

Inner MogileFS

Key-file

MogileFS不维护原来的文件名,所谓的file是storage node收到的bit流。在MogileFS内部以在domain中可见的key来标记文件。

文件存放

MogileFS对每个文件分配fid,文件以.fid为后缀存放,系统维护fid到path的映射关系。fid按照(\d)(\d{3})(\d{3})(\d{3})分割成四部分后,文件放置于目录/devid/$1/$2/$3下,对于是哪个devid则由master提供给客户端决定。

文件冗余

通过class的dvcont属性来保证文件在系统内的冗余

look into MogileFS

Mogdbsetup

本程序在安装database节点时初始化meta database

程序代码分析

调用模块

Mogdbsetup程序调用了MogileFS::Store中的setup_database subroutine初始化了数据库,通过SCHEMA_VERSION来判断当前操作是在安装还是升级中。

MogileFSd

Tracker节点进程,完成整个cluster的任务分派

程序代码分析

调用模块

1
2
3
4
5
6
7
8
9
10
11
12
useMogileFS::Server;
#!/usr/bin/perl
......
# Rename binary in process list to make init scripts saner
$0="MogileFSd";
my$s=MogileFS::Server->server;
$s->run;
1;

程序简单了调用了MogileFS::Server中的run subroutine。

整个MogileFS是一个event-based的cluster。

Mogstored

Storage node节点进程,负责文件的真实操作

程序代码分析

调用模块

上一篇:网络智能运维技术学什么(网络运维学什么专业)
下一篇:运维软件事件记录(运维软件事件记录怎么写)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~