KVM / QEMU:无需 GUI 即可连接到 VM

mac*_*c.1 8 ubuntu debian vnc qemu kvm-virtualization

简短版本(解决方案如下):

我有一台 Windows 电脑。我有一台 Debian 服务器(没有桌面环境)。我有一个通过 KVM/QEMU 在 Debian 服务器上运行的 Ubuntu VM。

问题:如何连接到 Ubuntu VM 并开始安装过程?

长版(解决方案如下):

情况

我对 Linux 有一些经验,但我对 Linux 上的虚拟化很陌生。我想在我的 Debian 服务器上创建多个虚拟机。我通过 ssh 从我的 Windows PC 连接到 Debian 服务器。Debian 服务器没有安装任何桌面环境。我使用了以下教程https://www.howtoforge.com/virtualization-with-kvm-on-a-debian-squeeze-server,但在第 3 步它告诉我安装图形工具 virt-manager。正如预期的那样,我无法通过 ssh 启动 virt-manager。

我如何连接到 VM 并安装操作系统以及 sshd 服务器。我想在初始安装后通过 ssh 连接到我的 VM。

可能的解决方案 A

我发现我可以通过 VNC 连接到虚拟机,一些教程告诉我使用端口转发从 Windows ssh 到 Debian,然后在 Windows 上启动 VNC 客户端。但是它不会连接到 VNC,因为我不知道如何配置 VM 或 virsh 以使用正确的端口。

可能的解决方案 B

这个 Ubuntu 教程展示了一种通过控制台直接连接的方法:https : //help.ubuntu.com/community/KVM/Access 我想使用这种方法,但它需要新贵,我不想卸载我的 systemd-sysv。教程是为 Ubuntu 9.4 制作的

可能的解决方案 C

如果我有一个可以自动运行 sshd 服务器的 Ubuntu.iso,我可以通过 ssh 直接连接到安装程序。但我还没有找到一个或不知道如何创建一个。

解决方案:

我找到了这个问题的解决方案。

  1. 检查 KVM 是否会在系统上运行。你的 CPU 应该支持 vmx 或 svmegrep '(vmx|svm)' --color=always /proc/cpuinfo
  2. 在运行 Debian 的物理机上安装 KVM sudo apt-get install kvm qemu-kvm libvirt-bin virtinst
  3. 测试 virtinst 安装并退出 virsh -c qemu:///system list
  4. 可选:安装 Bridge 接口,谷歌教程在这里。
  5. 从网站wia wget下载iso文件 wget http://link.to.your.linux.distro.iso
  6. 使用以下命令安装新 VMvirt-install --connect qemu:///system --name your_vm_name --memory 512 --cdrom /srv/vmimage/ubuntu-14.04.4-server-amd64.iso --disk size=8 --noautoconsole --os-type linux --accelerate --network=bridge:br0 --hvm --graphics vnc,port=5900,listen=0.0.0.0
    我不是专家,但尝试解释一些选项:--
    disk size=8:将创建一个大小为 8 GB 的磁盘 --network=bridge:br0:VM 将通过网桥访问互联网接口已创建,如果您有 --graphics vnc,port=5900,listen=0.0.0.0:使用 VNC 协议在端口 5900 上显示图形,请用您的网桥名称替换br0

现在你应该看到这样的输出:

Domain installation still in progress. You can reconnect to the console to complete the installation process.
Run Code Online (Sandbox Code Playgroud)
  1. 很好,您的 VM 现在正在运行,您只需要连接到它。切换到你的 Windows 机器(或任何你用来 ssh 到 Debian 服务器的机器)在 Windows 上你需要一些 VNC 工具,我使用了 TightVNC 查看器。安装它。
  2. 你需要一些 ssh shell,我建议在 Windows 下安装 Git Scm。
  3. 在 Windows 上:通过 Git Scm 打开 Shell 并切换到您的 TightVNC 目录。
  4. 现在通过命令打开从 Windows 到 Debian 服务器的端口转发ssh -L 5900:localhost:5900 -N -f yourusername@yourserverip。用 Debian 用户名和 IP 替换 yourusername 和 yourserverip。这将使您的 VNC 查看器可以连接到虚拟机
  5. 现在启动 tvnviewer.exe 并连接到 127.0.0.1:5900。您的新 VM 应该会打开一个新窗口。利润,你做到了:)

dro*_*kie 7

KVM 及其衍生产品在其视频子系统中有一个 VNC 服务器。因此,您必须使用 VNC 客户端(任何来自广泛可用的客户端),使用 VNC 连接配置 KVM VM 机器(我通常通过为程序提供一个--graphics vnc,port=5900,listen=0.0.0.0选项来完成此操作virt-install)并使用它来远程安装您想要的任何操作系统。这是访问“本地控制台”的一般方法。