当前位置:网站首页>云存储硬核技术内幕——(10)
云存储硬核技术内幕——(10)
2022-08-04 15:38:00 【用户8289326】
在前几期,我们提到了,在云计算时代,由于对存储IO及吞吐的要求迅速增加,传统SAN存储难以满足需求,基于标准x86节点的分布式存储成为了主流。
开源分布式存储的代表是Ceph。Ceph本质上是对象存储(后面会讲到),以image的形式提供RBD块,在KVM的QEMU中安装RBD块驱动,将RBD块直接挂载给虚拟机。RBD驱动会将块拆分为2MB/1MB大小的Object,每个Object拆分为几百到上千个PG,每个PG映射到N个物理磁盘上。
好了,这里的N就是今天讨论的问题——Ceph的高可用性设计。
我们知道,磁盘本身是一个损耗品,也是有固定使用寿命的,甚至可能被意外拔出。 服务器:硬盘怎么突然不在线了?
出于这点考虑,工程师们在服务器上安装了两块硬盘,通过RAID卡,让来自系统的IO被复制到两块硬盘,令两块硬盘存储的内容完全一致。当一块硬盘损坏或被意外拔出时,另一块硬盘还能够读出完整的数据。这种冗余技术叫做RAID-0。
但是,RAID-0有一个致命缺陷:在用新的硬盘替换掉损坏的硬盘的时候,需要将好的那块硬盘内容完全复制一份到新的硬盘,这个过程叫重构,将持续几个小时。在重构过程中,整个系统的IO读写性能会急剧下降(磁盘忙于读取内容向新硬盘复制)。
因此,工程师们发明了RAID-5和RAID-6。RAID-5和RAID-6的实现方式是,对一整块数据,切分成M块,根据这些数据计算出N块冗余校验数据。对于RAID-5,N=1,对于RAID-6,N=2。这样一来,任意一块磁盘损坏,由于有多块磁盘分担重构的读操作(想一想,为什么),对整个系统IO的影响相对有限。
然而,我们也知道,RAID-5和RAID-6的写操作对IO能力的损耗,由于写惩罚的存在,会成倍消耗磁盘的IO能力。因此,在分布式存储中,通常使用多副本机制,最常见的是三副本:
如图,PG落到主OSD后,主OSD所在的Node会将内容复制到另外两个副本对应的OSD节点,并最终落盘。这样,对于大量并发IO的写场景,总体的写性能为:单盘IO能力 * OSD数量 / 3,而总体的读性能为单盘IO能力 * OSD数量。
假设Ceph集群由6台服务器构成,其中每台有12块SATA机械盘,单盘IO能力为150 IOPS,那么,我们可以计算出,整个集群有72个OSD,总体IO能力为
150 * 72 / 3 = 3600 IOPS。
显然,这个性能是很难满足一般应用的需求的。
我们想到,使用SSD固态盘可以大规模提升IO能力。以常见的NVMe盘为例:
这个家伙的随机读可达150K IOPS,随机写可达80K IOPS。
如果6台服务器上,每台安装4块这样的NVMe盘,总的读IO能力可达3.6M IOPS,写能力可达640K IOPS。以70%读,30%写计算,IO能力约为1.5M IOPS。
这是一个很不错的性能。
但是,我们也注意到,NVMe或SATA SSD的价格不菲。
有没有什么办法,用少量昂贵的固态盘搭配大容量机械盘,取得较好的性能呢?
请看下期分解。
边栏推荐
猜你喜欢
numpy入门详细代码
我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知
《2022 年上半年全球独角兽企业发展研究报告》发布——DEMO WORLD世界创新峰会圆满落幕
有哪些好用的IT资产管理平台?
Redis的主从复制和集群
一文详解什么是软件部署
Redis-哨兵模式
SAP ABAP SteamPunk 蒸汽朋克的最新进展 - 嵌入式蒸汽朋克
技术分享| 小程序实现音视频通话
Xi'an Zongheng Information × JNPF: Adapt to the characteristics of Chinese enterprises, fully integrate the cost management and control system
随机推荐
numpy入门详细代码
DevOps平台中的制品库是什么?有什么用处?
Task Computing【动态规划_牛客】
弄懂#if #ifdef #if defined
从-99打造Sentinel高可用集群限流中间件
Redis-主从复制
Redis的主从复制和集群
【Harmony OS】【FAQ】Hongmeng Questions Collection 2
(2022杭电多校五)C - Slipper (dijkstra+虚拟结点)
Tinymce plugins [Tinymce 扩展插件集合]
Byte、Short、Integer、Long内部缓存类的对比与源码分析
剑指Offer 63.股票的最大利润
JVM调优-GC基本原理和调优关键分析
Summary of some pytorch knowledge points that have been updated for a long time
多商户商城系统功能拆解24讲-平台端分销会员
Projector reached the party benefits 】 【 beginners entry - brightness projection and curtain selection - from entry to the master
2022杭电多校4
What is the difference between ITSM software and a work order system?
我说MySQL联合索引遵循最左前缀匹配原则,面试官让我回去等通知
tif转mat