雲端快取概觀
雲端快取是一項功能,可與配置檔和 ODFC 容器搭配運作,以提供復原和高可用性。 雲端快取會使用本機掛接的容器,為遠端記憶體提供者提供定期更新。 雲端快取的設計目的是讓使用者免於短期或間歇性本機(內部區域、鄰近性)儲存問題。 根據設定,當在不同區域中使用遠端記憶體提供者時,它也可以當做商務持續性或災害復原(BCDR)計劃的一部分使用。 使用雲端快取會將效能和記憶體需求放在虛擬機上,以容納本機快取所需的額外 I/O 作業和記憶體。
雲端快取考慮:
- 雲端快取會根據 中的
CCDLocations
項目順序使用記憶體提供者。 - 儲存體 提供者應依鄰近順序列出,然後依喜好設定。
- 當數據 從記憶體提供者凍結 時,只會使用一個 (1) 提供者。
- 數據會寫入所有記憶體提供者,而不論在數據 凍結期間使用哪一個提供者。
- 記憶體提供者的效能(延遲、使用率、瓶頸)會影響其與本機複本的同步狀態。
- 在本機快取更新中落後一或多個提供者可能是執行中記憶體提供者的指標。
Ping
或Test-NetConnection
命令結果 與交易式 I/O 不同 ,而且是 記憶體提供者執行方式或可執行方式的不良 指標。
圖 1: 顯示雲端快取元件的詳細圖表
雲端快取元件
本機快取
雲端快取能夠將使用者與遠端記憶體提供者的連線問題隔離,因為建立用於使用者配置檔的容器,並將本機儲存至虛擬機(本機快取)。 在第一次登入期間,FSLogix 會為使用者 C:\ProgramData\FSLogix\Cache
建立容器,並將容器掛接至虛擬機。 接下來,FSLogix 會設定使用者配置檔的所有必要重新導向。 然後,User Profile Service 會將使用者配置檔建立至本機快取。 寫入使用者配置檔的所有數據都會暫時儲存為相同目錄中的區塊層級快取物件。 這些區塊層級快取對象接著會認可至本機快取。 建立區塊層級快取物件之前,會透過 Proxy 檔案在記憶體中處理對使用者配置檔的寫入。
在第 2或 N次 登入期間,FSLogix 會嘗試尋找並掛接儲存在虛擬機上的任何先前本機快取 VHD。 尋找本機快取是預設組態設定,可能不需要,因為它可能會導致磁碟空間不足的事件。 如需更多設定,請檢閱雲端快取設定參考頁面。
圖 2: 雲端快取本機快取
遠端 儲存體 提供者(凍結、排清、複製)
雲端快取會在使用者會話期間從本機快取操作使用者的配置檔,而且必須按照 中指定的一或多個遠端儲存提供者進行 CCDLocations
設定。 這些遠端儲存提供者會儲存本機快取的複本,並用於目前會話和後續登入。如果所有提供者在使用者會話期間變成 狀況不良 ,本機快取會繼續運作並成長1 ,直到一或多個提供者回到 狀況良好的 狀態為止。
1 本機快取只會成長為設定中指定的 SizeInMBs
容器大小上限。
水合物
當本機快取不包含文件系統所要求的數據時,雲端快取會將 1 個遠端儲存提供者的數據凍結(讀取和複製)到本機快取。 填入使用者配置檔的本機快取時,此作業也是登入程式的一部分。
清除
排清作業通常會以三種方式發生。
- 在延遲異步操作上,Cloud Cache 會同時排清所有記憶體提供者的變更,因為每個提供者都會在自己的線程上排清。 FSLogix 不會節流此作業,而且會利用系統允許的輸送量。
- 在註銷期間,當一或多個提供者未包含所有更新時,用戶註銷會延遲2 ,直到所有提供者都處於相同的順序為止。
- 在使用者會話中,當與任何記憶體提供者的連線變成狀況不良時,FSLogix 會排入所有變更佇列,然後在他們返回狀況良好的狀態時,將它們排清到提供者。
2 根據雲端快取使用 HealthyProvidersRequiredForUnregister
值設定的方式,延遲用戶的註銷。
複製
當雲端快取決定記憶體提供者不是相同序列時,就會執行完整的 VHD(x) 複製。 在此作業期間,所有暫止的寫入都會保留在本機快取中,直到所有記憶體提供者都處於相同的順序為止。 完成之後,排清作業就會開始將新數據傳送至記憶體提供者。
編制索引 (定時寫入快取)
雲端快取會使用本機快取內的索引編製。 定時寫入快取是表示尚未認可至本機快取之寫入的檔案。 這些檔案會使用數值擴展名來註明。 一旦索引認可至本機快取,就會轉換成快取物件。
每當虛擬機非預期的關機或重新啟動時,都必須考慮索引檔案。 這些檔案代表尚未認可至本機快取的數據,並可能導致數據遺失;最壞的情況是損毀的容器。 在非持續性或多會話環境中,一旦虛擬機從非預期事件復原,使用者通常不會連線到相同的虛擬機。 在這些情況下,未正確認可並排清至記憶體提供者的數據可能會遺失,並導致使用者配置檔容器發生問題。
Proxy 檔案
雲端快取會使用 Proxy 檔案的概念,表示為 Profile_%username%.vhd
不是真正的 VHD 檔案。 Proxy 檔案是用來收集和處理目的地為本機快取之所有 I/O 寫入的方法。 I/O 寫入會在記憶體中緩衝處理,並透過 Proxy 檔案進行追蹤,然後才寫入為快取目錄中的區塊層級快取物件。 雖然 Proxy 檔案的大小與本機快取檔案相同,但磁碟上的實際大小為零,因為不會將數據寫入此檔案。
圖 3: 雲端快取 Proxy 檔案
輔助檔案
雲端快取會使用兩個 (2) 個輔助檔案,以維護本機快取的控制與順序。
注意
FSLogix 會使用這些輔助檔案,且不會在產品外部開啟或使用。 這些檔案中的任何相關信息都將透過我們的記錄檔或事件記錄檔專案提供。
鎖定檔案
鎖定檔案是其名稱可能暗示的,檔案會用來判斷哪個虛擬機在容器上有 I/O 鎖定。 雲端快取會使用這項資訊來判斷指定提供者的容器擁有權。 使用 Cloud Cache 搭配 ProfileType 設定為 '3' 時,鎖定檔案機制非常重要(多個或並行會話)。
Meta File
中繼檔案是一個多用途檔案,我們會在其中追蹤容器的狀態。 在中繼檔案內,Cloud Cache 會使用序號系統來判斷哪個提供者具有最新的數據。
儲存體 提供者
FSLogix 不是記憶體提供者,而是依賴記憶體提供者的基礎架構。 如需記憶體提供者 FSLogix 支援的詳細資訊,請檢閱我們的容器 儲存體 選項。