一. 简介

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. 【BZOJ4888】[TJOI2017]异或和(树状数组)

    [BZOJ4888][TJOI2017]异或和(树状数组) 题面 BZOJ 洛谷 题解 考虑每个位置上的答案,分类讨论这一位是否存在一,值域树状数组维护即可. #include<iostream ...

  2. 【BZOJ 3451】Tyvj1953 Normal 思维题+期望概率+FFT+点分治

    我感觉是很强的一道题……即使我在刷专题,即使我知道这题是fft+点分治,我仍然做不出来……可能是知道是fft+点分治限制了我的思路???(别做梦了,再怎样也想不出来的……)我做这道题的话,一看就想单独 ...

  3. MySQL删除所有表的外键约束、禁用外键约束

    转: MySQL删除所有表的外键约束.禁用外键约束 2017年10月27日 00:11:34 李阿飞 阅读数:4512   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blo ...

  4. Linux 服务器上快速配置阿里巴巴 OPSX NTP服务

    编辑文件 "/etc/ntp.conf",根据情况修改文件内容为: 互联网上的服务器: driftfile /var/lib/ntp/drift pidfile /var/run/ ...

  5. bzoj千题计划254:bzoj2286: [Sdoi2011]消耗战

    http://www.lydsy.com/JudgeOnline/problem.php?id=2286 虚树上树形DP #include<cmath> #include<cstdi ...

  6. 5个经典的javascript面试问题

    问题1:Scope作用范围 考虑下面的代码: (function() {   var a = b = 5;})(); console.log(b); 什么会被打印在控制台上? 回答 上面的代码会打印 ...

  7. JavaScript 计时

    http://www.w3school.com.cn/js/js_timing.asp JavaScript 计时事件 通过使用 JavaScript,我们有能力作到在一个设定的时间间隔之后来执行代码 ...

  8. oracle用户密码过期!the password has expired

    Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月 ...

  9. zabbix user parameters和Loadable modules的使用方法介绍

    目录 需求 实现 原理 前端配置 后端配置 shell实现 python实现 C实现 需求: 采集主机的-/+ buffers/cache  free的数据 实现: 采集/proc/meminfo中的 ...

  10. python垃圾回收三之标记清除

    #第一组循环引用# a = [1,2] b = [3,4] a.append(b) b.append(a) del a ## #第二组循环引用# c = [4,5] d = [5,6] c.appen ...