本頁提供 FlexCache 功能總覽。
關於 FlexCache
NetApp FlexCache 可加快資料存取速度、減少 WAN 延遲,並降低讀取密集型工作負載的 WAN 頻寬成本,特別是當用戶端重複存取相同資料時。建立 FlexCache 磁碟區時,該磁碟區會做為現有 (原始) 磁碟區的遠端快取。這個快取只會儲存來源磁碟區中經常存取的熱資料。
當 FlexCache 磁碟區收到所含熱門資料的讀取要求時,回應速度會比原始磁碟區更快,因為資料傳輸到用戶端的距離較短。如果 FlexCache 磁碟區收到存取頻率較低的冷資料讀取要求,就會從原始磁碟區擷取所需資料並儲存,然後處理用戶端要求。後續對該資料的讀取要求,就會直接從 FlexCache 磁碟區提供。第一次要求後,資料就不再需要透過網路傳輸,也不會從負載過重的系統提供。
應用程式可以寫入 FlexCache 磁碟區,但這些寫入作業會傳送至原始磁碟區,以維持快取一致性。
將 FlexCache 與 Google Cloud NetApp Volumes 整合後,您就能在 Google 網路中佈建快取磁碟區,提升混合雲環境的效能。這項功能可將內部部署資料中心的資料快取至雲端,支援工作負載遷移至混合雲。
NetApp Volumes 中的磁碟區無法做為來源磁碟區。
FlexCache 具備下列功能:
寫入行為
資料寫入 FlexCache 磁碟區時,寫入作業會傳遞至原始磁碟區。快取會在來源確認寫入作業後,回覆寫入作業。寫入檔案會使快取副本失效,快取會在下次存取時再次擷取檔案。
因存取時間更新而導致快取失效
ONTAP 提供名為 -atime-update
的磁碟區層級欄位,可管理使用 READ
、READLINK
和 READDIR
讀取的檔案和目錄存取時間更新。
來源或快取磁碟區的存取時間更新可能會觸發檔案失效,導致快取效能降低,檔案存取速度緩慢且延遲時間較長。如要避免這種情況,請使用 ONTAP volume modify -atime-update
指令,在來源磁碟區上停用存取時間更新。
NetApp Volumes 中的 FlexCache 磁碟區會沿用來源的 -atime-update
設定,這可能會增加快取失效次數。因此,建議您停用來源磁碟區的存取時間更新。
全域檔案鎖定
全域檔案鎖定功能預設為停用,可防止讀取所有相關的快取檔案。啟用後,系統會暫停修改來源磁碟區,直到所有 FlexCache 磁碟區都上線為止。只有在你能控管快取與來源之間的連線可靠性時,才應啟用這項功能,因為如果 FlexCache 磁碟區離線,修改作業可能會暫停或逾時。
CIFS 變更通知
SMB 通訊協定提供機制,可將其他用戶端對磁碟區所做的變更通知 SMB 用戶端。這樣一來,Windows 檔案總管等應用程式就能更新檢視畫面,而不必輪詢磁碟區。這項選用功能適用於快取,互動式使用者可透過 Windows 檔案總管存取 SMB 磁碟區上的檔案。否則應停用這項功能,以減少通知負載。
快取預先填入
雖然 NetApp Volumes 不支援預先填入快取的 API,但您可以從用戶端預先暖機。這個程序會讀取檔案,確保資料載入快取。
以下分頁標籤顯示不同用戶端作業系統的快取預先暖機指令。這些指令通常也會預先載入目錄清單。
Linux 或 UNIX 用戶端
如要預先暖機快取,請按照下列步驟操作:
find DIR_PATH -type f -print -exec sh -c 'cat "$1" > /dev/null' sh {} \;
Windows 用戶端
如要預先暖機快取,請按照下列步驟操作:
for /f "delims=" %i in ('dir /b /s /a-d DIR_PATH') do @type "%i" >NUL
如要加快預先填入程序,請考慮使用 XCP 等資料遷移工具。
如要使用 XCP 讀取資料並填入快取,請執行下列操作:
xcp -md5 -q SERVER:/PATH