云块存储的演变

主要观点:论文讨论了阿里云弹性块存储(EBS)在过去十年的设计选择、生产经验和教训,包括从EBS1到EBS2的架构演进以提升性能和空间效率,再到EBS3减少网络流量放大,还总结了开发中的经验教训如实现高弹性、提高可用性等。
关键信息

  • EBS1基于常规TCP协议和硬盘,存在性能瓶颈和热点等问题。
  • EBS2基于自定义协议和SSD,通过开发在分布式文件系统Pangu之上提升性能和空间效率,引入段的概念等。
  • EBS3通过在写入路径添加压缩和纠删码到FPGA以减少网络放大,提高吞吐量等。
  • 讨论了EBS在弹性(包括延迟、吞吐量和IOPS)、可用性(全局、区域和个体事件)等方面的挑战及解决方案。
    重要细节
  • EBS1中每个虚拟磁盘由单个块服务器管理,数据三副本存储。
  • EBS2将块服务器的锁结构设计改为追加,集群架构改变,通过Pango分布式文件系统处理持久性。
  • EBS3的融合写引擎将纠删码和压缩移到前端路径,减少网络放大。
  • EBSX为降低平均延迟将数据存储在本地持久内存。
  • 为提高吞吐量和IOPS,将IO处理移到用户空间,调整数据扇区大小等。
  • 利用联邦块管理器解决控制平面的可用性问题,通过令牌桶算法处理数据平面的可用性问题。
阅读 9
0 条评论