Month: August 2011
关闭XenServer中挂起(hang)虚机的方法
在XenServer中,碰到VM挂起(hang)的情况,也不是那么少见,而VM长时间挂起,那么很影响心情和后续的操作。 一般情况下,为了关闭VM或者重启VM,我们推荐这样的操作顺序: 进入到VM内,使用系统的关机或者重启功能 通过XenCenter的菜单选择ShutDown或者Restart。虽然这个菜单的实现是通过XenServer tool来控制系统的命令来实现,但是不保证在XenServer Tools工作异常的情况下,导致VM挂起(Hang),而且,这个应该也是VM挂起(XenCenter中VM标志处于黄色状态)的主要原因。 尝试通过XenCenter菜单的Force Shutdown和Force Restart来强制操作。
XenServer中网卡绑定模式分析
XenServer的网卡绑定使用linux提供的绑定机制,而XenServer支持Linux的Source Level Bond(SLB)以及Active-Passive Nic Bond(A/P)两种绑定模式。
修改XenServer中SR的大小
在XenServer中,前期规划划分的LUN的大小可能会由于项目的其他因素发生项目变化,此时可能需要resize SR。在存储中重置了LUN 的大小以后,在XenServer中,SR的容量大小不会马上显现,需要对SR进行一些简单的处理。 基于iSCSI的SR,需要unplug XenServer主机挂载到该target上的所有LUN,然后replugged即可,此时,iSCSI将重置到存储中该target的连接,而LUN size的改变也会被发现。 基于HBA的SR,这种类型的SR,需要重启xenserver主机来识别LUN的尺寸的改变。 主要:在老版本中,可能需要显示的使用命令来修改physical volume group的大小,而新版本已经作为PBD plug操作的一部分,所以不要再使用命令来重置大小。
XenServer中VM的caching行为设置
XenServer开启了Intellicache功能支持以后,我们可以针对每个VM的VDI开启缓存支持。 根据以前的文章介绍,我们知道VM的VDI有两种模式,也就是Shared Desktop Mode和Private Desktop Mode,分别规定了对VDI的修改是否会持久化的行为。而VM的cache,在两种不同VDI模式的情况下,有些类似的区别,对一些XenServer的高级功能有影响,所以这里就提到以下。 默认情况下,启用了Thin Provisioning(也就是local SR为EXT3文件系统),那么VDI的allow-caching参数(标志,Flag)设置为true,则标示启用了本地智能缓存;设置为false,则标示禁用缓存功能。
VDA端口与HA:Agent中相关Service运行机制
在XenDesktop 4中,一般情况下,1494和2598端口是一直处于LISTENING状态,也可以telnet通,而到了XenDesktop 5,大家如果还是使用telnet这种机制来验证的话,可能就行不通了。以前一直没注意,今天仔细跟踪了下中间的工作机制。
XenServer中Windows 7与XP多vCPU支持配置
在服务器虚拟化项目或者虚拟桌面项目中,经常会碰到这样的问题,虚机为高负载类型的业务,对CPU的要求很高的时候,我们希望为这些虚拟桌面分配更多的CPU资源,但是我们也发现,部分系统对CPU数量的支持有数量的限制,超过以后,即使分配,也没法利用到。也有一些软件会依据CPU的数量(socket的数量)来收费,所以也需要对CPU进行一些调整来减少费用。 首先说一下,在CPU中有几个概念:Socket、Core、Hyper-Threading(HT)。首先得搞清楚这些。 Socket:wikipedia的解释是连接到主板的一个CPU,通俗讲就是一个物理CPU Core:wikipedia的解释同一个CPU芯片上集成的多个核心,也就是所谓的多核的核 Hyer-Threading:wikipedia的解释模拟的多线程,通俗讲在一个核心上模拟出两个CPU执行线程,能够提高多任务的性能
独立安装Desktop Studio
关于Desktop Studio一直都是直接安装到DDC(Desktop Delivery Controller)上,然后直接登录到DDC使用Desktop Studio来进行虚拟桌面的管理和维护。但是这样有一个坏处,windows我一直认为很脆弱,即使你不做其他的操作,有时候登录的时候,再做点操作也就挂了。所以,单独安装Desktop Studio,然后给多人分配足够的管理权限,实现远程管理、多人管理,避免同时连接登录到DDC可能引起的问题。
XenServer中LVM的性能
在XenServer 5.5以后,提供了snapshot和fast clone的功能,这些功能,具有一定的性能开销,但能够带来一定的灵活性。纯粹为了性能,在基于LVM的存储上支持创建RAW格式的VDI,而默认创建的VDI为VHD格式。RAW格式,虽然能够带来性能的提升,但XenServer不支持RAW格式 VDI的快照。
XenServer中VM的启动行为
在XenServer中,VM使用的VDI在VM启动的时候,具有两种行为模式: Shared Desktop Mode(共享桌面模式) 在共享桌面模式下,当VM启动的时候,VM所赌赢的VDI将会恢复到原始状态,也就是VM运行过程中所产生的所有变化都不会保留,也就是每次启动都会恢复。 Private Desktop Mode(私有桌面模式) 在私有桌面模式下,VM启动的时候,对应VDI中,VM运行过程中的所有对VDI的修改都会保留,并持久化到存储上,也就是数据更改将会保存到桌面
XenServer中VM的存储格式对空间以及性能的影响
在XenServer中,基本的存储库(SR)、物理块设备、虚拟磁盘映像、虚拟块设备之间的关系如下图: 其中,PBD为物理存储设备的抽象,基本无法改变,SR为XenServer对物理存储设备的抽象,起到组织管理的作用,SR的类型对虚机VDI的格式以及性能有一定的影响,但是SR的类型受限制于物理存储的形式,所以,暂停也跳过,VBD与VDI对应,而最终VM拿到的虚拟块设备VBD,则为VDI的虚拟,所以,SR中VDI的格式对存储空间消耗以及性能产生比较重要的影响。
XenServer 5.6 SP2开启Intellicache
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功能。
针对任何想学习技术的朋友的建议
很早就想写这么一篇文章了,只是想给那些真正想学习的人的一些建议,同时也要针对另外的一群人一些忠告。 不得不写这篇文章是因为,最近群里、邮件、电话、QQ等上看到太多的类似情况,以至于我都不怎么愿意看了,都是直接忽略……