怎样在 ubuntu 和 debian 中通过命令行管理 KVM
| 2016-02-28 20:03:39 评论: 3
有很多不同的方式去管理运行在 KVM 管理程序上的虚拟机。例如,virt-manager 就是一个流行的基于图形界面的前端虚拟机管理工具。然而,如果你想要在没有图形窗口的服务器环境下使用 KVM ,那么基于图形界面的解决方案显然是行不通的。事实上,你可以单纯使用包装了 kvm 命令行脚本的命令行来管理 KVM 虚拟机。作为替代方案,你可以使用 virsh 这个容易使用的命令行程序来管理客户虚拟机。在 virsh 中,它通过和 libvirtd 服务通信来达到控制虚拟机的目的,而 libvirtd 可以控制多个不同的虚拟机管理器,包括 KVM,Xen,QEMU,LXC 和 OpenVZ。
当你想要对虚拟机的前期准备和后期管理实现自动化操作时,像 virsh 这样的命令行管理工具是非常有用的。同样,virsh 支持多个管理器也就意味着你可以通过相同的 virsh 接口去管理不同的虚拟机管理器。
在这篇文章中,我会示范怎样在 ubuntu 和 debian 上通过使用 virsh 命令行去运行 KVM。
第一步:确认你的硬件平台支持虚拟化
第一步,首先要确认你的 CPU 支持硬件虚拟化扩展(e.g.,Intel VT 或者 AMD-V),这是 KVM 对硬件的要求。下面的命令可以检查硬件是否支持虚拟化。
$ egrep '(vmx|svm)' --color /proc/cpuinfo
如果在输出中不包含 vmx 或者 svm 标识,那么就意味着你的 cpu 不支持硬件虚拟化。因此你不能在你的机器上使用 KVM 。确认了 cpu 支持 vmx 或者 svm 之后,接下来开始安装 KVM。
对于 KVM 来说,它不要求运行在拥有 64 位内核系统的主机上,但是通常我们会推荐在 64 位系统的主机上面运行 KVM。
第二步:安装KVM
使用 apt-get
安装 KVM 和相关的用户空间工具。
$ sudo apt-get install qemu-kvm libvirt-bin
安装期间,libvirtd 用户组(在 debian 上是 libvirtd-qemu 用户组)将会被创建,并且你的用户 id 将会被自动添加到该组中。这样做的目的是让你可以以一个普通用户而不是 root 用户的身份去管理虚拟机。你可以使用 id
命令来确认这一点,下面将会告诉你怎么去显示你的组 id:
$ id <your-userID>
如果因为某些原因,libvirt(在 debian 中是 libvirt-qemu)没有在你的组 id 中被找到,你也可以手动将你自己添加到对应的组中,如下所示:
在 ubuntu 上:
$ sudo adduser [youruserID] libvirtd
在 debian 上:
$ sudo adduser [youruserID] libvirt-qemu
按照如下命令重新载入更新后的组成员关系。如果要求输入密码,那么输入你的登陆密码即可。
$ exec su -l $USER
这时,你应该可以以普通用户的身份去执行 virsh 了。做一个如下所示的测试,这个命令将会以列表的形式列出可用的虚拟机(当前的列表是空的)。如果你没有遇到权限问题,那意味着到目前为止一切都是正常的。
$ virsh list
- 来自四川成都的 Chrome 48.0|GNU/Linux 用户 2016-02-29 17:05
- 为什么一定要关闭网络管理器(NetworkManager)?分明可以不用关闭。
- 来自广东的 Firefox 44.0|Ubuntu 用户 2016-02-29 08:27
- 我记得我以前也是创建30GB,就是因为它并不一开始就初始化这么大的。导致我安装系统时,只能被识别到10G的硬盘空间
- 来自广东的 Firefox 44.0|Ubuntu 用户 2016-02-29 08:26
- ##使用 qcow2 格式的磁盘镜像的好处就是它在创建之初并不会给它分配全部大小磁盘容量(这里是 10 GB),而是随着虚拟机中文件的增加而逐渐增大。因此,它对空间的使用更加有效。##