ubuntu kvm配置nat如何实现?向日葵控控好用吗?

向日葵|2019-02-25

我们已经讲解了 在 Ubuntu 18.04 无头服务器上配置 Oracle VirtualBox 。在本教程中,我们将讨论如何使用 KVM 去配置无头虚拟化服务器,以及如何从一个远程客户端去管理访客系统。正如你所知道的,KVM(Kernel-based virtual machine)是开源的,是 Linux 上的全虚拟化。使用 KVM,我们可以在几分钟之内,很轻松地将任意 Linux 服务器转换到一个完全的虚拟化环境中,以及部署不同种类的虚拟机,比如 GNU/Linux、*BSD、Windows 等等。

使用 KVM 配置无头虚拟化服务器


我在 Ubuntu 18.04 LTS 服务器上测试了本指南,但是它在其它的 Linux 发行版上也可以使用,比如,Debian、CentOS、RHEL 以及 Scientific Linux。这个方法完全适合哪些希望在没有任何图形环境的 Linux 服务器上,去配置一个简单的虚拟化环境。

基于本指南的目的,我将使用两个系统。

KVM 虚拟化服务器:

宿主机操作系统 – 最小化安装的 Ubuntu 18.04 LTS(没有 GUI)
宿主机操作系统的 IP 地址:192.168.225.22/24
访客操作系统(它将运行在 Ubuntu 18.04 的宿主机上):Ubuntu 16.04 LTS server
远程桌面客户端:

操作系统 – Arch Linux
安装 KVM
首先,我们先检查一下我们的系统是否支持硬件虚拟化。为此,需要在终端中运行如下的命令:

$ egrep -c '(vmx|svm)' /proc/cpuinfo

假如结果是 zero (0),说明系统不支持硬件虚拟化,或者在 BIOS 中禁用了虚拟化。进入你的系统 BIOS 并检查虚拟化选项,然后启用它。

假如结果是 1 或者 更大的数,说明系统将支持硬件虚拟化。然而,在你运行上面的命令之前,你需要始终保持 BIOS 中的虚拟化选项是启用的。

或者,你也可以使用如下的命令去验证它。但是为了使用这个命令你需要先安装 KVM。

$ kvm-ok

示例输出:

INFO: /dev/kvm exists

KVM acceleration can be used

如果输出的是如下这样的错误,你仍然可以在 KVM 中运行访客虚拟机,但是它的性能将非常差。

INFO: Your CPU does not support KVM extensions

INFO: For more detailed results, you should run this as root

HINT: sudo /usr/sbin/kvm-ok

当然,还有其它的方法来检查你的 CPU 是否支持虚拟化。更多信息参考接下来的指南。

如何知道 CPU 是否支持虚拟技术(VT)
接下来,安装 KVM 和在 Linux 中配置虚拟化环境所需要的其它包。

在 Ubuntu 和其它基于 DEB 的系统上,运行如下命令:

$ sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker

KVM 安装完成后,启动 libvertd 服务(如果它没有启动的话):

$ sudo systemctl enable libvirtd

$ sudo systemctl start libvirtd

创建虚拟机
所有的虚拟机文件和其它的相关文件都保存在 /var/lib/libvirt/ 下。ISO 镜像的默认路径是 /var/lib/libvirt/boot/。

首先,我们先检查一下是否有虚拟机。查看可用的虚拟机列表,运行如下的命令:

$ sudo virsh list --all

示例输出:

Id Name State

在 Ubuntu 18.04 LTS 上使用 KVM 配置无头虚拟化服务器

正如上面的截屏,现在没有可用的虚拟机。

现在,我们来创建一个。

例如,我们来创建一个有 512 MB 内存、1 个 CPU 核心、8 GB 硬盘的 Ubuntu 16.04 虚拟机。

$ sudo virt-install --name Ubuntu-16.04 --ram=512 --vcpus=1 --cpu host --hvm --disk path=/var/lib/libvirt/images/ubuntu-16.04-vm1,size=8 --cdrom /var/lib/libvirt/boot/ubuntu-16.04-server-amd64.iso --graphics vnc

请确保在路径 /var/lib/libvirt/boot/ 中有一个 Ubuntu 16.04 的 ISO 镜像文件,或者在上面命令中给定的其它路径中有相应的镜像文件。

示例输出:

WARNING Graphics requested but DISPLAY is not set. Not running virt-viewer.

WARNING No console to launch for the guest, defaulting to --wait -1

Starting install...

Creating domain... | 0 B 00:00:01

Domain installation still in progress. Waiting for installation to complete.

Domain has shutdown. Continuing.

Domain creation completed.

Restarting guest.

在 Ubuntu 18.04 LTS 上使用 KVM 配置无头虚拟化服务器

我们来分别讲解以上的命令和看到的每个选项的作用。

–name:这个选项定义虚拟机名字。在我们的案例中,这个虚拟机的名字是 Ubuntu-16.04。
–ram=512:给虚拟机分配 512MB 内存。
–vcpus=1:指明虚拟机中 CPU 核心的数量。
–cpu host:通过暴露宿主机 CPU 的配置给访客系统来优化 CPU 属性。
–hvm:要求完整的硬件虚拟化。
–disk path:虚拟机硬盘的位置和大小。在我们的示例中,我分配了 8GB 的硬盘。
–cdrom:安装 ISO 镜像的位置。请注意你必须在这个位置真的有一个 ISO 镜像。
–graphics vnc:允许 VNC 从远程客户端访问虚拟机。

向日葵控控A2”目前具有远程桌面和远程监控的功能,可通过移动端、web端、PC端远程控制异地主机。它区别于软件的优势在于,以物理性远程的手段,完全脱离主机和系统的限制,适配所有系统,甚至Windows CE、DOS等,以及各种有视频输出与USB控制输入接口的设备,如智能电脑、广告机等。即使主机屏蓝屏、死机、断网,都能直达Bios界面控制操作。并且,支持1920*1080高清分辨率,即插即用,傻瓜式操作。升级后的向日葵控控,连接一个支持热键切换的KVM切换器,组成多口IPKVM,还能控制多台主机,可以满足更多使用场景。这样,无论家庭,还是企业,尤其是机房、实验室等需要维护、监控局域网多台主机的时候,控控都有用武之地。