PCIe SSD热插拔

PCIe SSD最早是Fusion-IO推出来的,以闪存卡的形式被互联网公司和数据中心广泛使用。闪存卡一般作为数据缓存来使用,如果要在服务器中集成更多PCIe SSD,闪存卡的形式就有局限了。闪存卡有以下缺点:

l 插在服务器主板的PCIe插槽上,数量有限;

l 通过PCIe插槽供电,单卡容量受到限制;

l 在PCIe插槽上,容易出现散热不良导致宕机的问题;

l 不能热插拔。如果发现PCIe闪存卡有故障,必须要停止服务,关闭服务器,打开机箱,拔出闪存卡。这对有成百上千台服务器的数据中心来说,管理成本非常高。

所以,如图所示,PCIe SSD推出了新的硬件形式:SFF-8639,又称U.2。U.2 PCIe SSD类似于传统的盘位式SATA、SAS硬盘,可以直接从服务器前面板热插拔。

图1-1 热插拔示意图(本图来源于Oracle NVMe SSD热插拔说明)

当服务器有很多个可以热插拔的U.2 SSD之后,存储密度大为提升,更重要的是,U.2 SSD不只可以用作数据缓存,关键数据也可以放在其中。通过多个U.2 SSD组成RAID阵列,当某个U.2 SSD故障之后,可以通过前面板显示灯确定故障SSD盘位,予以更换。同时,不会造成服务器停止服务或者数据丢失。

目前有很多服务器厂商都发布了有很多U.2 SSD盘位的服务器,有的是少数U.2 SSD和多数SATA HDD混合,有的甚至是24个纯U.2 SSD盘位。配备了高密度SSD的服务器对数据中心来说,可以大幅减少传统服务器的数量,因为很多企业应用对存储容量要求并不高,传统机械硬盘阵列的容量很大,却是处于浪费状态。企业对硬盘带宽的要求更高,一台SSD阵列服务器能够支持的用户数是HDD阵列服务器的好几倍,功耗和制冷成本却少了好几倍。目前,房租和土地成本越来越高,能够在有限的数据中心空间中为大量用户提供服务对电信、视频网站、互联网公司等很多企业来说,非常重要。所以,可以预期,随着闪存的价格逐年下降,配备SSD阵列的服务器使用会越来越广泛。

我们来看看PCIe SSD热插拔的技术实现。传统SATA、SAS硬盘是通过HBA和主机主机通信,所以也是通过HBA来管理热插拔。但是,PCIe SSD直接连到CPU的PCIe控制器,热插拔需要驱动直接管理。根据Memblaze公司公众号的介绍,一般热插拔PCIe SSD需要几方面的支持:

l PCIe SSD:一方面需要硬件支持,SSD在插盘过程中产生电流波峰导致器件损坏。另一方面,控制器要能自动检测到拔盘操作,避免数据因掉电而丢失。

l 服务器背板PCIe SSD插槽:需要通过服务器厂家了解是否支持U.2 SSD热插拔。

l 操作系统:要确定热插拔是操作系统还是BIOS处理的,也是需要咨询服务器主板厂家来确定。

l PCIe SSD驱动:不管是Linux内核自带的NVMe驱动,还是厂家提供的驱动,都需要在各种使用环境中做过大量热插拔稳定性测试,避免在实际操作中因为驱动问题导致系统崩溃。

拔出PCIe SSD的基本流程如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180613B01UIN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券