现在的时间是2009年3月18日23点42分,微软虚拟化训练营已逾半个多月。
在这段时间里,学员们对于微软虚拟化的兴趣是越来越大,关于Windows Server 2008的虚拟化话题在训练营中也有蔓延的趋势。几个积极的学员甚至提出,他们的公司最近有意将Vmware转换为Windows 2008 x64 with Hyper-V的OS,来进行虚拟化的导入。不过他们还是有些陌生,希望身经百战的教官能帮助他们。
结合几家企业的相同和不同情况,教官首先需要虚拟化的是将之前各项目测试机进行P2V(physical-to-virtual实体转虚拟)的流程,并搭建起这样一个环境:
•PHP4项目测试机(VMWARE VM):WINDOWS SERVER 2003 SP2+PHP4+MySQL 4
•PHP5项目测试机(Physical):WINDOWS SERVER 2003 SP2+PHP5+MySQL 5
•A项目测试机(VMWARE VM):WINDOWS SERVER 2000 SP4+ASP+SQL2K SP4
•B公司项目测试机(VMWARE VM):WINDOWS SERVER 2003 SP2+ASP.NET 2.0 SP2+SQL 2005 Express SP2
大家可以看到,这个环境里只有一台是WINDOWS SERVER 2000,而且只有PHP5项目测试机是实体机器,其余都是虚拟化的。教官表示,VMWARE的VMDK档案转换成Hyper-V用的VHD现成的工具–Vmdk2Vhd转换结果是不错,不过后面还有一些细节需要调整。
在和学员经过讨论后,教官决定给虚拟机全新安装系统,以便于大家看清本次的试验。
一般来说,重新安装系统大约需要30~45分钟,加上后续的设定和软件的安装所需约60~120分钟,这样算起来,如果物理系统不够强劲,我们可能需要花费165分钟。
脸上带着点狡黠的笑容,教官让大家去翻看Hyper-V的说明档。学员们也很贼,他们看到教官的表情,就知道一定有办法可以节省时间。两方均是心照不宣,却故作糊涂状。当翻阅到说明文档中[新增虚拟硬盘]一段时,几乎所有的学员都知道,这就是他们要找寻的答案。文档中介绍,“差异虚拟硬盘能让您在对上层虚拟硬盘进行变更时,不需要改变该硬盘。变更储存到磁盘之后,差异磁盘的.vhd档案就会变大。”它的意思就是说,面向对象中“继承”的特性,照这样推算,被当作Base的VHD应该是无法被当作VM启动的(抽象类不可被实做)。
学员们为这一发现欢欣鼓舞,他们首先在Hyper-V中安装好一台WINDOWS SERVER 2003 SP2+系统常用工具 (名称为WINDOWS SERVER 2003-Base),加上Sysinternals中的NewSID工具放到桌面上备用。按照教官的指引,学员们在安装设定完成后先将该Base 机关机,并将VM从Hyper-V管理接口中移除。教官特别强调,一定是只进行虚拟机的移除,而不是将虚拟磁盘VHD进行移除,否则的话哪来的父系磁盘给子系(Child)继承呢?
接下来的事情就都比较简单里,大家注意步骤,一般都不会出什么问题。首先是进行“差异虚拟硬盘”的建置,学员们先在Hyper-V MMC窗口的右边点选[New]=>[Hard Disk]:
接下来选择磁盘类型的步骤中,选择[Differncing],然后按下Next前往下一步:
定义VHD的文件名与放置位置,建议放置在系统所在区以外的地方,譬如指定在区D:
教官强调,接下来这个步骤是最重要的了!选择正确的父系磁盘,这里我们使用刚刚建立好的WINDOWS SERVER 2003 SP2的Base VHD来当父系磁盘。指定好之后即可直接完成了,当然,如果想看Summary的话可再继续按Next来浏览。
多次重复这一步骤后,就会多出几个差异化的VHD,接下来在新增VM的过程中,只要将VHD指定给该VM使用,即可架设好一台VM。怎么样,很简单吧?
通过这样的办法,原本需要十几个小时的架设时间,使用差异虚拟磁盘的功能只需要4、5个钟头。学员们通过这个办法还架设了三台干净的WINDOWS SERVER 20008 ENT,所需时间不过1~2个小时而已。
教官对学员们取得的进步自然是很开心了,不过他***还是提醒诸位学员,在架设好新的VM后,不要忘记使用NewSID进行系统SID的更新与重新命名,否则后面可能会发生的一些让人挠头的问题,譬如要加入AD网域控制的VM没修改过SID的话,会发生SID冲突的问题。问题虽然不大,但是何必要给自己埋雷呢?
嗯,这话说的很对。
【编辑推荐】