不使用kvm的qemu虚拟化

本文记录的是在某些机器上并不支持kvm虚拟化,单纯使用qemu来完成虚拟机的创建和管理。
系统版本:centos 7
qemu版本:4.2
首先说明一下qemu和kvm的关系:
- qemu 是一个模拟器或者说是仿真器,使用qemu能够模拟出虚拟机需要的硬件,比如可以模拟出 cpu ,内存,硬盘,网卡,声卡等设备。所以使用qemu就能够完整的创建出虚拟机,比如使用qemu创建 ubuntu的虚拟机,Centos的虚拟机,甚至是windows的虚拟机。
- 由于qemu是完全软件模拟的,所以在性能上有很大的问题,qemu使用KQEMU这个加速模块来弥补这个缺陷。kqemu一种加速模块,能够让qemu的性能得到一定的提升。在qemu的0.9.1之前主要使用这种方式来完成qemu的提速。(qemu版本目前最高是5.0)
- 在qemu的1.0版本之后就不在使用kqemu,而是使用更为知名的kvm加速,即qemu-kvm加速模块,并且加速效果以及稳定性明显好于kqemu。
- KVM 是硬件辅助的虚拟化技术,主要负责比较繁琐的 CPU 和内存虚拟化,而 Qemu 则负责 I/O 虚拟化,两者合作各自发挥自身的优势,相得益彰。
所以说,qemu和kvm的关系像是医生和护士的关系,医生看病,输液都能搞定,而护士主要负责输液。医生没有护士也能治病,而配备护士帮忙处理一些繁琐的事情能够提高效率。
环境准备
下载qemu安装包
版本选择至少要在2.0以上,不然会有一个报错无法解决。我也是遇到这个问题扰了很大弯路。
wget https://download.qemu.org/qemu-4.2.0.tar.bz2
tar jvxf qemu-4.2.0.tar.bz2
安装必要的包
编译qemu之前要安装必要的库文件,否者会在编译时报错
yum install glib2-devel.x86_64
yum install autoconf automake libtool
yum install pixman-devel.x86_64



编译qemu,生成makefile文件
./configure --enable-debug --enable-vnc --enable-werror

--enable-vnc : 启用vnc
--enable-werror : 编译时将所有的警告当做错误处理
在configure时能够看到开启的特性

如果在这个过程中遇到一些不知道的库文件报错,正确的解决方式是搜索报错的库文件名字,找到可能需要安装的包



make

make install

安装完成
查看命令参数
内存

cpu

安装虚拟机
创建磁盘
qemu-img create -f qcow2 Centos.qcow2 10G

开始安装
qemu-system-x86_64 --enable-kvm -m 2048 -hda Centos.qcow2 -cdrom CentOS-7-x86_64-Minimal-1908.iso

-hda 指定系统的硬盘
-cdrom 指定系统的光盘,即安装盘
qemu启动之后默认使用的vnc连接方式,从输入信息可以看出是监听在5902端口,下面就要使用vmc客户端去连接虚拟机。
下载vncviewer

启动vnc

连接上虚拟机之后就能够开始下一步的安装了,就不再继续下去了。

不使用kvm的qemu虚拟化的更多相关文章
- KVM+QEMU虚拟化概念
概念: KVM,即Kernel-basedvirtual machine,由redhat开发,是一种开源.免费的虚拟化技术.对企业来说,是一种可选的虚拟化解决方案. 定义:基于Linux内核的虚拟机 ...
- Linux虚拟化技术KVM、QEMU与libvirt的关系(转)
说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标 ...
- 虚拟化技术xen,kvm,qemu区别
虚拟化类型 全虚拟化(Full Virtualization) 全虚拟化也成为原始虚拟化技术,该模型使用虚拟机协调guest操作系统和原始硬件,VMM在guest操作系统和裸硬件之间用于工作协调,一些 ...
- 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,其核心源码很少 ...
- KVM,QEMU,libvirt入门学习笔记【转】
转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...
- 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无法 ...
- KVM虚拟机嵌套虚拟化
KVM虚拟机嵌套虚拟化 背景介绍 在Arch linux的 KVM 虚拟机上启动来部署开源Iaas系统zstack时,需要开启虚拟机嵌套虚拟化. 解决 KVM 嵌套式虚拟 Nested 是一个 ...
随机推荐
- command_execution
前置知识 可以通过ping的TTL来判断系统的版本 判断了是Linux之后就使用Linux的连接命令来进行操作 这里直接全局搜索flag相关的文件 linux全局查询文件_linux全局查找某个文件- ...
- Acwing 180. 排书
给定 \(n\) 本书,编号为 1∼n. 在初始状态下,书是任意排列的. 在每一次操作中,可以抽取其中连续的一段,再把这段插入到其他某个位置. 我们的目标状态是把书按照 1∼n 的顺序依次排列. 求最 ...
- Flutter搭建
目录 下载 Flutter SDK 配置 Flutter 环境变量及镜像 检查开发环境 参考 下载 Flutter SDK flutter官网下载:https://flutter.io/sdk-arc ...
- 🔥🔥Java开发者的Python快速进修指南:网络编程及并发编程
今天我们将对网络编程和多线程技术进行讲解,这两者的原理大家都已经了解了,因此我们主要关注的是它们的写法区别.虽然这些区别并不是非常明显,但我们之所以将网络编程和多线程一起讲解,是因为在学习Java的s ...
- 解决Vscode中代码格式化时老换行
问题: 小颖用vscode的格式化代码后发现代码老是换行,有时看起来就很难受,比如下面的: 问度娘后终于弄好啦,记录下,省的以后换电脑了重装了vscode又不会了,主要是百度给的解决方法好几个,但有的 ...
- 【外包杯】【报错】微信小程序 “[app.json 文件内容错误]app.json:未找到[“pages”][0]对应 pages/xx/xx.wxml(或其他)文件” 报错 的简单解决方案(已解决)
问题的解决方案 删除components目录下的uni-link文件夹
- 使用halo快速搭建应用文档中心
背景 之前我写了一篇,用gitbook搭建文档中心,gitbook是一款搭建博客的技术,是静态博客技术,不带后台管理系统.不带数据库,要发文章的话,是通过提供markdown文件,渲染成html,通过 ...
- C语言所有运算符及优先级、结合性
C 语言所有运算符及优先级.结合性 参考:<C Primer Plus 第六版> Tip:有关优先级.结合性的表格在最后面. [1]算数运算符 '+'("加号")(二元 ...
- ML.NET 3.0 增强了深度学习和数据处理能力
.NET团队在 2023.11.28 在博客上正式发布了 ML.NET 3.0::https://devblogs.microsoft.com/dotnet/announcing-ml-net-3-0 ...
- serdes 复制时钟
serdes复制时钟一般指的是,将rx lane的CDR 恢复时钟发送给TX/PLL, 这样rx和tx的时钟频偏就一致,在远端环回时经常用到.RX,TX时钟同频后环回数据就可以畅通发出去,否则RX/T ...