知识卡片

多副本容错的空间代价

专业/工作 · 320

内容

分布式对象存储把每份数据复制成固定份数(如3份)分散存放在不同物理节点上,代价是1GB的文件实际要占用集群3GB的存储空间,换来的收益是任意少数节点(如3份里的1份)故障时数据依然完整可读、服务不中断。承担写请求和路由请求的代理服务器与实际持久化数据的存储节点在角色上完全分离,前者可以独立扩容应对流量增长,不会牵动后端已经写好的数据分布。发散:副本数和可容忍故障数之间是直接的算术关系——N份副本理论上能容忍最多N-1个节点同时故障,选择副本数本质上是在存储成本和可用性目标之间做的量化取舍,而不是拍脑袋决定。

参考来源

《OpenStack云计算实战手册 第3版》第5章《Swift——OpenStack对象存储》