通过 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 即可安装。

步骤

  1. 如果您的 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

  2. 在 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 写入分区表并退出。
  3. 使用 Fat32 文件系统格式化 USB 闪存驱动器。
    /sbin/mkfs.vfat -F 32 -n USB /dev/sdb1
    
  4. 运行下列命令(注意命令参数,一个是 sdb1,一个是 sdb)。
    syslinux /dev/sdb1
    cat /usr/share/syslinux/mbr.bin > /dev/sdb
    
  5. 挂载 USB 闪存驱动器。
    mkdir /usbdisk
    mount /dev/sdb1 /usbdisk
    
  6. 挂载 ESXi 安装程序 ISO 映像。
    mkdir /esxi_cdrom
    mount -o loop VMware-VMvisor-Installer-5.x.x-XXXXXX.x86_64.iso /esxi_cdrom
    
  7. 将 ISO 映像的内容复制到 /usbdisk
    cp -r /esxi_cdrom/* /usbdisk
    
  8. 将 isolinux.cfg 文件重命名为 syslinux.cfg
    mv /usbdisk/isolinux.cfg /usbdisk/syslinux.cfg
    
  9. 在 /usbdisk/syslinux.cfg 文件中,将 APPEND -c boot.cfg 一行更改为 APPEND -c boot.cfg -p 1
  10. 将 Linux 系统中的 syslinux 下的 menu.c32 文件复制到 /usbdisk(当前 Linux 中安装的 syslinux 版本不是 3.86 时需要执行该步骤,否则跳过该步)。
    cp /usr/share/syslinux/menu.c32 /usbdisk
    
  11. 卸载 USB 闪存驱动器。
    umount /usbdisk
    
  12. 卸载安装程序 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 包中。

步骤相对比较简单:

  1. 下载工具 ESXi-Customizer,这个工具专门用于修改 ESXi 的 ISO 包。
  2. 获取 Realtek 网卡的驱动程序文件,这些文件是 VIB 格式的,可以从 ESXi 5.5 之前版本的 ISO 中解压提取出来,也可以通过以下链接下载(zip文件请解压)。
  3. 打开 ESXi-Customizer,分别选择原始 ESXi 5.5 ISO 文件,网卡驱动 VIB 文件和将要生成的 ISO 保存路径,点击运行即可。如图。ESXi-Customizer
  4. 使用新生成的自定义 ISO 文件制作启动盘即可(U 盘,CD, DVD)。如果已经通过前面的步骤制作好了可引导的 U 盘,只需要将新 ISO 包中的所有文件再次复制覆盖到 U 盘即可(注意:不要覆盖 menu.c32 文件)。

Update 2014-10-07

  1. 在 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>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ...
    <vmacore>
       ...
       <ssl>
           ...
           <cipherList>ALL</cipherList>
           ...
       </ssl>
    </vmacore>
    ...

    然后保存修改,执行以下命令重启服务:

    1
    /etc/init.d/rhttpproxy restart

    当然,稳妥的做法是在修改文件前先备份。

  2. 开启 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 修补程序:

  • 对于 Windows XP 32 位、Windows XP 64 位或 Windows Server 2003,请执行下列操作之一。

    在主机上安装 vSphere Client 或 vSphere PowerCLI 之前,将 Windows 操作系统升级到 Windows Vista 或更高版本。

    在 vCenter Server 主机上,通过允许服务器使用弱密码套件进行通信来降低隐含安全性。为此,请在 vCenter Server vpxd.cfg文件中加入以下内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <config>
    ...
        <vmacore>
            ...
            <ssl>
                ...
                <cipherList>ALL</cipherList>
            ...
            </ssl>
        ...
        </vmacore>
    ...
    </config>

更多请参考官方文档

posted @ 2019-02-16 01:28  天天向上2000  阅读(1244)  评论(0编辑  收藏  举报