XenServer在啓用Intellicache功能以後,作爲虛擬桌面的基礎架構服務器部署,能夠有效的利用本地存儲和共享存儲,減少共享存儲的壓力。特別對單一鏡像的虛機帶來的存儲性能要求大大降低,緩存減少了網絡的壓力同時,降低了存儲的壓力。
Intellicache在啓動時,會緩存VM的Parent VDI(父VDI,主VDI)的數據。Local Cache(本地緩存)將作爲Parent VDI的數據在以後的讀的緩存,這樣,當大量的VM共享一個parent VDI(比如MCS在同一個SR中,共享同一個master image),一個虛機的數據請求會被local cache緩存,這樣,在其他VM再次訪問的時候,就能提供數據訪問速度,減少對共享存儲上的parent VDI的訪問。
另外,爲了啓用Intellicache,在安裝的時候需要開啓thin provisioning。Thin Provisioning可以增加可用的存儲空間,相比於LVM,更加適合作爲共享存儲的本地緩存,因爲EXT形式的SR,VM是以VHD格式保存,按需分配,而Intellicache需要再本地有一個VDI-UUIS.vhdcache的VDI,如果使用LVM,那麼對容量的需求將大大超過預期,所以,Citrix選擇了在EXT3文件系統上啓用Intellicache功能。
啓用Intellicache比較簡單,有一個前提要求就是local Storage(或者local SR)需要是EXT3文件系統。
1、在安裝的時候,直接啓用thin Provosioning,如下圖:
2、如果安裝的時候,沒有啓用該選項,默認的Local Storage是以LVM來管理的本地存儲,我們需要手動轉換成EXT,注意,轉換會導致LVM上原有的VM VDI丟失,所以請備份或者遷移後操作。
1
2
3
4
5
6
7
8
9
10
11
12
|
localsr=`xe sr-list type =lvm host=< hostname > params=uuid --minimal` echo localsr=$localsr pbd=`xe pbd-list sr-uuid=$localsr params=uuid --minimal` echo pbd=$pbd xe pbd-unplug uuid=$pbd xe pbd-destroy uuid=$pbd xe sr-forget uuid=$localsr sed -i "s/'lvm'/'ext'/" /etc/firstboot .d /data/default-storage .conf rm -f /etc/firstboot .d /state/10-prepare-storage rm -f /etc/firstboot .d /state/15-set-default-storage service firstboot start xe sr-list type =ext |
腳本就不詳細解釋了,以上腳本用於把LVM格式的本地存儲轉換成EXT格式,注:需要腳本方式執行
1
2
3
4
|
xe host-disable host=< hostname > localsr=`xe sr-list type =ext host=< hostname > params=uuid --minimal` xe host- enable - local -storage-caching host=< hostname > sr-uuid=$localsr xe host- enable host=< hostname > |
啓用本地緩存,設置該本地存儲用於保存緩存數據。
以上在主機上啓用了Intellicache功能。第二種方法的兩步操作其實同安裝的時候勾選ThinProvisioning以後,由系統自動配置相同。
說明:
這裏只是講在XenServer中啓用Intellicache功能,啓用了該功能支持,並不表示,VM或者XenDesktop部署到這些XenServer主機上的Virtual Desktop已經啓用了Intellicache的功能(或者說,已經具備了本地緩存功能)。