•   前提

  • 查阅VMware的官方文档我们知道,使用esxcli命令只能进行小版本的升级,而不能跨版本来进行升级,例如esxi4升级到esxi5是不被允许的。要进行的升级的版本是:

    VMware-VMvisor-Installer-5.1.0-799733.x86_64也就是ESXi5.1升级到ESXi5.1b

    Note(官方的文档材料):

    使用 vSphere CLI 可以升级、更新或修补 ESXi 5.x 主机。

    无法使用 esxcli 命令将 4.x 版本的 ESX 或 ESXi 主机升级到 ESXi 5.x。要将 4.x 版本的 ESX 或 ESXi 主机升级到 ESXi 5.x,请使用 vSphere Update Manager 或执行交互式或脚本式升级。

  • 实验的环境:
  • ESXi5.1主机:浪潮NF560D2

    客户端Windows Server 2008 R2:Dell台式机

  • 实验步骤:
    1. 使用vSphere Client端登录到ESXi主机上开启主机的SSH和SHEll
  • 使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第1张图片

    点击安全配置文件--》属性:

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第2张图片

    在属性中开启ESXi Shell还有SSH:

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第3张图片

    在防火墙设置中开放SSH的端口:

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第4张图片

     2. 进入后将ESXi510-201212001.zip数据包上传到存储上进行升级使用,数据包是从                 vmware官网上下载的

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第5张图片

    找到相应的升级文件包,放到存储的根目录下

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第6张图片

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第7张图片

3. 这个时候将主机进入维护模式,我们要使用命令进行维护了,所以将主机上的所有虚机都要移到别的主机上。

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第8张图片

4. 打开以后使用SCRT来连接esxi主机

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第9张图片

    输入root和密码之后进入命令行状态:

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第10张图片

已经进入了ESXI5.0的主机里面了,进行esxcli命令升级,这里介绍两个esxcli的使用方法

    esxcli --server=server_name software vib list 进行包查看

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第11张图片

    已经看到了所有的包

5. 下面使用esxcli --server=server_name software vib install --depot=LOCAL_PATH/DEPOT_NAME进行升级

    首先确定我们的包的位置,使用ls命令来查看

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第12张图片

    我们已经看到了的ESXi510-201212001.zip包在这里了,这里就是我们的路径,路径非常重要,如果你路径写的不对就不能正常升级,而且必须是绝对路径不能错!

6. 这里的esxcli software vib install –d=/vmfs/volumes/datastore1是ESXi510-201212001.zip包的存储绝对路径不能少一个/!每一个字母都要敲对!

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第13张图片

7. 出现上面的步骤就升级成功了,重新引导就可以了

    使用命令esxcli升级系统,从ESXi5.1升级到ESXi5.1b_第14张图片

  • 总结:
    • 注意使用esxcli命令的限制,不是所有的升级都是可以使用esxcli来进行updated的,只能进行版本间小幅度的升级系统
    • 部署升级的时候一定要注意绝对路径,就是存储放置升级包的位置,这个如果弄错,那么升级就一定会失败的
    • 最好是确定主机已经是在维护模式了,不然到时候升级的时候就会成里面的运行的VM停止,在生成环境中会造成损失