現如今,隨著越來越多的企業組織采用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寫入性能。