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功能。第二种方法的两步操作其实同安装的时候勾选Thin Provisioning以后,由系统自动配置相同。
说明:
这里只是讲在XenServer中启用Intellicache功能,启用了该功能支持,并不表示,VM或者XenDesktop部署到这些XenServer主机上的Virtual Desktop已经启用了Intellicache的功能(或者说,已经具备了本地缓存功能)。
大神, 求回复啊!!!
inellicache貌似只能作用于NFS存储??SAN存储能否可以用??看过两份文档说法不一。。。
Intellicache最初的时候是只支持NFS的,
后续加入了对于SAN的支持。最新的XD/XA7/5配合6.x版本,应该是可以对所有的share storage开启。http://support.citrix.com/proddocs/topic/xenapp-xendesktop-75/nl/zh/cn/cds-manage-hosts-intellicache.html?locale=cn
edoc上面却写这仅支持NFS,KB中CTX129052的说法是NAS或SAN。。
修改了之前的答案,仔细检查了XA/XD7.X的文档,确认没有说明支持SAN。
你提到的KB,只是说Intellicache的作用可以消除NAS/SAN的来回数据传输,特别是网络的占用。但是并没有说支持SAN类型的存储。
博主,请教一下你
XenServer服务器有一个15K转的75Gb SAS硬盘。
iscsi储存服务器由几个SSD组成的阵列。
两台服务器均用千兆光纤连接到交换机。
如果按照博主这个方案,在XenServer本地配置了本地缓存,减轻了网络负载。
但有没有可能损失了小部分磁盘读写性能?
例如读取一些小文件
XS Intellicacheg功能只针对XenDesktop有效,对于普通的XS,然后只是安装VM直接使用的话,Intellicache不会起到任何作用。
哦原来是这样,终于明白了!
请问如果全部是专用桌面的话,有没有必要启用 Intellicache?另外如果我现有的XenDesktop环境如果分配桌面时已经有了 Intellicache的选项,是不是就代表XenServer已经启用了这个功能?或者说我在生产环境如何确认XenServer是否已经启用 Intellicache?
Intellicache主要是对XenDesktop VM的Base Image进行cache。
如果是MCS专有桌面,那么公用一个模板(一个Base Image)那么有效果,否则每个VM都独立安装,那么就没有效果。
—
要确认XS是否有开启,只需要看一下XS Local Storage是LVM还是EXT3,如果是EXT3,那么说明已经开启了Intellicache.
多谢大神!!!