开始使用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
开始使用KVM和QEMU的更多相关文章
- kvm与qemu
载请注明出处: http://www.openext.org/2014/04/kvmqemu/ http://blog.csdn.net/muge0913/article/details/245577 ...
- kvm和qemu交互处理io流程
1.IO虚拟化的分类 (1)全虚拟化:宿主机截获客户机对I/O设备的访问请求,然后通过软件模拟真实的硬件.这种方式对客户机而言非常透明,无需考虑底层硬件的情况,不需要修改操作系统. QEMU模拟I/O ...
- KVM和QEMU简介
KVM/QEMU简介 KVM虚拟机是基于linux内核虚拟化,自linux2.6.20之后就集成在linux的各个主要发行版本中.它使用linux自身的调度器进行管理,所以相对于xen,其核心源码很少 ...
- Linux虚拟化技术KVM、QEMU与libvirt的关系(转)
说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标 ...
- kvm和qemu的关系
KVM (Kernel Virtual Machine) is a Linux kernel module that allows a user space program to utilize th ...
- KVM和QEMU的关系(转载)
From:http://blog.sina.com.cn/s/blog_605f5b4f0102uyjv.html KVM是一种基于CPU硬件辅助的全虚拟化技术,没有CPU硬件虚拟化的支持,KVM无法 ...
- 虚拟化技术xen,kvm,qemu区别
虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些 ...
- KVM通过qemu实现USB重定向
KVM是通过qemu来支持USB设备的,可以在启动的时候就指定需要连接的USB设备,也可以系统启动后动态的添加删除.通过qemu的help可知,使用qemu的usb_add host:xxx:xxx来 ...
- KVM,QEMU,libvirt入门学习笔记【转】
转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...
随机推荐
- 【BZOJ1449】[JSOI2009]球队收益(网络流,费用流)
[BZOJ1449][JSOI2009]球队收益(网络流,费用流) 题面 BZOJ 洛谷 题解 首先对于一支队伍而言,总共进行多少场比赛显然是已知的,假设是\(n_i\)场,那么它的贡献是:\(C_i ...
- Nexus Repository Manager 3(CVE-2019-7238) 远程代码执行漏洞分析和复现
0x00 漏洞背景 Nexus Repository Manager 3是一款软件仓库,可以用来存储和分发Maven,NuGET等软件源仓库.其3.14.0及之前版本中,存在一处基于OrientDB自 ...
- 界面编程之QT的Socket通信20180730
/*******************************************************************************************/ 一.linu ...
- bzoj千题计划283:bzoj4516: [Sdoi2016]生成魔咒(后缀数组)
http://www.lydsy.com/JudgeOnline/problem.php?id=4516 考虑在后面新加一个字母产生的影响 假设是第i个 如果不考虑重复,那么会增加i个不同的字符串 考 ...
- bzoj千题计划227:bzoj1486: [HNOI2009]最小圈
http://www.lydsy.com/JudgeOnline/problem.php?id=1486 二分答案 dfs版spfa判负环 #include<queue> #include ...
- spring+spring mvc+JdbcTemplate 入门小例子
大家使用这个入门时候 最好能够去 搜一下 spring mvc 的 原理,我放一张图到这里,自己琢磨下,后面去学习就容易了 给个链接 (网上一把,千万不能懒) https://www.cnblo ...
- java.uti.Random类nextInt方法中随机数种子为47的奇怪问题
一,问题描述 需要生成一个[0,1]的随机数.即随机生成 0 或者 1.使用java.util.Random类的 nextInt(int)方法,当构造Random类的对象并提供随机数种子时,发现了一个 ...
- JavaScript 获取 flash 对象
关于js获取flash对象,网上有非常多的例子,我也尝试了不少方法. 虽然都能用,但是没有我最想要的东西, 后来看了下百度的,虽然很规范,各种情况都考虑到了,但是代码量却不是不容乐观, 前前后后将近2 ...
- 关于SQL注入,你应该知道的那些事
戴上你的黑帽,现在我们来学习一些关于SQL注入真正有趣的东西.请记住,你们都好好地用这些将要看到的东西,好吗? SQL注入攻击因如下几点而是一种特别有趣的冒险: 1.因为能自动规范输入的框架出现,写出 ...
- Python 入门基础5 --元组、字典、集合
今日目录: 一.元组 二.字典 三.集合 四.后期添加内容 一.元组 1.定义 t1 = () # 参数为for可以循环的对象(可迭代对象) 思考: 如何定义一个只有一个值的元组? ("li ...