通过SSH远程安装基于KVM的Windows 2008,无graphics的Ubuntu 10.04服务器?

我有一台以Ubuntu 10.04为主机的远程数据中心的戴尔服务器。 这是使用必要的虚拟化软件包的最小安装。 没有X,机器是无头的。

我有机器上的win2008 DVD,并想远程安装它。 我试过了:

virt-install --connect qemu:///system -n vmwin2k8 -r 1024 --disk path=server2k8.qcow2,size=50 --cdrom /dev/sr0 --vnc --noautoconsole --os-type windows --os-variant win2k8 
  • qcow2图像被创build; 但是,我不明白如何连接通过VNC查看安装。

这是我第一次这样做,所以这可能是微不足道的,也可能是不可能的。

远程我有一个Win 7的机器与腻子和RealVNC查看器。

VNC的graphics输出在哪里? 我必须在主机或其他机器上运行VNC服务器,然后从我的VNC客户端连接到它吗?

请让我知道或指向正确的方向。 我一直在网上search几天,以弄清楚这应该如何工作。

谢谢!

我还有一台作为KVM主机在远程数据中心运行的无头服务器。 当试图跟踪客人的不断变化的VNC端口时,我很快就恼火了。 我的解决scheme是设置一个桌面环境的vncserver(在我的情况下是GNOME)并安装virt-manager来处理虚拟机。 这是一个更简单的方法来pipe理客人恕我直言。 我使用CentOS Wiki中的这个howto来设置VNC服务器,这个方法在Ubuntu上应该是类似的。

如果你不想这样做,只想让它与virt-install一起工作,首先你必须弄清楚guest virt-install VNC服务器运行在哪个端口上。 nmap是一种在服务器上查找端口的快速方法:

 $ nmap -p 5900-5910 localhost 

您也可以像Joris说的那样指定端口,但是如果您有其他的客户正在运行,请确保您select了一个空闲的端口。

一旦你知道了portnumber,你可以创build一个从你的桌面系统到服务器的SSH隧道,如下所示:

 $ ssh -c blowfish-cbc -N -L 5905:localhost:5905 User@HostIP 

您现在有一个隧道,它将桌面计算机上的端口5905与服务器上的端口5905进行映射。 您现在应该可以使用任何VNC客户端连接到桌面系统上的localhost:5(或localhost:5905),并在服务器上访问:5。

我不知道如果在vnc之后没有指定显示会发生什么情况。 运行-vnc 127.0.0.1:0可能会更好

然后,VNC显示器将在127.0.0.1 IP的默认端口(5900)上等待您。

你可以指定一个公共IP,但是你需要防火墙,或绑定到本地主机,并执行SSH隧道魔术。 Afaik vnc连接没有被authentication ,并且有很多扫描背景stream量正在进行,脚本小子可能会在几分钟内find它。

编辑:另外,libvirt会为你做这个,你应该检查出一些优秀的pipe理工具。