没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
MooseFS 分布式文件系统调研分析报告
第一章
MooseFS
文件系统介绍
...................................................................................7
1.1 MooseFS 系统简介........................................................................................................7
1.1.1 MoosFS 特点............................................................................................................................7
1.1.2 MooseFS 的体系结构..............................................................................................................8
1.1.3 系统如何工作..........................................................................................................................8
1.1.4 容错性......................................................................................................................................9
1.1.5 平台..........................................................................................................................................9
1.2.1 MooseFS 系统源码结构...........................................................................................10
第二章
master
主服务器工作原理
......................................................... ................... .10
2.1 元数据结构分析...........................................................................................................11
2.1.1 节点数据结构与文件树的构成............................................................................................11
2.1.2 块数据结构和文件节点与块的关系....................................................................................15
2.1.3 元数据文件 metadata.mfs......................................................................................................17
2.2 master 整体运行框架..................................................................................................20
2.2.1 一切从 main 开始...................................................................................................................20
2.2.2 文件锁与进程启停控制........................................................................................................22
2.2.3 系统各模块的初始化............................................................................................................22
2.2.4 大循环 mainloop....................................................................................................................24
2.2.5 总结........................................................................................................................................27
2.3 master 的初始化..........................................................................................................28
2.3.1 日志模块初始化....................................................................................................................28
2.3.2 随机数产生器初始化............................................................................................................28
2.3.3 数据 cache 管理初始化..........................................................................................................29
2.3.4 加载 sessions 初始化..............................................................................................................29
2.3.5 exports 管理初始化................................................................................................................29
2.3.5 文件系统管理初始化............................................................................................................29
2.4 mater 的消息交互概述................................................................................................31
2.4.1 消息交互框架........................................................................................................................31
2.4.2 对应 metalogger 的消息结构.................................................................................................34
2.4.3 对应 chunkserver 的消息结构...............................................................................................36
2.4.3 对应 client 的消息结构..........................................................................................................37
2.5 master 与 client 的消息交互........................................................................................39
2.5.1 消息 REGISTER....................................................................................................................45
2.5.2 消息 STATFS..........................................................................................................................46
2.5.3 消息 ACCESS........................................................................................................................47
2.5.4 消息 LOOKUP.......................................................................................................................47
2.5.5 消息 GETATTR......................................................................................................................48
2.5.6 消息 SETATTR.......................................................................................................................48
2.5.7 消息 READLINK...................................................................................................................49
2.5.8 消息 SYMLINK.....................................................................................................................49
2.5.9 消息 MKNOD.........................................................................................................................50
2.5.10 消息 MKDIR........................................................................................................................50
2.5.11 消息 UNLINK......................................................................................................................51
2.5.12 消息 RMDIR.........................................................................................................................52
2.5.13 消息 RENAME.....................................................................................................................52
2.5.14 消息 LINK............................................................................................................................53
2.5.15 消息 GETDIR.......................................................................................................................54
2.5.16 消息 OPEN...........................................................................................................................54
2.5.17 消息 READ CHUNK 及读数据过程...................................................................................55
2.5.18 消息 WRITE CHUNK 及写数据过程.................................................................................56
2.6 exports 机制.................................................................................................................58
2.6.1 mfsexports.mfs 文件结构.......................................................................................................59
2.6.2 exports 数据结构....................................................................................................................60
2.6.3 session 数据结构....................................................................................................................61
2.6.4 客户端 IP 访问控制...............................................................................................................62
2.6.5 挂在目录路径访问控制........................................................................................................62
2.6.6 密码访问控制........................................................................................................................63
2.6.7 版本访问控制........................................................................................................................63
2.6.8 用户映射机制........................................................................................................................64
2.6.9 文件权限控制........................................................................................................................66
2.7 用户与组机制(自定义模块)...................................................................................67
2.7.1 数据结构................................................................................................................................67
2.7.2 保存加载与初始化................................................................................................................69
2.7.3 访问控制................................................................................................................................70
2.7.4 用户与组的相关命令............................................................................................................71
2.7.5 密码的维护............................................................................................................................74
2.7.6 root 用户的特殊性.................................................................................................................75
2.7.7 掉电保护和恢复....................................................................................................................75
2.8 session 机制..................................................................................................................75
2.8.1 session 数据结构....................................................................................................................76
2.8.2 sessions.mfs 文件结构...........................................................................................................76
2.8.3 session 与用户重映射............................................................................................................77
2.8.4 session 统计文件操作次数....................................................................................................77
2.8.5 session 记录打开文件............................................................................................................78
2.8.6 session 的维护........................................................................................................................79
2.9 副本机制.......................................................................................................................80
2.9.1 副本数据结构........................................................................................................................80
2.9.2 块 ID.......................................................................................................................................81
2.9.2 块的版本号............................................................................................................................81
2.9.4 副本状态及转换....................................................................................................................82
2.9.5 块的副本数............................................................................................................................84
2.9.6 块的副本操作........................................................................................................................85
2.9.7 chunk 的周期维护..................................................................................................................87
2.9.8 副本放置算法........................................................................................................................92
2.9.9 块节点的移除........................................................................................................................95
2.10 快照机制.....................................................................................................................97
2.10.1 快照的生成..........................................................................................................................97
2.10.2 快照的写时复制..................................................................................................................99
2.11 配额机制...................................................................................................................100
2.11.1 配额相关的数据结构和变量............................................................................................100
2.11.2 配额的维护........................................................................................................................102
2.11.3 配额的使用........................................................................................................................102
2.11.4 配额的设置和配额信息的获取........................................................................................102
2.12 回收站机制...............................................................................................................103
2.12.1 回收站数据结构................................................................................................................103
2.12.2 META 系统........................................................................................................................104
2.12.3 文件信息的获取................................................................................................................105
2.12.4 trashpath 的获取和设置.....................................................................................................106
2.12.5 trashtime 的获取和设置.....................................................................................................106
2.12.6 文件的清除 PURGE..........................................................................................................107
2.12.7 文件的恢复 UNDEL..........................................................................................................108
2.12.8 回收站的维护....................................................................................................................108
2.13 reserved 机制...........................................................................................................108
2.13.1 记录打开文件....................................................................................................................109
2.13.2 reserved 机制数据结构......................................................................................................109
2.13.3 META 系统.........................................................................................................................110
2.13.4 文件信息的获取.................................................................................................................111
2.13.5 文件保持和释放.................................................................................................................111
2.13.6 reserved 维护......................................................................................................................112
2.14 DCM 机制.................................................................................................................112
2.14.1 数据结构及初始化............................................................................................................112
2.14.2 dcm_open............................................................................................................................113
2.14.3 dcm_modify........................................................................................................................114
2.14.4 总结....................................................................................................................................115
2.15 优化机制...................................................................................................................117
2.15.1 freenode 与位管理节点编号..............................................................................................117
2.16 master 的容错恢复...................................................................................................119
2.16.1 changelog 机制...................................................................................................................120
2.16.2 mfsmetarestore 机制...........................................................................................................122
2.17 异地备份机制(自定义模块)...............................................................................125
2.17.1 工作模型............................................................................................................................125
2.17.2 基本实现原理....................................................................................................................128
2.17.3 冲突文件的产生与解决....................................................................................................129
2.17.4 备份文件副本数可控........................................................................................................130
2.17.5 新增配置参数说明............................................................................................................131
2.17.6 测试....................................................................................................................................132
2.18 master 端函数调用逻辑框架...................................................................................135
第三章
chunkserver
块服务器工作原理
........................................................ ..........135
3.1 基本数据结构.............................................................................................................136
3.1.1 块文件存储结构及命名规则..............................................................................................136
3.1.2 块目录组织结构及配置文件..............................................................................................137
3.1.3 块文件对应的数据结构 chunk............................................................................................138
3.1.4 块目录对应的数据结构 folder............................................................................................140
3.1.5 数据结构组织方式..............................................................................................................141
3.2 chunkserver 的初始化...............................................................................................142
3.2.1 块文件管理初始化..............................................................................................................142
3.2.2 与 client&cs 通信模块初始化.............................................................................................143
3.2.3 与 master 通信模块初始化..................................................................................................144
3.2.4 表格数据模块初始化..........................................................................................................145
3.3 周期性数据结构维护.................................................................................................145
3.3.1 周期性 chunk 维护...............................................................................................................145
3.3.2 周期性 folder 维护...............................................................................................................146
3.3.3 延时计数器维护..................................................................................................................147
3.3.4 块目录操作状态维护..........................................................................................................149
3.4 与 master 的消息交互................................................................................................149
3.4.1 消息交互数据结构及框架..................................................................................................149
3.4.2 消息 CREATE......................................................................................................................150
3.4.3 消息 DELETE......................................................................................................................151
3.4.4 消息 DUPLICATE................................................................................................................152
3.4.5 消息 SET_VERSION...........................................................................................................153
3.4.6 消息 REPLICATE................................................................................................................153
3.4.7 消息 TRUNCATE.................................................................................................................155
3.4.8 消息 DUPTRUNC................................................................................................................156
3.4.9 消息 REGISTER..................................................................................................................156
3.4.10 信息反馈............................................................................................................................157
3.5 线程池机制.................................................................................................................157
3.5.1 数据结构..............................................................................................................................158
3.5.2 基本操作函数......................................................................................................................161
3.5.3 工作原理..............................................................................................................................163
3.5.4 总结......................................................................................................................................166
3.6 与 client/cs 的消息交互..............................................................................................166
剩余63页未读,继续阅读
资源评论
- SPIDERMAN_012016-04-12很好 挺详细的
seazmf
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功