我们已经介绍了在Ubuntu18.04无头服务器上配置OracleVirtualBox。在本教程中,我们将讨论如何使用KVM配置无头虚拟化服务器以及如何从远程客户端管理访客系统。大家知道,KVM(Kernel-basedvirtualmachine)是开源的,是Linux上的全虚拟化。使用KVM,我们可以轻松地将任何Linux服务器转换成一个完全虚拟化的环境,并在几分钟内部署不同种类的虚拟机,如GNU/Linux、*BSD、Windows等。使用KVM配置无头虚拟化服务器我在Ubuntu18.04LTS服务器上测试了本指南,但它也应该适用于其他Linux发行版,例如Debian、CentOS、RHEL和ScientificLinux。这种方法非常适合那些想在没有任何图形环境的Linux服务器上配置一个简单的虚拟化环境的人。出于本指南的目的,我将使用两个系统。KVM虚拟化服务器:主机操作系统-Ubuntu18.04LTS最小安装(无GUI)主机操作系统IP地址:192.168.225.22/24客户操作系统(它将在Ubuntu18.04主机上运行):Ubuntu16.04LTS服务器远程桌面客户端:操作系统-ArchLinux安装KVM首先,我们先看看我们的系统是否支持硬件虚拟化。为此,您需要在终端中运行以下命令:$egrep-c'(vmx|svm)'/proc/cpuinfo如果结果为零(0),则表示系统不支持硬件虚拟化,或虚拟化在BIOS更改中被禁用。进入系统BIOS并检查虚拟化选项,然后启用它。如果结果为1或更大,系统将支持硬件虚拟化。但是,在运行上述命令之前,您需要始终在BIOS中启用虚拟化选项。或者,您也可以使用以下命令来验证它。但是为了使用这个命令,你需要先安装KVM。$kvm-okExampleoutput:INFO:/dev/kvmexistsKVMaccelerationcanbeused如果输出是这样的错误,你仍然可以在KVM中运行guest虚拟机,但性能会很差。INFO:YourCPUdoesnotsupportKVMextensionsINFO:要获得更详细的结果,你应该以root身份运行此提示:sudo/usr/sbin/kvm-ok当然,还有其他方法可以检查你的CPU是否支持虚拟化。有关详细信息,请参阅以下指南。如何知道CPU是否支持虚拟化技术(VT)接下来,安装KVM和在Linux中配置虚拟化环境所需的其他软件包。在Ubuntu和其他基于DEB的系统上,运行以下命令:$sudoapt-getinstallqemu-kvmlibvirt-binvirtinstbridge-utilscpu-checker安装KVM后,启动libvertd服务(如果尚未启动):$sudosystemctlenablelibvirtd$sudosystemctlstartlibvirtd创建虚拟机所有虚拟机文件和其他相关文件都存放在/var/lib/libvirt/。ISO映像的默认路径是/var/lib/libvirt/boot/。首先,让我们检查一下是否有虚拟机。要查看可用虚拟机列表,请运行以下命令:$sudovirshlist--all示例输出:IdNameState----------------------------------------------------如上面的截图所示,目前没有可用的虚拟机。现在,让我们创建一个。例如,我们创建一个Ubuntu16.04虚拟机,内存为512MB,CPU内核为1个,硬盘为8GB。$sudovirt-install--nameUbuntu-16.04--ram=512--vcpus=1--cpuhost--hvm--diskpath=/var/lib/libvirt/images/ubuntu-16.04-vm1,size=8--cdrom/var/lib/libvirt/boot/ubuntu-16.04-server-amd64.iso--graphicsvnc请确保/var/lib/libvirt/boot/路径下有Ubuntu16.04的ISO镜像文件,或者上面命令给出的其他路径下有相应的镜像文件。示例输出:WARNING已请求图形但未设置DISPLAY。没有运行virt-viewer。警告没有为来宾启动的控制台,默认为--wait-1Startinginstall...Creatingdomain...|0B00:00:01域安装仍在进行中。正在等待安装完成。域已关闭。继续。域创建已完成。正在重新启动来宾。我们来解释一下上面的命令以及各个选项的作用。--name:此选项定义虚拟机的名称。在我们的例子中,这个虚拟机的名称是Ubuntu-16.04。–ram=512:给虚拟机分配512MB内存。–vcpus=1:表示虚拟机的CPU核数。–cpu主机:通过向来宾系统公开主机CPU配置来优化CPU属性。--hvm:需要完整的硬件虚拟化。–diskpath:虚拟机硬盘的位置和大小。在我们的示例中,我分配了8GB的??硬盘。–cdrom:安装ISO映像的位置。请注意,您必须在此位置实际拥有ISO映像。--graphicsvnc:允许VNC从远程客户端访问虚拟机。使用VNC客户端访问虚拟机现在我们在远程桌面系统上使用SSH登录Ubuntu服务器(虚拟化服务器)如??下图。$sshsk@192.168.225.22其中sk是我的Ubuntu服务器的用户名,192.168.225.22是它的IP地址。运行以下命令找出VNC的端口号。我们需要它来从远程系统访问虚拟机。$sudovirshdumpxmlUbuntu-16.04|grepvnc示例输出:
