Debian7 安装 KVM 虚拟机

KVM 是 kernel-based Virtual Machine 的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用 Linux 自身的调度器进行管理,所以相对于Xen,其性能更加优秀。KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。

libvirt 本身不是一种工具,它是一套免费开源的支持 Linux 下主流虚拟化工具的C函数库,libvirt 起初是专门为 Xen 设计的一种管理 API,后来被扩展为可支持多个虚拟机监控程序。当前主流Linux平台上默认的虚拟化管理工具virt-manager(图形化),virt-install(命令行模式)等均基于 libvirt 开发而成。
废话一大堆啦,以下就是我在 Debian7 系统下,利用 virt-install(命令行模式)安装KVM虚拟系统的全过程记录。
 

一、宿主机简介,与检查是否支持虚拟化技术

查询是否至此虚拟化技术
 

Code example:

如果有输出则说明CPU支持硬件虚拟化,SVM(Secure Virtual Machine)是AMD CPU支持硬件虚拟化的标志,VMX是INTEL CPU支持硬件虚拟化的标志

二、安装所需软件包

Code example:

PS:如果你的宿主机安装有图形界面,推荐你安装图形化管理工具 virt-manager,而且这个工具还支持SSH远程连接(qemu+SSH)。

 

三、配置桥接网卡
虚拟机通过桥接的方式,才更加接近物理环境。配置如下:
 

Code example:

完整的配置文件,编辑/etc/network/interfaces文件增加网络桥,增加的网络桥接口名字为br0,将主机网络接口桥接到此网络桥:

 

使用桥接网络,客户机必须使用主机的一个tap设备将客户机的网络接口连接到主机的网络桥,tap设备可以用两种方式来设置

一种是静态方式,直接把tap设备的配置写道/etc/network/interfaces文件中,并将tap接口加入网络桥,将配置文件43-47行前的注释符#去掉,并将第38行改为如下
bridge_ports bond0 tap0
增加更多的tap接口依次类推

另一种为动态方式,网络配置文件中不写任何tap设备的配置,而由KVM的脚本/etc/kvm/kvm-ifup来动态完成tap接口的创建,以后创建客户机是会提到怎么用。

半虚拟化驱动Virtio

Virtio是KVM/Linux的I/O虚拟化框架,以增强KVM的IO效率,是与其他虚拟化平台的半虚拟化(Paravirtualized)类似的东西,主要应用于磁盘设备和网络接口设备。主流的linux发行版已经默认支持Virtio,如果客户机是linux则无需其他设置,直接可以使用Virtio设备,但是如果客户机是windows,则需要在客户机安装Virtio设备驱动,甚至在windows开始安装之前需要提前加载块设备驱动。

 

 

 

四、配置虚拟机 spice 和 VNC 的监听地址

缺省情况下创建的 vHost,其虚拟桌面仅仅监听 127.0.0.1,不支持远程连接。需要修改配置文件 /etc/libvirt/qemu.conf :

到这里都基本配置好了,重新启动下宿主机吧!然后我们再正式开始创建 vHost。

 

 

五、创建 vHost
创建磁盘,不要纠结选用 raw 还是 qcow2,qcow2 支持快照功能,胜过那么一点点性能需求。
 

Code example:

Code example:

 

六、安装虚拟机的系统
当你创建虚拟机后,虚拟机会立即启动,此时你可以使用 vnc 进行连接了,然后开始安装系统吧,安装系统的步骤和真实主机安装一样,此处就省略啦!
 
VNC连接参数:$宿主机IP:5900
 
什么 VNC 的工具呀? 对于这种问题我不想回答,自己 Google 吧!
 
七、虚拟机的管理
查看虚拟机:
 

Code example:

 

八、磁盘的管理
PS:虚拟机如果失去了快照这个优势,其光芒会大大的失色。
创建一个新磁盘,大小10G,格式为qcow2:
Code example:

 

 

 

查看磁盘文件信息,包括文件格式、大小和存在的快照: 
Code example:

 

 

其它快照命令:

 

如果遇到无法启动提示“权限不足”的问题,请参考libvirt 升级后 无法启动kvm虚拟机权限不足问题如果遇到VNC打开一闪而过的情况,修改一下配置,如图:

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注