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,以及资源管理的话题,以后找时间专门说吧。
October 7, 2007 - 10:57 am
Service Console是一个特殊的VM????
请问一下是否有Vmware的官方文档支持这种说法?
以我对ESX的理解:ESX就是构建在一个定制的Linux之上的应用
October 8, 2007 - 1:14 pm
To Coolzsb
[Service Console是一个特殊的VM]是VMware公司官方的说法,是VMware公司的讲师这样讲述的,我记得很清楚:)
这么说的一个确凿的证据就是,Service Console上的代码不是通过CPU直接执行的,而仍旧是通过VMKernel的虚拟调度,当作一个虚拟机(一个特殊的虚拟机)来调度执行的。Service Console永远执行在CPU0上。
October 16, 2007 - 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 谢谢答复!
January 5, 2008 - 12:33 pm
VMKernel也不过是VMware定制过的linux kernel,只需在lilo或者grub里面设定,这个引导的linux要运行在哪个cpu上、可以使用多少的内存资源都是可以得到控制的。
所谓的linux,其实指的无非就是kernel而已。
November 20, 2009 - 6:18 pm
>[Service Console是一个特殊的VM]是VMware公司官方
>的说法,是VMware公司的讲师这样讲述的,我记得很清
>楚:)
>这么说的一个确凿的证据就是,Service Console上的
>代码不是通过CPU直接执行的,而仍旧是通过VMKernel
>的虚拟调度,当作一个虚拟机(一个特殊的虚拟机)来
>调度执行的。Service Console永远执行在CPU0上。 ”
反例,vmware可以只重启sc不影响其他vm吗? 显然不行,那么就证明了这个说法是错误的。