本文记录的是在某些机器上并不支持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虚拟化的更多相关文章

  1. KVM+QEMU虚拟化概念

    概念: KVM,即Kernel-basedvirtual machine,由redhat开发,是一种开源.免费的虚拟化技术.对企业来说,是一种可选的虚拟化解决方案. 定义:基于Linux内核的虚拟机 ...

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

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

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

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

  4. kvm与qemu

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

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

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

  6. KVM和QEMU简介

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

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

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

  8. kvm和qemu的关系

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

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

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

  10. KVM虚拟机嵌套虚拟化

    KVM虚拟机嵌套虚拟化 背景介绍 ​ 在Arch linux的 KVM 虚拟机上启动来部署开源Iaas系统zstack时,需要开启虚拟机嵌套虚拟化. 解决 ​ KVM 嵌套式虚拟 Nested 是一个 ...

随机推荐

  1. Java实现两字符串相似度算法

    1.编辑距离 编辑距离:是衡量两个字符串之间差异的度量,它表示将一个字符串转换为另一个字符串所需的最少编辑操作次数(插入.删除.替换). 2.相似度 计算方法可以有多种,其中一种常见的方法是将编辑距离 ...

  2. Qt源码解析——元对象系统热身

    关键词:Qt 源码 QObject QMetaObject 元对象系统 属性 事件 信号 槽 概述 原系列文章地址 官方文档第二章内容就是元对象系统,它在介绍里描述到: Qt的元对象系统提供了信号和槽 ...

  3. java固定窗口大小

    this.setResizable(false);//////frame.setResizable(false)

  4. uni-app小程序项目发布流程

    uni-app小程序项目发布流程开发工具:HbuilderX编辑器.微信小程序开发工具1.小程序开发工具就可以点击发行版本了 2.登录开发者平台配置域名白名单 在开发者设置里完成服务器域名配置(域名白 ...

  5. Redis缓存使用技巧和设计方案?薪火数据知识库

    Redis是一种开源的内存数据库,被广泛应用于缓存系统设计和实现中.它提供了高性能.低延迟的数据访问,并支持多种数据结构和丰富的功能.下面将详细介绍Redis缓存的使用技巧和设计方案. 一.Redis ...

  6. STA分析-复制

    1 静态时序分析(Static Timing Analysis)静态时序分析(Static Timing Analysis):静态执行对于数字设计时序的分析,不依赖于施加在输入端口上的激励,验证设计是 ...

  7. controller加载控制与业务bean加载控制

    1.因功能的不同,如何避免Spring错误加载到SpringMVC的bean--加载Spring控制的bean的时候排除掉SpringMVC控制的bean. package com.itheima.c ...

  8. Nginx的安装与运行

    前言:本文是基于虚拟机上的centOS 7对Nginx的安装,可以使用uname -a查看centOS系统版本,本文用来记录安装nginx的步骤和相关命令,方便日后使用时查看. 去官网https:// ...

  9. Qt+FFmpeg仿VLC接收RTSP流并播放

    关键词:Qt FFmpeg C++ RTSP RTP VLC 内存泄漏 摘要认证 花屏 源码 UDP 本系列原文地址. 下载直接可运行的源码,在原文顶部. 效果 产生RTSP流 比播放文件复杂一点是, ...

  10. 用JS实现简单的屏幕录像机

    本文将介绍如何用JS实现简单的屏幕录像机. 一.录制准备 创建一个按钮 <button id="recording-toggle">Start recording< ...