VMware Composer和链接克隆的基本原理

日期: 2010-03-02 作者:SearchVirtualDesktop.com翻译:李哲贤 来源:TechTarget中国 英文

截止本文创作之时,VMware Composer和链接克隆功能(linked clone)并不与vCenter4兼容。为了等待VMware发布可以b实现兼容的新版本View,而推迟本书出版的方式,显然是不现实且不可行的。因此,如下的这些指导都是在Vi3.5版本的基础上实现了,这是VMware新发布的和View3工作模式相同的版本。   您应该已经发现,通过使用通用模板和虚拟硬盘的方式来创建虚拟桌面,带有很多非常明显的缺点。

首先,尽管使用了自动精简配置功能的虚拟硬盘,对昂贵的共享存储资源依然存在很大的浪费。其次,虽然虚拟桌面资源池的创建过程可以实现自动分配,这在非常高效的同时,也带来了对存储阵列……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

截止本文创作之时,VMware Composer和链接克隆功能(linked clone)并不与vCenter4兼容。为了等待VMware发布可以b实现兼容的新版本View,而推迟本书出版的方式,显然是不现实且不可行的。因此,如下的这些指导都是在Vi3.5版本的基础上实现了,这是VMware新发布的和View3工作模式相同的版本。

  您应该已经发现,通过使用通用模板和虚拟硬盘的方式来创建虚拟桌面,带有很多非常明显的缺点。首先,尽管使用了自动精简配置功能的虚拟硬盘,对昂贵的共享存储资源依然存在很大的浪费。其次,虽然虚拟桌面资源池的创建过程可以实现自动分配,这在非常高效的同时,也带来了对存储阵列资源的极大冲击。如果有很多的虚拟桌面需要在很短的时间内被创建的话,您可能遗憾地发现需要一段时间来完成整个创建的过程。

  考虑到这些原因,VMware View引入了VMware Composer和链接克隆技术。这种概念说起来非常的简单。我们先创建一个单独的“主”虚拟桌面,和我们曾经遇到的情况类似,在VMware Composer中,这个“主”虚拟桌面被称为源虚拟机。基于该源虚拟机创建了一个快照文件,然后在生成一个副本。通过该副本虚拟机创建链接克隆。创建的虚拟桌面被称为链接克隆的原因是,从本质上讲所有的克隆所需信息都来源于该只读属性的副本。

  区别就在于,通过取代传统的使用模板进程来创建虚拟桌面的方式,链接克隆方式仅仅创建那些“不同”或“delta”的文件。之所以称为“链接克隆”,是因为该“克隆”是“链接”到“源虚拟机”的一个副本文件的。在这种方式下,可以极大地减少存储空间的浪费和虚拟桌面的安装部署时间。另外,这种方式也意味着,如果我们改变“主”虚拟桌面,这些变化也同时被复制到每一个相链接的克隆虚拟桌面中,这个过程是强制性的。由于虚拟桌面都是链接到源虚拟机的副本虚拟机上的,所以这使得我们可以重复使用该源虚拟机作为其他链接克隆虚拟桌面的源。如果您在链接克隆中使用了永久性选项,那么副本磁盘文件被标识为只读模式,所有用户所做的改变都被发送到操作系统所控制的虚拟delta磁盘。同时,增加了一个选项“用户数据磁盘(User data disk)”,该用户数据磁盘为单独用户保存了本地化的数据。用户数据磁盘被标识为可读写状态。虽然该磁盘是外接到活动目录服务器组策略中的,用户仍然可以对本地化的数据和操作环境做更改。用户数据磁盘在首次启动时被自动创建和挂载到虚拟桌面中,并且在创建链接克隆时,可以根据供用户选择分配驱动器盘符。

  这种节省磁盘空间和创建时间的方式已经在存储层被广泛使用一段时间了,像NetApp这样的供应商通过它们的快照克隆技术和重复数据删除技术提供这样的优势。如果您已经在存储端拥有了这样的技术,您可能希望在使用链接克隆功能之前,首先重新评估他们的收效和花费。值得一提的是,这些被存储供应商称为高级存储功能的特性并不是免费的,而且通常需要购买相应的独立授权才能使用。

  或许,和链接克隆技术对磁盘空间利用率提高的情况最相似的技术,应该是类比ESX对内存的利用情况。如果您回忆一下性能图表的话,就会发现ESX虚拟机可以分配,超出ESX所在主机物理内存总量大小的虚拟内存给虚拟机使用。VMware称之为内存超分配技术(memory overcommitment).。当然,View Composer通过使用类似的方式可以创建超出物理存储空间的虚拟存储给虚拟机使用。和内存超分配技术相似的是,使用硬盘的超分配技术时,我们也需要密切关注实际磁盘的使用情况。View Composer带有内置的设置管理工具,来尽可能多地利用我们实际所拥有的物理存储空间。从很多方面看来,这种技术类似于昂贵的高级存储所拥有的虚拟存储功能。

  最后,VMware开发了他们称为QuickPrep的独有的客户端程序来取代Microsoft Sysprep。如同字面所看到的那样,该工具的目的是为了向Microsoft域中近可能快地加入链接克隆的虚拟桌面。QuickPrep通过使用在活动目录域中的,已经配置好的,具备向域中添加计算机权限的账户来完成其功能,通过对域中服务器账户的预处理来极大加快部署时间。另外,QuickPrep支持管理员使用易区别的命名格式(Distinguished Name format,如OU=Virtual Desktops, OU=Marketing),保证目标计算机账户可以创建,通过这样的方式确保合适的活动目录服务器域管理策略可以被正确地实施。

  为了使用链接克隆功能,用户需要在vCenter服务器中安装VMware View Composer Service。View Composer需要后端数据库的支持,同时它也支持基于已经存在的其他VMware数据库实现快速创建,例如像vCenter和VMware Update Manager数据库。

  安装View Composer

  1.登录vCenter桌面, 运行 VMware-viewcomposer-N.N.N-NNNNNN.exe. 
  2.在通用的欢迎确认界面中,选择文件安装位置和EULA
  3.在Database Information对话框中,如下图1所示,提供vCenter DSN相关设置

图1

vCenter DSN

  4.设置View Composer的默认端口,并且允许为其创建默认的配置文件,如下图2所示。

图2

View Composer

  5.选择Next以及Install。

  在VMware View中启用View Composer

  1.登录到连接服务器(Connection Server)的管理员页面
  2.选择Configuration图标
  3.在VirtualCenter部分选择VirtualCenter reference,然后点击Edit…超级链接。
  4.选择Enable View Composer

  最初该连接会失败,在失败后您可以通过尝试调整端口号以达到正确的设置值,如下图3所示。

图3

View

  5.为View Composer设置服务账户(Service Account), 在域管理员账户(Domain Administrators Accounts )中点击Add…超链接.
  6.在Add Administrators弹出页面中, 通过使用FQDN/DNS格式完成对域的特殊定义,如图4所示

图4

Add Administrators
 
  准备源虚拟机(Parent VM)

  源虚拟机通过虚拟克隆的方式构成了虚拟桌面资源池的基础。通过一个已知的运行正常的源虚拟机模板来广泛创建新的虚拟机也是一个不错的主意。

  1. 登录源虚拟机
  2. 确认它已经成功登陆域
  3. 通过使用ipconfig /release命令释放其IP地址。这一步的目的是为了确保克隆之前不会保留源虚拟机对IP地址的设置。
  4. 关闭源虚拟机
  5. 对源虚拟机做快照,并为其分配一个易识别的名称,例如:Baseline Snapshot。

  创建永久性链接克隆资源池

  1. 在连接服务器的Web管理工具中选择Desktop and Pools图标
  2. 点击Add…超链接
  3. 选择Automated Desktop Pool
  4. 选择Persistent pool
  5. 选择您的vCenter实例,并且启用选项“Use linked Clone to create desktops in the pool”,如下图5所示

图5

虚拟桌面
 
  当选择该选项后,页面下方的提示信息会发生变化,并指出“离线虚拟桌面”功能的支持还处于试验阶段,并且目前和链接克隆功能不兼容。

  6.之前曾经分配过唯一的ID和显示名称
  7.在Desktop/Pool Settings设置中,如下图6所示,您可以注意到该页面发生了细微的变化,提供给用户一个新的选项用于控制“Refresh OS disk on logoff”功能的启用

图6

Desktop/Pool Settings

  您或许还记得之前关于链接克隆功能的介绍,所有用户桌面环境的改变仅仅被保存在一个单独的虚拟硬盘上,这种处理方式和VMware的快照功能非常的相似。这项设置的功能是控制这些用户环境改变的部分。可选项非常易懂。选项“Never”的意思是这些变化量会随着时间增加而自然增长,相应的delta文件也会一天天逐渐变大。这也意味着用户环境永远不会被重置,最终直到该虚拟磁盘的大小超出实际物理硬盘空间大小。选项“Always”的意思是每次在用户从虚拟磁盘登出后,该磁盘会自动重置到用户首次登陆时的纯净状态。选项“Every…”允许用户自行触发一个虚拟磁盘的周期性重置动作,这个周期是以天为单位的。最后,选项“At…”的意思是用户可以定义一个特殊的比例,用于在虚拟磁盘占用大小超出delta磁盘的一定比例后启动重置。因此当保存用户delta磁盘使用率超出90%以后就会触发重置。VMware官方建议是,对于用链接克隆创建的永久性资源池,在每次用户登出虚拟桌面之后做重置。

  这种在登出后的更新机制,会自动关闭用户的虚拟桌面,抛弃原delta虚拟磁盘,然后创建新的delta虚拟磁盘,整个进程会花费一定的时间来完成。因此如果用户试图在登出后迅速地登入的话,会发现虚拟桌面处于不可用状态。如果用户在该重置进程还在进行过程中尝试重新连接的话,会在客户端收到一个提示信息,表明他们的虚拟桌面还不可用。如下图7所示。

图7

虚拟桌面

  对个人而言,我发现实际用户会非常困扰于这种更新方式,尤其是在有些时候windows的用户经常需要采用登出再登入的方式来修复某些系统问题。因此,我个人更喜欢选择选项“Never”,并代之以用连接服务器手动重置虚拟桌面,从而使我可以选择在特定的时间段内来更新虚拟桌面。这样的话我就可以选择在周末的晚上,手动更新那些虚拟桌面,从而把对最终用户的影响降低到最小。

  8.在Automated Provisioning页面中,设置方法和以前讲过的一致。但是请记住,因为我们采用了链接克隆技术,所有每个克隆的虚拟机仅仅是记录了用户在使用虚拟桌面过程中的改变量。这样的话,我们可以在很小的存储空间上创建非常多的虚拟机。这也意味着,我们在最大、最小和保留数量选项上有非常大的选择空间,并且无需提前为这些虚拟机购买额外的磁盘空间。
  9.接下来请选择之前创建的源虚拟机,在打开的窗口中,如图8所示,选择您在释放了源虚拟机IP地址之后所创建的快照,并关闭该快照虚拟机。如图9所示。

图8

快照

图9

虚拟桌面

  10.之后在虚拟桌面资源池创建向导中的剩余设置部分和之前相同,需要选择vCenter虚拟机的文件夹,ESX主机或集群主机,以及存储资源池。在这部分完成之后,向导会提示用户设置用户数据磁盘(User Data Disk),如图10所示。

图10

User Data Disk

  您应该还记得之前我所描述的关于链接克隆的特性,用户数据磁盘模式仅仅存在于永久性资源池模式中,并通过链接克隆技术实现。这些都是非常小的虚拟磁盘,因为它们仅仅用于保存最终用户的数据影像。通过这样的方式极大释放了Microsoft Roaming Profiles技术带给管理员的磁盘空间压力。所以这种虚拟磁盘的大小可以是任意大小,而无需接近保存虚拟桌面操作系统的虚拟磁盘空间大小。我们需要注意的问题主要是,确保该用户数据虚拟磁盘驱动器所使用的盘符不会和任何用户所使用的网络驱动器相冲突。最后,如果您选择了“Use different datastores for user data drives and OS drives(用不同的数据库存放用户数据磁盘和操作系统磁盘)”选项,这种方式下将会在向导的下一步里把操作系统变化量和用户数据变化量保存在不同的数据库中。我并不建议使用“Store user data on the same disk as the OS(在同一磁盘上保存数据和操作系统)”选项,这种模式下将会极大降低链接克隆技术所带来的技术优势。

  11.在向导的最后一步中,我们可以为用户数据变化量和操作系统该变量选择不同的数据库位置。在这一步中有大量的内容需要消化,因此我希望一步步分开来讲解。

  在图11里,您可以看到我决定把操作系统的改变量放置于一个叫做“sanlun1”的数据库中,并且把用户数据改变量保存在叫做“Virtualdesktops”的数据库中。

图11

数据库

  我能够这样操作,正是因为在上一页中选择了“Use different datastores for user data drives and OS drives”选项。在Storage Overcommit列中,我可以根据希望值而设置不同的存储超分配级别。在连接克隆技术支持下,可以对大小为10GB的源虚拟机创建多达50个的虚拟桌面。而且因为克隆虚拟桌面的该变量非常的小,所以50个虚拟桌面并不会占用500GB的磁盘空间。事实上,他们仅仅会占用远少于该总量的磁盘空间,而我所希望的就是这些虚拟机永远不会占满我所分配的磁盘空间。

  通过下拉菜单,设置“aggressive(激进的)”,“ moderate(稳健的)” 和 “conservative(保守的)”三个级别,允许我可以根据评估的结果选择对磁盘超分配的使用程度。如果我选择了“aggressive”,就表明我希望delta文件和用户数据磁盘大小的增长非常的缓慢,这样我就可以在很小的实际存储空间上创建很多的虚拟桌面。如果选择“conservative”选项,就表明我认为delta文件和用户数据磁盘大小增长非常快。很明显,如果我设置了总是在登出后重置操作系统磁盘这样策略的话,这些delta文件的增长就会非常的小。也就是说delta数据的保留时间越长,用于保存这部分数据所需的空闲磁盘空间就越大。

  在这一页的底部,VMware可以很好地评估关于实际磁盘使用率和delta文件使用率相关的工作。如果用户做了一些非常愚蠢的操作的话,底部的数字会变成红色,例如试图在10GB的卷上创建1000个虚拟桌面的时候。这种情况一般发生在数据库的剩余空闲空间少于在“Minimum Recommended(建议最小空间)”列中所显示的大小。

  在图12中,我选择了不同的数据库,很明显,尽管使用了链接克隆技术来节省空间,它们仍然没有足够的剩余空间用于存放我将要创建的虚拟机群。

图12

虚拟机群

  12.最后,您可以定义VMware QuickPrep相关的设置,如图13所示。

图13

VMware QuickPrep

  尽管QuickPrep所提供的功能和Microsoft Sysprep基本相同,但它可以极大地减少由于Sysprep的简化安装向导所带来的部署时间。在如上的实例中,我决定为市场部(marketing)创建一个虚拟桌面资源池,并且在活动目录(AD)中创建一个叫做“Marketing”的OU来存放计算机用户信息。您可以看到通过使用QuickPrep的DN(Distinguished Name)命名模式来批量创建OU,通过使用逗号来分隔不同的OU,例如“OU=Virtual Desktops, OU=Marketing”。

  在向导中点击Finish之后,整个部署过程将会展开。整个进程开始于在虚拟机和模板中创建名为"VMwareViewComposerReplicaFolder"的文件夹。该文件夹用于保存链接克隆指向的源数据和副本数据。源数据和副本数据的创建将会花费一些时间。而一旦该进程结束后,您会发现系统的创建过程将会迅速开始,大量的虚拟桌面将会在之前向导中所指定的文件夹中快速被创建。

  对于VmwareViewComposerReplicaFolder文件夹、源数据和副本数据还有一个有趣的现象就是:用户将无法在vCenter中手动删除它们。它们只能在View的管理页面中通过删除链接克隆虚拟桌面池的方式来删除。这些对象在系统中被标识为被保护状态以防止对链接克隆源数据的误删除操作。因为一旦源数据和副本数据被删除的话,连接克隆获得的虚拟机在系统中都会变得孤立。而且源数据和副本数据并没有指定特殊的易识别的名称。

  使用了链接克隆技术之后vCenter环境

  在这一部分中,我仅仅希望通过快速地演示一下由View Composer和链接克隆技术所带来的改变。我坚定地相信,人们印象的形成更多也更容易来自于可以在屏幕上看到的东西。多数人通过操作和观察来学习,而不是通过干涩而抽象的,基于纯理论的讲解。

  在图14中,您可以看到系统正处于创建我的“marketing”虚拟桌面组中。

图14

虚拟桌面

  事实上,我设置了资源池的最大虚拟桌面数为50,最小数量为25个,保留数为10个。请注意它是如何在VmwareViewComposerReplicaFolder文件夹中创建名为marketing, Replica 和Source的文件夹的。View composer同时为源数据和副本数据添加了唯一的后缀名称,以便于做到它们是唯一被链接到克隆创建的虚拟机(如marketing1, marketing2等等)的数据。

  如果我使用数据浏览器来检查OS数据的存放地的话,在我的演示中指定了sanlun1,您可以在图15中看到,每个链接克隆的delta虚拟磁盘仅仅占用了非常小的一块空间。

图15

链接克隆

  您可以看到,称为marketing1的链接克隆虚拟机仅仅使用了32MB的空间,事实上它所占用的虚拟机交换区都大于包含虚拟桌面的虚拟磁盘占用的大小。

  相似地,位于"virtualdesktops" VMFS卷中的用于保存用户数据的虚拟磁盘实际上也非常地小。在本演示中,它占用了26MB的大小,如图16所示。

图16

虚拟机

  最后,在AD中,因为我在QuickPrep中设置了正确的参数,所以名为"marketing"的OU已经被创建被随着虚拟机的增加而自动地创建计算机用户。如图17所示。

图17

虚拟磁盘

  图18中我们可以从Windows浏览器中看到操作系统虚拟磁盘和用户数据虚拟磁盘。

图18

VMWare Composer

  在下一部分中,我们学子更多的关于VMWare Composer和链接克隆的内容。

翻译

李哲贤
李哲贤

TT虚拟化特约作者

相关推荐