通过 U 盘安装 VMware ESXi 5.5 的过程及其注意事项
VMware vSphere Hypervisor 是可供小型企业或个人免费使用的虚拟化产品。VMware ESXi 是其重要的组成部分,是一个安装在裸机上的虚拟机管理软件。
可以在 VMware 官网注册并免费下载该软件,通常是一个 ISO 文件,例如当前版本是 VMware-VMvisor-Installer-5.5.0.update01-1623387.x86_64.iso
。将该文件刻录到 CD 或者 DVD,然后就可以使用该 CD 或 DVD 驱动引导系统,安装 VMware ESXi 了。这种方式通常都比较简单,这里不再赘述。
本文主要介绍如何制作一个可启动的 U 盘,并通过该 U 盘引导启动安装 VMware ESXi。
制作可引导的 USB 驱动器
为什么这个过程还值得写下来?因为笔者在这里遇到很多问题,搜索了很多资料,才顺利的做好一个可以引导安装的 U 盘。
首先,在 Windows 下使用 UltraISO 软件制作的可启动 U 盘是无法启动安装的,开机即显示 Initial menu has no LABEL entries!
,搜索显示这个跟什么 syslinux
有关。
其次,在 Windows 下下载 syslinux 包制作启动 U 盘,仍然无法引导,试过 syslinux 6.x 和 4.x 版本,总有这样那样的问题。
最后,老老实实回到官方文档上所使用的 Linux 系统来制作启动盘,才终于成功安装。
以下过程主要参考官方文档《vSphere 安装和设置》中的格式化 USB 闪存驱动器以引导 ESXi 安装或升级章节。
先决条件
- 准备 Linux 系统,笔者使用的是 CentOS 6.2。
- 确保 Linux 中安装了
syslinux
软件包, VMware ESXi 5.5 需要使用 syslinux 版本 3.86 来制作启动 U 盘。笔者直接使用yum install syslinux
来安装 syslinux 软件包,其版本其实是 4.x,这将导致一个问题,在后面会详述。 - 确保 Linux 中包含格式化 fat32 (mkfs.vfat 命令) 的软件,需要
dosfstools
软件包,在 CentOS 中执行yum install dosfstools
即可安装。
步骤
- 如果您的 USB 闪存驱动器未检测为 /dev/sdb,或者您不确定 USB 闪存驱动器是如何检测到的,请确定该闪存驱动器的检测方式。
-
在终端窗口中,运行以下命令。
tail -f /var/log/messages
该命令将在终端窗口中显示当前日志消息。
-
插入 USB 闪存驱动器。该终端窗口将以类似如下消息的格式显示标识 USB 闪存驱动器的若干条消息。
Sep 25 13:25:23 linux kernel:[ 712.447080] sd 3:0:0:0:[sdb] Attached SCSI removable disk
在此示例中,
[sdb]
用于标识 USB 设备。如果您设备的标识方式与此不同,则会使用您设备的标识方式(不带方括号)来替换此处的sdb
。
-
- 在 USB 闪存驱动器上创建分区表。
/sbin/fdisk /dev/sdb
- 键入
d
删除分区,直至将其全部删除。 - 键入
n
创建遍及整个磁盘的主分区1
。 - 键入
t
将 FAT32 文件系统的类型设置为适当的设置,选则c
。 - 键入
a
在分区1
上设置活动标记。 - 键入
p
打印分区表。结果应类似于以下文本:Disk /dev/sdb:2004 MB, 2004877312 bytes 255 heads, 63 sectors/track, 243 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 243 1951866 c W95 FAT32 (LBA)
- 键入 w 写入分区表并退出。
- 键入
- 使用 Fat32 文件系统格式化 USB 闪存驱动器。
/sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
- 运行下列命令(注意命令参数,一个是
sdb1
,一个是sdb
)。syslinux /dev/sdb1 cat /usr/share/syslinux/mbr.bin > /dev/sdb
- 挂载 USB 闪存驱动器。
mkdir /usbdisk mount /dev/sdb1 /usbdisk
- 挂载 ESXi 安装程序 ISO 映像。
mkdir /esxi_cdrom mount -o loop VMware-VMvisor-Installer-5.x.x-XXXXXX.x86_64.iso /esxi_cdrom
- 将 ISO 映像的内容复制到
/usbdisk
。cp -r /esxi_cdrom/* /usbdisk
- 将
isolinux.cfg
文件重命名为syslinux.cfg
。mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
- 在
/usbdisk/syslinux.cfg
文件中,将APPEND -c boot.cfg
一行更改为APPEND -c boot.cfg -p 1
。 - 将 Linux 系统中的 syslinux 下的
menu.c32
文件复制到/usbdisk
(当前 Linux 中安装的 syslinux 版本不是 3.86 时需要执行该步骤,否则跳过该步)。cp /usr/share/syslinux/menu.c32 /usbdisk
- 卸载 USB 闪存驱动器。
umount /usbdisk
- 卸载安装程序 ISO 映像。
umount /esxi_cdrom
现在,USB 闪存驱动器可以引导 ESXi 安装程序了。
注意
- 从第 5 步开始,以下的步骤都可以在 Windows 环境下完成,总结起来就是把 ISO 包中的内容全部复制到 U 盘,然后将
isolinux.cfg
文件重命名为syslinux.cfg
,然后修改syslinux.cfg
的内容,将APPEND -c boot.cfg
一行更改为APPEND -c boot.cfg -p 1
。 - 使用 syslinux 4.x 制作的 U 盘,如果不执行第 10 步,在启动时会报错
menu.c32 not a com32r image
。因为 ISO 包中自带的menu.c32
文件是 syslinux 3.86 版本的。
安装过程
只要制作的引导 U 盘没有问题,安装过程就极为简单。
图文安装过程,可浏览这里。
注意事项
硬件配置必须满足最低条件,否则安装过程会终止。最基本的需求是,必须 4GB 以上内存,必须有一个以上 ESXi 默认支持的网卡。详见官方文档硬件需求章节。
比如,台式机上常用的网卡 Realtek 8168, Realtek 8169, Realtek 8139 等就在默认不支持的行列(据说在 ESXi 5.5 之前的版本中是包含这些驱动的),即 VMware ESXi 5.5 的默认安装包中不包含这些网卡的驱动,在安装过程中也就找不到相应的网卡。
此时,我们就需要定制自己的 ISO,将相应的网卡驱动打进自己的 ISO 包中。
步骤相对比较简单:
- 下载工具 ESXi-Customizer,这个工具专门用于修改 ESXi 的 ISO 包。
- 获取 Realtek 网卡的驱动程序文件,这些文件是 VIB 格式的,可以从 ESXi 5.5 之前版本的 ISO 中解压提取出来,也可以通过以下链接下载(zip文件请解压)。
- 打开 ESXi-Customizer,分别选择原始 ESXi 5.5 ISO 文件,网卡驱动 VIB 文件和将要生成的 ISO 保存路径,点击运行即可。如图。
- 使用新生成的自定义 ISO 文件制作启动盘即可(U 盘,CD, DVD)。如果已经通过前面的步骤制作好了可引导的 U 盘,只需要将新 ISO 包中的所有文件再次复制覆盖到 U 盘即可(注意:不要覆盖 menu.c32 文件)。
Update 2014-10-07
-
在 Windows XP/2003 x86 上安装 VMware vSphere Client 5.5 无法连接 ESXi 5.5 服务器的问题。
出现该问题的原因是新版本 vSphere Cient 中增强了加密强度,而 Windows XP 和 Windows Server 2003 未能达到所需加密强度,64 位的 Windows Server 2003 可以通过安装修复补丁来解决,补丁下载链接 http://support.microsoft.com/kb/948963。而对于 32 位的 Windows Server 2003 和 Windows XP 没有相应的补丁,只能升级操作系统,或者采取以下的方式解决:
通过 SSH 客户端登录到 ESXi 主机(必须先开启主机的 SSH 服务,参考下一条),修改文件
/etc/vmware/rhttpproxy/config.xml
。在vmacore/ssl
节点插入内容<cipherList>ALL</cipherList>
。12345678910...
<
vmacore
>
...
<
ssl
>
...
<
cipherList
>ALL</
cipherList
>
...
</
ssl
>
</
vmacore
>
...
然后保存修改,执行以下命令重启服务:
1/etc/init
.d
/rhttpproxy
restart
当然,稳妥的做法是在修改文件前先备份。
-
开启 ESXi 5.5 主机的 SSH 服务。
登录 vSphere Client,选择要管理的 ESXi 主机,点击
配置
标签页,在左边的菜单中选择安全配置文件
。点击
服务
的属性按钮,在列表中选择SSH
,再点击选项
按钮,在出来的界面中选择与主机一起启动或停止
,并点击启动
按钮立即启动主机的SSH
服务。点击
防火墙
的属性按钮,在SSH 服务器
前打勾,这样就在主机防火墙了开启了 SSH 服务的端口。
Update 2014-10-11
vSphere Client 和 vSphere PowerCLI 可能无法连接到 vCenter Server 5.5,并出现握手错误
安装在 Windows XP 或 Windows Server 2003 主机上之后,vSphere Client 和 vSphere PowerCLI 可能无法连接到 vCenter Server 5.5,并出现握手错误。vSphere 5.5 使用 Open SSL 库,为安全起见,该库会默认配置为仅接受使用强密码套件的连接。在 Windows XP 或 Windows Server 2003 上,vSphere Client 和 vSphere PowerCLI 不使用强密码套件来连接 vCenter Server。服务器端会出现错误 没有匹配的密码套件 (No matching cipher suite),并在 vSphere Client 或 vSphere PowerCLI 端出现握手错误。
解决办法:执行下列操作之一。
-
对于 Windows Server 2003 或 64 位 Windows XP,应用适用于您的平台的 Microsoft 修补程序:
- x64 平台: 351403_ENU_x64_zip.exe
- ia64 平台: 351397_ENU_ia64_zip.exe
- i386 平台: 351385_ENU_i386_zip.exe
-
对于 Windows XP 32 位、Windows XP 64 位或 Windows Server 2003,请执行下列操作之一。
在主机上安装 vSphere Client 或 vSphere PowerCLI 之前,将 Windows 操作系统升级到 Windows Vista 或更高版本。
在 vCenter Server 主机上,通过允许服务器使用弱密码套件进行通信来降低隐含安全性。为此,请在 vCenter Server vpxd.cfg文件中加入以下内容:
12345678910111213<
config
>
...
<
vmacore
>
...
<
ssl
>
...
<
cipherList
>ALL</
cipherList
>
...
</
ssl
>
...
</
vmacore
>
...
</
config
>
更多请参考官方文档。