如何在Debian或Ubuntu上从命令行使用KVM

如题所述

眼下有几种不同的方法可以管理在KVM虚拟机管
理程序上运行的虚拟机。比如说,virt-manager就是一种广受欢迎的基于图形用户界面(GUI)的前端工具,可用来管理虚拟机。不过,如果你想在
无外设服务器上使用KVM,那么基于GUI的解决方案并非理想方案。这时候,virsh就派得上用场。virsh是一种命令行工具,可用于管理来宾虚拟机
(guest
VM)。就其底层而言,virsh依赖libvirtd服务,该服务可以控制几种不同的虚拟机管理程序,其中包括KVM、Xen、QEMU、LXC和
OpenVZ。

如果你想让虚拟机的配置和管理实现自动化,virsh等命令行管理界面也大有用处。此外,virsh支持多种虚拟机管理程序,这就意味着你可以通过同一个virsh界面,管理不同的虚拟机管理程序。

我在本教程中将演示如何在Debian或Ubuntu上使用virsh,从命令行运行KVM。

第一步:证实主机支持硬件虚拟化

作为第一步,证实主机的处理器配备硬件虚拟化扩展机制(比如英特尔VT或AMD-V),KVM需要这样的机制。下面这个命令就能证实一点。

$ egrep '(vmx|svm)' --color /proc/cpuinfo flags : fpu vme de
pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts
mmx fxsr sse sse2
ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts nopl
xtopology tsc_reliable nonstop_tsc aperfmperf pni pclmulqdq vmx ssse3
cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand
hypervisor lahf_lm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi
ept vpid fsgsbase smep

如果输出结果并不含有vmx或svm标记,这意味着主机的处理器没有支持硬件虚拟化的功能。因而,你就无法在主机上使用KVM。证实了主机处理器随带vmx或svm后,接下来继续安装KVM。

第二步:安装KVM

使用apt-get,安装KVM及相关的用户空间工具。

$ sudo apt-get install qemu-kvm libvirt-bin

下一步,将你的用户ID添加到libvirt群组,那样你就能以非root普通用户的身份,管理虚拟机了。作为上面安装KVM的一部分,必须创建libvirt群组。

$ sudo adduser [youruserID] libvirt

重新装入更新后的群组成员信息,如下所示。看到要求输入密码的提示后,输入你的登录密码。

$ exec su -l $USER

这时候,你应该能够以普通用户的身份运行virsh了。为了测试一下,不妨试一试下面这个命令,它会列出可用的虚拟机(目前没有一个虚拟机)。要是你没有遇到权限错误,这意味着到目前为止,一切正常。

$ virsh --connect qemu:///system list Id Name State
温馨提示:答案为网友推荐,仅供参考
相似回答