Atom feed of this document
  

 

环代表了存储在磁盘的实体名称和它们物理位置的一个映射。账户,容器和对象都有各自的环。当其它组件需要对一个对象,容器或账户执行任何操作时,它们都需要和对应的环交互,从而获取集群中它们的物理位置。

环使用区,设备,分区和副本来维护此映射。环中的每个分区都会被复制,默认情况下,跨集群复制三份,且分区的位置均存储在映射中由环来维护。环也负责在失效的场景下那个设备不可用。

在环中数据可以用区来隔离。每个分区副本保证在不同的区中。一个区可以表示是一个磁盘,一台服务器,一个机架,一台交换机,或者甚至是一个数据中心。

环的分区会将所安装的OpenStack存储中的所有设备平分。当分区需要移动时(举例来说,如果要给集群添加一个设备),环要确保一次移动最小的分区数量,且一次只能移动一个分区的一个副本。

你可以使用权重来平衡跨集群的磁盘上的分区的分布。这很有用,例如,当集群中使用了不同大小的磁盘。

环被代理服务器和一些后台进程(例如复制)所使用。

 

图 5.3. 


这些环都是由外部来管理的,服务进程本身并不会修改环,而是通过其它工具给出一个新的环替代,从而达到修改的目的。

环使用一个来自路径的MD5哈希的可配置的比特数来为作为分区的索引,此索引指定设备。来自哈希的比特数是作为分区的平方数的,还有2的分区平方数表明分区的数量。完整的MD5哈希分区环允许集群的其他部分在批项目工作,最终更有效或者至少少比单独处理每一项复杂或整个集群。

另外一个可配置的值是复制数量,它表明了多少个分区-设备作业组成一个单一的环。对于给定的分区数来说,每个复制的设备都将不会和其它的复制设备在同一个区中。区可以用于设备组,基于物理位置,电源分离,网络分离,或者任何能够在同时提高多份复制的属性。

Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...