swift 源码分析
文章平均质量分 91
猪-哥-靓
这个作者很懒,什么都没留下…
展开
-
OpenStack_Swift源码分析——ObjectReplicator源码分析(1)
1、ObjectorReplicator的启动首先运行启动脚本swift-init object-replicator start此运行脚本的运行过程和ring运行脚本运行过程差不多,找到swift 源码bin下的swift-object-replicator其代码如下所示if __name__ == '__main__': parser = OptionParser("%pr原创 2014-05-14 22:10:33 · 1341 阅读 · 0 评论 -
OpenStack_Swift源码分析——创建Ring及添加设备源码算法详细分析
1 创建Ring 代码详细分析在OpenStack_Swift——Ring组织架构中我们详细分析了Ring的具体工作过程,下面就Ring中增加设备,删除设备,已经重新平衡的实现过程作详细的介绍。首先看RingBuilder类 def __init__(self, part_power, replicas, min_part_hours): #why 最大 2**32原创 2014-05-22 11:00:18 · 2178 阅读 · 0 评论 -
OpenStack_Swift源码分析——Ring的rebalance算法源代码详细分析
1 Command类中的rebalnace方法在上篇文章中讲解了,创建Ring已经为Ring添加设备,在添加设备后需要对Ring进行平衡,平衡swift-ring-builder object.builder rebalance首先会调用swift/cli/ringbuilder.py中方法,在main方法中首先会判读/etc/swift文件夹下是否有object.builder文原创 2014-05-22 16:40:20 · 2627 阅读 · 0 评论 -
OpenStack_Swift源码分析——ObjectReplicator源码分析(2)
1、Replicator执行代码详细分析上篇问中介绍了启动Replicator的具体过程,下面具体讲解Replicator的执行代码的具体实现: def replicate(self, override_devices=None, override_partitions=None): """Run a replication pass""" sel原创 2014-05-14 22:24:09 · 1712 阅读 · 1 评论 -
OpenStack_Swift源码分析——Ring代码的组织架构
1、从部署文件看Ring原创 2014-05-14 10:24:06 · 2038 阅读 · 0 评论 -
openstack_swift源码分析——Swift单机部署
openstack swift 部署详细介绍原创 2014-05-04 15:25:58 · 3029 阅读 · 0 评论 -
OpenStack_Swift源码分析——Ring基本原理及一致性Hash算法
1、Ring的基本概念Ring是swfit中最重要的组件,用于记录存储对象与物理位置之间的映射关系,当用户需要对Account、Container、Object操作时,就需要查询对应的Ring文件(Account、Container、Object都有自己对应的Ring),Ring 使用Region(最近几个版本中新加入的)、Zone、Device、Partition和Replica来维护这些信原创 2014-05-13 18:58:50 · 6456 阅读 · 1 评论 -
OpenStack_Swift源码分析——Object-auditor源码分析(1)
1 Object-auditor 的启动Object-auditor的启动和object-replicator的启动过程是一样的,首先是执行启动脚本swift-init object-auditor start启动脚本会运行swift源码bin目录下的if __name__ == '__main__': parser = OptionParser("%prog CONFIG原创 2014-05-16 00:05:54 · 1841 阅读 · 0 评论 -
OpenStack_Swift源码分析——Object-auditor源码分析(2)
1 Object-aduitor审计具体分析上一篇文章中,讲解了Object-aduitor的启动,其中审计的具体执行是AuditorWorker实现的,在run_audit中实例化了AuditorWorker类,并调用audit_all_objects方法,下面看此方法的具体代码实现:def audit_all_objects(self, mode='once', device_dirs原创 2014-05-16 15:21:33 · 1398 阅读 · 0 评论 -
Openck_Swift源码分析——增加、删除设备时算法具体的实现过程
1 初始添加设备后、上传Object的具体流程 前几篇博客中,我们讲到环的基本原理即具体的实现过程,加入我们在初始创建Ring是执行如下几条命令:•swift-ring-builder object.builder create 5 3 1 •swift-ring-builder object.builder add z1-127.0.0.1:6010/sdb1 100原创 2014-05-28 20:54:19 · 1413 阅读 · 1 评论