新增快閃記憶體加速功能至共用儲存區

具有「共用儲存區 (SSP)」快閃記憶體加速的 Virtual I/O Server (VIOS) 可以透過在 Virtual I/O Server上使用固態硬碟 (SSD) 或快閃記憶體儲存體快取來增進效能。

此特性可讓每一個 Virtual I/O Server 使用快閃記憶體快取裝置進行唯讀快取。 快閃記憶體快取裝置可以是:
  • 連接至伺服器的裝置,例如,伺服器中的內建 SSD。
  • 使用序列連接 SCSI (SAS) 控制器,直接連接至伺服器的裝置。
  • 儲存區域網路 (SAN) 中的資源。

VIOS 必須能夠將裝置識別為快閃記憶體裝置,才能將裝置視為適合用作快取裝置。 VIOS 會使用 SCSI 區塊裝置性質 VPD 頁面 (SCSI INQUIRY 頁面 B1) 的 媒體旋轉速率 欄位來判定裝置是否為快閃記憶體裝置。 如果裝置不支援該頁面,或在 媒體旋轉速率 欄位中顯示 0001h 非旋轉媒體 以外的值,則裝置無法用作快取裝置。

使用本端連接的快閃記憶體快取裝置,可以讓效能好處最大化。

SSP 快閃記憶體加速功能是以 Virtual I/O Server 上的快取為基礎,而 Power 快閃記憶體快取或伺服器端快取是在用戶端邏輯分割區上執行。 如需伺服器端快取的相關資訊,請參閱或。

這兩類快取均可獨立使用。 在相似類型的用戶端邏輯分割區工作量上,這兩類快取的效能性質相似。

SSP 快閃記憶體加速功能在整個儲存區(包括儲存區中的任何儲存體層級)上執行唯讀快取。 系統只會快取儲存區中的使用者資料(資料區塊),不會快取 Meta 資料。 Meta 資料存取可透過 SAN 上系統層級的 SSD 儲存體來加速。

SSP 快閃記憶體加速功能的概念及術語

您可以在用戶端邏輯分割區上執行工作量時,動態地快取儲存區(啟用或停用快取)。 無需讓工作量進入非作用中狀態,即可啟用快取。 下表說明用於闡述快閃記憶體快取概念的術語。
術語 說明
快取裝置 快取裝置是用於快取的固態磁碟機 (SSD) 或快閃記憶體磁碟。
快取儲存區 快取儲存區是僅用於儲存體快取的一個快取裝置群組。
啟用快取 開始快取儲存區。
停用快取 停止快取儲存區。

啟用儲存區的快取時,快取就會在叢集中全部已定義有快取儲存區的 Virtual I/O Server 上啟動。 此程序會隱含地建立邏輯快取裝置 (稱為快取分割區) ,該裝置衍生自每一個 Virtual I/O Server的本端快取儲存區。 啟用儲存區快取後,針對儲存區之使用者資料區塊的所有讀取要求,都會遞送至 SSP 快取軟體。 如果在本端 Virtual I/O Server 快取中找到特定的使用者資料區塊,則會從快取裝置處理 I/O 要求。 如果在快取中找不到所要求的區塊,或者該要求是寫入要求,則該 I/O 要求會直接傳送至儲存區 SAN 裝置。

停用儲存區的快取時,叢集中所有 Virtual I/O Server 上的快取均會停止。 這個程序會從每一部伺服器上的本端快取儲存區中,隱含地清除邏輯快取裝置。

SSP 快閃記憶體加速功能的架構及元件

SSP 快閃記憶體加速功能的元件包括 VIOS、快取管理和快取引擎以及儲存區。 下表說明這些元件。
元件 說明
VIOS 快取的管理是從 VIOS 指令行介面使用 sspcache 指令來執行。
儲存區 (儲存區驅動程式) 儲存區是快取目標,而儲存區驅動程式管理叢集快取一致性。
快取管理與快取引擎 快取管理會提供低階快取配置指令,而快取引擎會執行本端快取邏輯,來判定要快取儲存區中的哪些區塊。
SSP 快閃記憶體加速功能會使用下列方式,在 Virtual I/O Server 之間執行分散式快取一致性:
  • 儲存區驅動程式在叢集內協調分散式快取一致性。
  • 快取引擎會管理節點層次的快取(將快取項目升級或降級),並與儲存區驅動程式互動,以保持快取一致性。 此元件使用與 Power ® 快閃記憶體快取或伺服器端快取相同的本端快取方法。
  • 快取引擎會用於任何儲存區 I/O 作業。 這類快取稱為輔助快取

下圖說明啟用快取後各種 I/O 作業的流程。

此映像檔是 VIOS 檔案,其中包含 SSP 快閃記憶體加速的架構相關資訊。
下表說明圖中所示 I/O 作業的詳細資料。
I/O 作業 說明
快取讀取命中
  • VIOS 會將 I/O 讀取要求從用戶端邏輯分割區傳遞至儲存區驅動程式。
  • 儲存區驅動程式會檢查快取引擎,並發現該延伸範圍已快取在本端快取裝置中。
  • 該 I/O 要求會完全在快取中得以滿足,並傳回給用戶端邏輯分割區。
快取讀取遺失
  • VIOS 會將 I/O 讀取要求從用戶端邏輯分割區傳遞至儲存區驅動程式。
  • 儲存區驅動程式會檢查快取引擎,並發現該延伸範圍沒有快取在本端快取裝置中。
  • 儲存區驅動程式會透過 SAN 來滿足該要求,並將其傳回給用戶端邏輯分割區。
WRITE 作業
  • VIOS 會將 I/O 寫入要求從用戶端邏輯分割區傳遞至儲存區驅動程式。
  • 該延伸範圍會在叢集中所有已快取該延伸範圍的節點上失效,確保快取一致性。
  • 儲存區驅動程式會對 SAN 執行寫入要求。

SSP 快閃記憶體加速功能的快取屬性

SSP 快閃記憶體加速功能的快取屬性如下所示:
對應用程序透通
叢集應用程式可以在用戶端邏輯分割區上使用。
與用戶端作業系統無關
在 AIX®、 IBM® i及 Linux® 作業系統上支援快取。
節點特定的唯讀快取
發生快取失效之後,寫入作業的結果便會傳送至 SAN。
並行、一致的共用資料存取
在整個 SSP 範圍內支援並行的共用資料存取,具備完全的一致性。
與儲存體類型無關
不相依於用於快取的快閃記憶體儲存體類型,及 SSP 的 SAN 儲存體。

SSP 快閃記憶體加速功能的優點

SSP 快閃記憶體加速功能的部分好處如下所示:
  • 針對特定的工作量(例如,分析及交易式工作量,以及線上交易處理),可以改善延遲及傳輸量。
  • 透通的加速,用戶端邏輯分割區並不知道 Virtual I/O Server 上的快取。
  • 更高的虛擬機器 (VM) 密度,不會影響到效能。
  • 支援更有效率的 SAN 基礎架構使用率及調整大小。 在壅塞的 SAN 上,從 SAN 卸載讀取要求可增加寫入傳輸量。
  • 在已快取共用區塊時,於 VM 之間,根據複製的虛擬邏輯單元 (LU) 共用區塊所取得的好處。
  • 與即時分割區行動性 (LPM) 相容。

SSP 快閃記憶體加速功能的快取限制

SSP 快閃記憶體加速功能的部分快取限制如下所示:
  • SSP 快取軟體會配置為唯讀快取,這表示快閃記憶體固態磁碟機 (SSD) 僅用於處理讀取要求。 所有的寫入要求均僅由儲存區處理,而且會直接前往 SAN。
  • 寫入至儲存區的資料,不會自動移入快取。 如果對位於快取中的區塊執行寫入作業,則快取中的現有資料會標示為無效。 這個區塊會重新出現在快取中,具體取決於存取該區塊的頻率,及存取發生在多久之前。
  • 在 Virtual I/O Server 之間無法共用快取裝置。
  • 效能好處取決於應用程式工作集的大小,以及 SAN 磁碟控制器快取的類型及大小。 一般而言,群體工作集必須大於 SAN 磁碟控制器快取,才能實現顯著的效能好處。

SSP 快閃記憶體加速功能的快取配置

您必須從 VIOS 指令行介面完成下列步驟,才能啟用快取:
  1. 使用 cache_mgt 指令,在叢集中每一個 VIOS 上建立快取儲存區。
  2. 使用 sspcache 指令,從單一 VIOS 節點啟用 SSP 叢集上儲存區的快取。
在每一個 VIOS 上建立快取儲存區是一次性步驟。 此指令的語法為:
cache_mgt pool create –d <devName>[,<devName>,…] -p <poolName>
例如,若要在叢集中每一個 VIOS 上建立 1024 MB 快取,然後在儲存區上啟用快取,請完成下列步驟:
  1. 若要建立 1024 MB 的快取,請輸入下列指令:
    cache_mgt pool create –d /dev/hdisk11 –p cmpool0     
    這個指令必須在叢集中所有的 Virtual I/O Server 上執行。
  2. 若要從單一 VIOS 節點啟用 SSP 叢集上儲存區的快取,請輸入下列指令:
    sspcache -enable -sp -size 1024
    此指令必須在叢集中的單一 VIOS 上執行。

SSP 快閃記憶體加速功能的快取管理

配置快取之後,快取需求可能隨時間變更。 您可能必須新增需要快取的新工作量。 為滿足不斷變更的需求,必要的話,可以透過新增額外的快取裝置來延伸快取儲存區。 因此,可以增加快取記憶體大小。

您可使用下列範例,來管理快取配置。
  1. 若要將快取裝置新增至快取儲存區,請在叢集中每一個 VIOS 上輸入下列指令:
    > cache_mgt pool extend -p cmpool0 -d hdisk12 –f
  2. 若要將快取記憶體大小延伸為 2048 MB,請在一個節點上輸入以下指令:
    > sspcache –resize –sp –size 2048