本文是在閱讀Introduction to Lustre* Architecture的Lustre HSM System Architecture時的筆記。
Hierarchical Storage Management (HSM) is a collection of technologies and processes designed to provide a cost-effective storage platform that balances performance, capacity and long term retention (archival).
HMS即Hierarchical Storage Management,資料的分級儲存管理。
儲存系統管理資料時,需要依據資料的特點即生命週期、訪問熱度、訪問時延、吞吐量等,綜合考慮系統效能、容量、保留策略,充分利用不同的儲存裝置的特點,自動遷移資料。
現有計算的儲存裝置,比如:
- CPU內的暫存器,訪問時延低、儲存容量低、成本高。
- CPU內的快取,訪問時延低、儲存容量低、成本高。
- 計算機的主存,相比於比CPU內快取,訪問時延高,儲存容量大,成本低。
- 儲存盤
- SSD,即固態盤,相比於計算機的主存,訪問時延接近,儲存容量大,成本低一點。
- HDD,即機械硬碟,相比於SSD,訪問時延高,儲存容量大,成本低。
- CD/DVD,即光碟,相比於HDD,訪問時延高,儲存容量大,成本低,但只能寫一次,反覆多讀次,一般只用於冷資料歸檔。
- 磁帶庫,相比於HDD,訪問時延高,儲存容量大,成本低,一般只用於冷資料歸檔。
設計儲存系統時,可以依據業務場景以及預算,配置叢集的規模,以及資料遷移的策略,充分利用預算,達成業務目標。
資料的分級策略的實現思路,使用不同的儲存裝置來儲存不同訪問熱度的資料,平衡成本、效能、容量等幾方面訴求,實現儲存效率最大化。
資料的熱度,劃分為熱、溫、冷、冰,對應不同的儲存層級。
依據常識,新建立的檔案,一般認為是熱資料;對於已存在的檔案,新寫入的資料,也認為是熱資料。
受限於熱資料儲存的容量,在一段時間後,對於訪問頻率下降的資料,需要依據一定的策略,依次遷移至溫儲存、冷儲存。
對於歸檔、備份的資料,在可預見的一段時間內,訪問頻率很低或者沒有訪問,此時可以遷移至冰儲存中。
儲存的單位成本,由高至低,依次為熱、溫、冷、冰。
儲存的訪問時延,由高至低,依次為熱、溫、冷、冰。
儲存的容量,由小至大,依次為熱、溫、冷、冰。
分級的遷移操作,可行的實現方案:
- 人工判斷,手工操作。由業務管理員人工判定檔案的熱度,手動將滿足要求的檔案遷移至不同的儲存層級。
- 人工判斷,自動執行。由業務管理員人工判定檔案的熱度,給出遷移的判斷條件,由儲存系統自行執行遷移操作。依據POSIX規範,可用的判斷條件,比如:
- 檔案的時間,即crtime/ctime/mtime/atime。
- 檔案的歸屬使用者/使用者組。
- 檔案的目錄。
- 檔名,字首、字尾或者模糊匹配。
- 指定的檔案清單。
- 儲存系統判定,儲存系統執行。由儲存系統記錄各檔案的訪問操作,依據一定規則計算檔案的熱度,按照一定週期,自動將檔案遷移至不同的儲存層級。
分級的遷移操作,可以實現為一次操作,以及週期性操作。對於週期性操作,考慮到任務執行的成本,需要實現對檔案系統的增量掃描,降低對儲存系統的影響。
遷移操作執行過程中的注意事項:
- 不能影響儲存業務I/O操作的正常執行。
- 執行時自動調整佔用的資源,即當儲存系統承載的業務請求壓力大時,需要自動降低工作負載或者直接暫停,待業務壓力下降時再恢復執行。
- 記錄必要的日誌,方便開發團隊、運維團隊分析、處理業務故障。
- 檔案或者檔案的資料在不同的儲存層級之間遷移時,需要保證資料的一致性。
對於已分級的資料,當客戶應用訪問時,應當如何處理?可行的策略如下:
- 當檔案的熱度上升時,可以依據一定的策略,反向依次從冰、冷、溫、熱,遷移資料。
- 當檔案的熱度暫時不滿足反向遷移的要求,可以考慮在上一層或者熱的儲存層級中,臨時快取檔案,提升檔案的訪問效率。