开始使用KVM和QEMU

一. 简介

Quick Emulator(QEMU) 是QEMU/KVM虚拟化套件中的主要组成部分。 它提供了硬件的虚拟化和处理器的仿真。 QEMU不用运行在内核,它是运行在用户空间的。 QEMU支持下面两部操作模式:

1. 完整的系统仿真:QEMU仿真全部的计算机系统,包括CPU类型和外设。

2. 用户模式的仿真,只是运行在不同架构之上的一个进程。

二. 安装和配置QEMU

1. 本节点使用的编译好的包,但在生产环境中,为了做到各KVM服务器版本统一,建议自己编译。

官方网站下载地址:https://www.qemu.org/download/#source

2. 在ubuntu上更新包的索引。

xiodi@c720132:~$ sudo apt-get update

3. 在unbutu上安装包。

xiodi@c720132:~$ sudo apt-get install –y qemu

4. 在centos 上的安装

[root@c720144 ~]# yum install qemu-kvm

5. 从源码包进行安装

(1)下载源码包

[root@c720144 ~]#cd /usr/src

[root@c720144 src]# wget http://download.qemu-project.org/qemu-2.8.0.tar.xz

(2)解压缩,并进入到该目录下。

[root@c720144 qemu-2.8.0]# tar xvJf qemu-2.8.0.tar.xz && cd qemu-2.8.0

(3)配置和编译源码包。

[root@c720144 qemu-2.8.0]# ./configure

[root@c720144 qemu-2.8.0]# make && make install

三. 使用qemu-img管理磁盘镜像

QEMU支持多种不同的镜像格式和提供了工具去创建和管理。

1. 检查支持镜像的类型。

[root@kvm-1 ~]# qemu-img -h | grep Supported

Supported formats: blkdebug blkreplay blkverify bochs cloop dmg file ftp ftps gluster host_cdrom host_device http https iscsi iser luks nbd null-aio null-co parallels qcow qcow2 qed quorum raw rbd sheepdog ssh vdi vhdx vmdk vpc vvfat vxhs

2. 创建一个raw 镜像,命名为debian.img,有10G大小。

[root@kvm-1 ~]# qemu-img create -f raw debian.img 10G

Formatting 'debian.img', fmt=raw size=10737418240



3. 检查 第2步中创建的镜像

[root@kvm-1 ~]# ls -lah debian.img

-rw-r--r-- 1 root root 10G Jun 29 14:19 debian.img

4. 检查镜像的类型

[root@kvm-1 ~]# file -s debian.img

debian.img: data

5. 获得关于镜像的更详细信息。

[root@kvm-1 ~]# qemu-img info debian.img

image: debian.img

file format: raw

virtual size: 10G (10737418240 bytes)

disk size: 0

6. 关于各镜像的简单描述

  • raw: raw disk image format. 这是默认的格式 ,也 基于文件系统最快的格式 。有个缺点就是支持的功能不是很多。
  • qcow2: 这是一个支持功能最多的格式。比如VM快照,压缩和加密等 。
  • qcow: 这是一个老的QEMU 镜像格式 ,也支持镜像系统的压缩、加密等 。
  • dmg: 这是苹果磁盘镜像格式。 提供了加密保护和压缩,也是在分布式软件中最常 用的。在虚拟机中用的比较少。
  • nbd: 网络块设备 。
  • vdi: 这是oracble virtualbox软件常 使用的格式。
  • vmdk: 这是VMware磁盘镜像类型。
  • vhdx: 这是Hyper-v磁盘镜像类型格式 。

四. 调整镜像大小

1. 获得当前镜像的大小

[root@kvm-1 ~]# qemu-img info debian.img

image: debian.img

file format: raw

virtual size: 10G (10737418240 bytes)

disk size: 0

2. 、对debain.img镜像添加10G空间。

[root@kvm-1 ~]# qemu-img resize -f raw debian.img +10G

Image resized.

3. 检查扩容后的镜像文件

[root@kvm-1 ~]# qemu-img resize -f raw debian.img +10G

Image resized.

[root@kvm-1 ~]# qemu-img info debian.img

image: debian.img

file format: raw

virtual size: 20G (21474836480 bytes)

disk size: 0