大规模存储物理架构
本文由tom原创,转载请注明原文链接:https://work-jlsun.github.io//2017/03/17/storage-physical-topoloy.html
大规模对象存储究竟应该采用什么样子的存储物理架构?如何规划物理机架部署?如何进行网络部署?通过学习一些经典系统如GFS、HDFS,并且结合自身在这方面的经验和需求进行了一些总结。
考虑的因素包括
- 故障域
- 恢复域
- 恢复带宽
- 内外网交换
- 对外带宽收敛比
- 机架空间
- 机器型号
- 等等
当前机架大概40U,存储节点一般4U,所以一般来说存储节点能够放在9台就差不多了,额外的空架需要放置交换设备、电源等。
每个机器2个万M口,一个机架上所有存储节点需要 2 * 9 = 18 个 万M口
一个zone 包含N个Rack,比如N=3,2*9*3= 54 个万M口,一个交换机大概40口,所以一个zone 需要2个交换机堆叠 以连接zone下所有机器。多余网络口,可以用于连接千M接口用于走控制指令。
在典型的3副本性能中,一个pool包含3个zone,zone为一个单独可用域,多幅本分别写入3个zone,保证数据可用性。
pool 为逻辑存储池,副本的恢复局限在pool中的不同的zone之间,数据恢复需要走上联通过内网交换C进行交换。
交换机上联带宽一般是有限,一个Rock 逻辑上能够出的带宽为9*2*3*10Gb = 540Gb,交换机上联为160Gb,那么网络收敛比在 540Gb/160Gb = 3.375:1
zone 内部都是2层(数据链路层)交换;协议网关与pool、 不同zone之间一般为 不同网段的三层交换。
协议网关为计算节点,CPU性能较好,一遍来说为2U机器,一个机架能够放近20台,为了保证可用性,最好也能够部署在2个以上的机架上。
对象存储的存储机一般采用密度较高的 8T盘,36盘位,3副本情况下一个Pool逻辑存储量能够达到7.5PB,利用率70%,能够达到 5.3 PB。
参考资料
This article used CC-BY-SA-4.0 license, please follow it.