我们已经讲解了 在 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 是否支持虚拟化。更多信息参考接下来的指南。
接下来,安装 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
-
2 Ubuntu-16.04 running
启动一个虚拟机,运行如下命令:
$ sudo virsh start Ubuntu-16.04
或者,也可以使用虚拟机 id 去启动它。
正如在上面的截图所看到的,Ubuntu 16.04 虚拟机的 Id 是 2。因此,启动它时,你也可以像下面一样只指定它的 ID。
$ sudo virsh start 2
重启动一个虚拟机,运行如下命令:
$ sudo virsh reboot Ubuntu-16.04
示例输出:
Domain Ubuntu-16.04 is being rebooted
暂停一个运行中的虚拟机,运行如下命令:
$ sudo virsh suspend Ubuntu-16.04
示例输出:
Domain Ubuntu-16.04 suspended
让一个暂停的虚拟机重新运行,运行如下命令:
$ sudo virsh resume Ubuntu-16.04
示例输出:
Domain Ubuntu-16.04 resumed
关闭一个虚拟机,运行如下命令:
$ sudo virsh shutdown Ubuntu-16.04
示例输出:
Domain Ubuntu-16.04 is being shutdown
完全移除一个虚拟机,运行如下的命令:
$ sudo virsh undefine Ubuntu-16.04
$ sudo virsh destroy Ubuntu-16.04
示例输出:
Domain Ubuntu-16.04 destroyed
关于它的更多选项,建议你去查看 man 手册页:
$ man virsh
今天就到这里吧。开始在你的新的虚拟化环境中玩吧。对于研究和开发者、以及测试目的,KVM 虚拟化将是很好的选择,但它能做的远不止这些。如果你有充足的硬件资源,你可以将它用于大型的生产环境中。如果你还有其它好玩的发现,不要忘记在下面的评论区留下你的高见。
谢谢!
via: https://www.ostechnix.com/setup-headless-virtualization-server-using-kvm-ubuntu/
发表回复