Tips from Classroom : VMware Infrastructure 3 Install and Configure

花了四天时间,终于上完了全部的课——这个又贵又长($2995,四整天)的培训,也给我这个玩了近半年VMware VI3的人带来了一些新的收获。

本次培训课程的全称是VMware Infrastructure 3: Install and Configure,是一套覆盖了从初级到中级的、全面介绍VI3的功能和具体用法的课程。对于有一定VI3基础的人来说,可能这个课程的前半部分过于简单,因此我也考虑过是否要参加VMware最新的课程:VMware Infrastructure 3: Deploy, Secure & Analyzer。后者主要涵盖中级到高级内容,包括scripting(我最想学的部分),security(也是极其重要的部分,应该包括了firewall的设置等很重要的内容),以及更深入的DRS和HA,最后还有问题分析的工具和方法(和我现在的业务关系紧密)。——但是,遗憾的是该课程目前在我们这里还没有,于是我只好选择了前者。

上课的形式是50%讲座,50%实习 (Hands-on)的形式,使用的机器全都在美国。我们通过教室里PC机上安装的Citrix终端远程访问位于美国VMware总部的工作站,再从那里远程访问ESX Server和VirtualCenter Server(感觉就是特别绕,经常用着用着就不知道自己在哪里了)。参加这个课程除了可以得到一套全英文的教材,还赠送一套VI3的CD-ROM(但是License要到VMware公司去下载试用版),另赠送一VMware帆布包。

闲话不多说,下面就是一些课堂上注意到的一些Tips。

Tip 1 VMware ESX Server 可以安装在单CPU系统上

VMware的很多技术文档中都明确说明,ESX必须安装在双CPU或更多CPU的系统上。的确,这是官方的说法,但是事实上在单CPU服务器上安装ESX也并不会导致出错、无法安装。不过,在了解了VMkernel的CPU调度的原理之后,可以很明显地看出单CPU、特别是单Core、不支持Hyperthreading的CPU将会大幅度拖慢系统性能,尤其是在VM的CPU使用率较高的时候。可想而知在这样的环境下VMware DRS/VMware HA是难以运行,或者行为异常。

因此作为测试来说,实在没有Dual CPU的机器单CPU的也凑合着用吧,不过最好有Hyperthreading功能。至于production环境,务必使用双CPU或更多CPU的服务器。

Tip 2 VMotion的充分必要条件

要使用VMotion功能(以及依靠VMotion的其它功能例如DRS),有无数条件需要满足,例如首先要有一个用于VMotion的VMkernel,此外被移动的VM必须是存储在SAN之类的共有设备上等等。关于两台ESX的CPU,VMware说需要compatible CPU,也就是说进行VMotion的两台ESX Server的CPU要兼容。什么是“兼容”呢?当然,如果你去看Basic Administration Guide可以获得既详细却又冗长的答案,这里就把VMotion对CPU的要求做一总结:

CPU Characteristics 是否需要完全相同? 为什么?
CPU的个数,Core数,是否支持Hyperthreading,CPU的主频,缓存大小 No VMkernel已经通过虚拟技术使得VM不依赖于这些物理特性
 制造商 (Intel还是AMD),Family (P4,Xeon还是Opteron) Yes 不同制造商、不同Family的CPU的指令集有细微的差别 
是否有SSE3指令 Yes Guest OS上的程序有可能使用这些指令 
硬件协助 (Virtualization Hardware Assist) 32-bit VM: No VMkernel已经通过虚拟技术使得VM不依赖于这些物理特性
64-bit VM on Intel: Yes

目前在VMware中对Intel 64-bit的虚拟化是要依靠Intel的VT技术的

Execution Disable Yes (但是可以更改)

Guest OS检测到NX/XD bit时就可能会利用这一特性(如Windows XP的数据执行保护)

 当然,与其要记住这么多,不如直接下载VMware提供的CPU Compatibility Tools,这个工具是专门为VMotion设计的,用来检查两台ESX Server的CPU兼容性。

Tip 3 Service Console是一个特殊的VM

很多人有一种误解,就是ESX Server启动之后看到的这个很像Linux界面——Service Console,就是ESX的OS本身。因此,很多人认为ESX Server是基于Linux的,或者说是安装在一个经过修改的Linux的上面的。

这种说法其实也不能说是完全错误,但是说ESX是构建在Linux之上的却是错误的——因为正相反,这个“Linux”也是运行在ESX之上的一个特殊的VM。

Service Console只被分配给一个CPU,无论物理服务器拥有多少个。这个CPU固定是CPU0,也即系统中的第一个逻辑CPU。和其他VM不同的是,Service Console可以直接和ESX的核心VMkenel打交道,进行系统管理操作。

此外,还有一些关于SAN的Multipathing,以及资源管理的话题,以后找时间专门说吧。

4 Responses to “Tips from Classroom : VMware Infrastructure 3 Install and Configure”

  1. coolzsb on 07 Oct 2007 at 10:57 am

    Service Console是一个特殊的VM????

    请问一下是否有Vmware的官方文档支持这种说法?
    以我对ESX的理解:ESX就是构建在一个定制的Linux之上的应用

  2. smalldust on 08 Oct 2007 at 1:14 pm

    To Coolzsb

    [Service Console是一个特殊的VM]是VMware公司官方的说法,是VMware公司的讲师这样讲述的,我记得很清楚:)

    这么说的一个确凿的证据就是,Service Console上的代码不是通过CPU直接执行的,而仍旧是通过VMKernel的虚拟调度,当作一个虚拟机(一个特殊的虚拟机)来调度执行的。Service Console永远执行在CPU0上。

  3. Mails Zhao on 16 Oct 2007 at 10:50 pm

    我想请教一下,打算在笔记本上面装个esx,笔记本配置很烂,dell Inspiron 2200
    处理器: Intel Celeron M 360(1.4G)
    内存容量: 512M
    硬盘容量: 40G
    屏幕尺寸: 14.1寸
    显示芯片: 集成Intel GMA900芯

    先装 esx 3.0 根本进不了安装界面,就报apic错误,然后kernel panic.用debug模式,也一样
    再装 esx 2.5.3 可以装上,但在配置界面里出lilo错误,可以解决,这样lilo上面显示esx和linux两个选项,但进入esx后在核心解压缩的时候就直接重起,添加noapic,无用

    再试 esx 2.1.x 和2.5.3情况相同

    能请教一下估计问题出在哪里???谢谢!
    邮件地址 zhangjiakouzf@yahoo.com.cn 谢谢答复!

  4. coolzsb on 05 Jan 2008 at 12:33 pm

    VMKernel也不过是VMware定制过的linux kernel,只需在lilo或者grub里面设定,这个引导的linux要运行在哪个cpu上、可以使用多少的内存资源都是可以得到控制的。

    所谓的linux,其实指的无非就是kernel而已。

Trackback this Post | Feed on comments to this Post

Leave your Comment

*
To prove that you're not a bot, enter this code
Anti-Spam Image

Related Posts