一. 简介

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

开始使用KVM和QEMU的更多相关文章

  1. kvm与qemu

    载请注明出处: http://www.openext.org/2014/04/kvmqemu/ http://blog.csdn.net/muge0913/article/details/245577 ...

  2. kvm和qemu交互处理io流程

    1.IO虚拟化的分类 (1)全虚拟化:宿主机截获客户机对I/O设备的访问请求,然后通过软件模拟真实的硬件.这种方式对客户机而言非常透明,无需考虑底层硬件的情况,不需要修改操作系统. QEMU模拟I/O ...

  3. KVM和QEMU简介

    KVM/QEMU简介 KVM虚拟机是基于linux内核虚拟化,自linux2.6.20之后就集成在linux的各个主要发行版本中.它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少 ...

  4. Linux虚拟化技术KVM、QEMU与libvirt的关系(转)

    说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标 ...

  5. kvm和qemu的关系

    KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program to utilize th ...

  6. KVM和QEMU的关系(转载)

    From:http://blog.sina.com.cn/s/blog_605f5b4f0102uyjv.html KVM是一种基于CPU硬件辅助的全虚拟化技术,没有CPU硬件虚拟化的支持,KVM无法 ...

  7. 虚拟化技术xen,kvm,qemu区别

    虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些 ...

  8. KVM通过qemu实现USB重定向

    KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来 ...

  9. KVM,QEMU,libvirt入门学习笔记【转】

    转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...

随机推荐

  1. MT【87】迭代画图

    评:此类题考场上就是取$n=1,2,3$找规律.

  2. 部署kube-prometheus,添加邮件报警

    这个项目出自coreos,已经存在很久了,第一次尝试的时候还很简陋,现在完善了很多. 项目提供了一键部署脚本,跑起来并不难,不过个人感觉要真正掌握并灵活使用并不是很容易. kube version: ...

  3. 【洛谷P1491】集合位置

    题目大意:求给定的一张无向带权图的次短路. 题解:先跑一遍 spfa 求出从起点到终点的最短路,记录路径.接着枚举删边,并重新跑 spfa,统计最小值即可. 至于为什么 dp 做法不行,暂时还不清楚. ...

  4. 【codevs1245】最小的 N 个和

    题目大意:给定两个有 N 个数字的序列,从这两个序列中任取一个数相加,共有 \(N^2\) 个和,求这些和中最小的 N 个. 题解:由于数据量是 10W,必须减少每次选取的决策集合中元素的个数.可以发 ...

  5. 小贾漫谈——Java反射

    一.Class的API 二.测试使用的JavaBean class Admin{ //字段 public String userName; public String pwd; private int ...

  6. JeeSite 4.x 树形结构的表设计和用法

    有些同仁对于 JeeSite 4 中的树表设计不太了解,本应简单的方法就可实现,却写了很多复杂的语句和代码,所以有了这篇文章. 在 JeeSite 4 中的树表设计我还是相对满意的,这种设计比较容易理 ...

  7. Windows bat 学习(高级)

    有一种叫做 Command Processor Extensions 的东西,即命令处理器扩展.他会使命令更加高级,功能更多. 在 cmd 里可以使用 ECHO %CMDEXTVERSION% 查看当 ...

  8. 关于 xcode5 的no matching provisioning profiles found

    CHENYILONG Blog 关于 xcode5 的no matching provisioning prof- about the question in xcode5 "no matc ...

  9. Crypto 模块安装

    crypto模块的目的是为了提供通用的加密和哈希算法. AES是一种常用的对称加密算法,加解密都用同一个密钥.crypto模块提供了AES支持,但是需要自己封装好函数,便于使用 方法一: 1,到 ht ...

  10. hibernate的一对多和多对一关联

    一对一的关联就不写了,一般项目也用不到,如果可以一对一就直接合成一个表了,也不会出现一对一的关系. 本文主要研究一对多的关系. 1.一对多的关系研究: (1)RDB中关系表达:  多的一方创建外键指向 ...