现如今,随着越来越多的企业组织采用SSD固态硬盘,企业优化存储的实践方案需要发展演进了。在本文中,我们将为广大读者朋友们介绍相应的战略战术;旨在帮助大家了解禁用碎片整理和使用写入缓存等策略如何在优化数据中心SSD性能方面发挥作用。
在当前的企业组织都在为其顶级的应用程序积极的寻求更快、更可靠的存储的大背景下,使得固态硬盘存储迅速获得了主流市场的广泛关注度。但与此同时,固态硬盘在企业内的部署采用的普及也为IT专业人员们带来了不少的维护难题。
尽管固态硬盘驱动器(SSD)和硬盘驱动器(HDD)所执行的工作完全相同,但它们却是采用了不同的技术。以下,是企业数据中心在优化SSD性能和使用寿命的过程中应当留意的一些最重要的策略。
禁用碎片整理、索引和休眠
虽然碎片整理是一种流行的用于提升HDD硬盘性能的方法,当我们建议企业数据中心最好对固态硬盘禁用该功能。一款操作系统文件系统将磁盘存储容量划分为称为簇(cluster)或分配单元的小单元。多达16 TB的磁盘使用4 KB集群簇,所以一个小文件只使用一个集群簇。然而,大多数文件都是跨多个集群簇而存储,大文件可能会涉及更多的许多集群簇。操作系统根据需要分配集群簇。
随着您企业数据中心向磁盘添加更多的文件,并且这些文件会压缩和增长,这些文件中所涉及的集群可能会逐渐散布在磁盘上。虽然这并不会直接对磁盘有害,但碎片会强制硬盘的机械部分更难以定位包含每个集群的磁道和扇区。因此,这可以会降低硬盘的性能,并可能甚而会降低磁盘的使用寿命。操作系统的碎片整理工具执行“碎片整理”,重新组织文件集群,以便使得每个文件的集群在硬盘上是连续的。这样可以最大程度地减少搜索零散的簇的机械延迟,有助于降低不必要的机械磨损。
操作系统文件系统将格式化SSD以类似于HDD的方式使用集群簇,但SSD没有机械部件,因此碎片对SSD的读/写性能没有实际影响。这意味着碎片整理不会优化SSD性能。此外,SSD使用非易失性存储器(NVM)组件。 NVM设备只提供数量有限的擦除/写入周期,因此碎片整理实际上会增加不必要的NVM写入次数。
索引服务(Indexing Service)是一种Windows服务,其维护最常访问文件的数据库,以加速Windows的搜索性能。索引触发许多小的写入操作以维护文件列表。任何时候,当您创建、更改或删除文件时,系统将对索引执行其他写入操作。与碎片整理一样,SSD不会受益于文件索引,而这些额外的写入可能会降低SSD的使用寿命。
最后,休眠是一种Windows省电模式,该模式可捕获计算机的状态,并将其保存为磁盘文件。这允许系统完全断电,但是能够重新启动并快速恢复其以前的状态。休眠的挑战是容量优化,而不是性能或延长使用寿命。例如,休眠服务器的实际原因很少。服务器通常不断运行,不进入省电模式。由于SSD通常提供比HDD少的原始容量,因此最好禁用休眠。
了解哪些文件类型最为适合SSD固态硬盘
固态硬盘在读取方面非常擅长。当HDD硬盘遭受机械延迟时,SSD没有这样的延迟,并且可以从NVM存储中的任何地方访问数据。一款现代的SSD可以执行比典型HDD快100倍的随机读取,而且其所提供的顺序读取速度是HDD硬盘驱动器速度的两倍以上——当然这也取决于SSD的设计。此外,读取与写入要为NVM存储单元带来压力不同,因此SSD可以无限期地传递读取。
这使得SSD固态硬盘成为经常执行数据读取并且很少执行数据写入的企业数据中心的极好的选择。这方面的例子中包括应用程序和虚拟机文件,以及很少更改的数据,如图像文件,PDF文件和其他静态媒体。
虽然SSD固态硬盘非常适合读取数据,但它们在数据写入方面可能会有困难。例如,SSD在面临突发写入时可能会遇到延迟。结果是一些依赖于非常频繁的、密集写入的工作负载可能在SSD中不能很好的得到处理。
了解何时使用写入缓存
磁盘HDD和SSD设备中的缓存是常见的。驱动器介质通常无法跟上驱动器接口的数据速率,因此一台服务器可以在写入甚至读取期间等待存储设备赶上该速率,尤其是在重型存储操作期间。因此,执行存储写入和读取的应用程序可能会遇到延迟。
为了缓解延迟并优化SSD性能,我们建议企业不妨向设备添加一些高速内存。将动态RAM(DRAM)内联作为驱动器接口和驱动器介质之间的缓冲区。 DRAM是易失性的,这意味着如果驱动器电源发生故障,其将丢失其内容,因此写入缓存使用诸如缓存刷新和本地命令队列之类的技术的混合,来智能地将缓存数据组织并提交到介质上。
禁用性能增强技术似乎是有驳于直觉的,但是在适当的情况下,禁用写入缓存。例如,当写入提交的完整性比驱动器的纯写入性能更重要时,管理人员可以选择禁用写入缓存。
评估TRIM
当您删除一款硬盘HDD上的文件时,系统将不会实际删除组成的集群簇,而是将其标记为“free”状态。然后,随着新数据被存储到其中时,HDD的磁性介质可以覆盖这些簇。但SSD不能这样工作。
NVM单元分为“网页”4 KB 16 KB,而且这些网页被组织成“块”128至512页。当NVM单元是空的,他们可以写的很快,所以写的性能是非常好的。但是一旦系统写入单元,它就必须擦除整个块,然后才能重写该空间的任何页面。擦除整个块所需的时间可以减慢SSD中的后续写入操作。这种棘手的SSD行为被称为“写放大(write amplification)”。
为了缓解写入放大的问题,在ATA命令集和SCSI命令集中的UNMAP中有一个称为TRIM的抢先擦除功能。这一理念是,诸如Windows的一款操作系统可以监督哪些块不再被使用,并且使用TRIM命令允许SSD在OS尝试将新数据存储到该块之前先清除未使用的块。当系统尝试再次将数据存储到该块时,理想情况下已经在后台被擦除,并且不需要首先被擦除。这可以在您企业数据中心使用驱动器的容量时帮助优化SSD写入性能。