用 VNC 访问 VMware ESXi 虚拟机控制台

在 VMware ESXi 上安装 Minix 以后可以通过 ssh/telnet 来访问 Minix,大部分时候这样做都足够了,但是如果我们想做一些 Minix 内核上的修改和实验就要面临内核和系统编译后启动不了的情况,这个时候就需要直接进入 VMware ESXi 控制台来手动启动备用内核。那么有没有可能像 Xen 那样在虚拟机配置文件中加入 vnc 选项让用户可以通过 vnc 客户端来访问自己的虚拟机终端呢?作为虚拟技术的领导产品 VMware ESXi 4.1 当然也有类似的办法。有了 vnc 的支持以后我们就可以在校内的任意一台电脑或者 SunRay 瘦客户端上登录自己的 Minix 虚拟机了,这样就会非常方便我们的操作系统课程教学和学生的实验,这比以前讨论的 SunRay 在 GDM 里直接启动 VirtualBox 那种连接和使用虚拟机的方法要更好一些。VMware ESXi 提供了免费的图形化客户端工具 VMware vShpere Client,很容易操作,用 vShpere Client 连接 VMware ESXi 后关闭虚拟机,然后按照下面步骤编辑虚拟机的配置文件:

  1. 鼠标右击选择 “Edit settings”;
  2. 选择 “Options” 标签页;
  3. 在 “Advanced” 下选择 “General”;
  4. 点击 “Configuration Parameters” 按钮;
  5. 最后加入如下配置参数:
RemoteDisplay.vnc.enabled = "true"
RemoteDisplay.vnc.password = "vpsee.com"
RemoteDisplay.vnc.port = "5900"

vnc setup on vmware esxi

重新启动虚拟机后就可以通过任意一个 vnc 客户端连上虚拟机的控制台了,这样就可以看到整个系统启动过程,可以自己启动和关闭虚拟机。Minix 3 一般会有2个内核,一个是当前内核,一个是备用内核,当修改编译当前内核失败以后可以用第2个选项(2 Start Custom MINIX 3)启动,非常方便修改和开发内核。关闭 Minix 以后可以通过 menu 命令选择内核:

connect vnc to minix

评论 (6 Comments)

  1. 太方便了!
    谢谢老大提示!

  2. 请教一个关于VMware ESXi的问题,我有一台ESX 3.5i的服务器,运行在Dell 360台式机上,装好后的4个月运行一直没有问题,最近发现Console port连不上,开始的时候怀疑网卡坏了,但排除,console port的IP地址也没有防火墙阻挡,在LAN里都ping不通,VC更连不上,那现在有什么办法能把目前运行在上面的VM整个拷出来呢?谢谢!

  3. @Niko
    可以开启 VMware ESXi 的 ssh 服务,然后登录后用 scp 把镜像文件拷贝出来。

  4. 很实用,非常感谢

  5. 这个方法很好,学习了,天天用ESXi,但是这个方法还没用过

  6. 你好……我想问下,在现在ESXI5.5下可以开启,但要在/ETC/VMWARE/FIREWALL 下VI一个VNC.XML 然后刷新防火墙才可以用,ESXI主机重启之后 这个文件会丢失,ESXI 主机好像装还原一样。每做好一条防火墙规则都会没有……。

发表评论