是骡子是马是拉出来溜溜,通过《KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机》跑一遍,就会对KVM、QEMU-KVM有个大概的认识了。

qemu-kvm已经不单独存在,qemu加上-enable-kvm可以实现同样的功能。

关于不同CPU支持的硬件虚拟化技术,参考Processor_support

Intel: VT-x,在/proc/cpuinfo中对应vmx标识。
AMD:AMD-V,在/proc/cpuinfo中对应svm标识。
ARM:ARMv7-A的A15、A7、A17和ARMv8-A。

查看x86系列CPU支持硬件虚拟化情况:

egrep '(vmx|svm)' /proc/cpuinfo

Ubuntu下QEMU开发环境搭建

开始QEMU-KVM从QEMU fork一个分支开发qemu-kvm,后来都何如QEMU,并且fork的分支停止更新。官方WiKi

git clone git://git.qemu-project.org/qemu.git

  

获取qemu源文件由于此git存在问题,github.com有个QEMU mirror,其他相关bios文件亦可以在里面找到:

git clone https://github.com/qemu/qemu.git
sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev

  

安装编译依赖文件

编译安装QEMU:

mkdir -p bin/debug/native
cd bin/debug/native
../../../configure --enable-debug

配置编译环境

make -j4  

开始编译

sudo make install  

安装

创建磁盘文件:

qemu-img create -o preallocation=metadata -f qcow2 images/centos.qcow2 60G

在虚拟机上安装操作系统:

qemu-system-x86_64 -smp 2 -m 2048 -enable-kvm images/centos.qcow2 -cdrom images/CentOS-7-x86_64-DVD-1611.iso -vnc :1

使用2个CPU,2048M内存,使用KVM虚拟化技术安装CentOS 7,开始安装CentOS。

安装gvncviewer,通过VNC查看界面:

gvncviewer 127.0.0.1:1

输出如下:

Connected to server
Remote desktop size changed to 640x480
Connection initialized
Remote desktop size changed to 720x400
Remote desktop size changed to 1024x768

启动虚拟机:

qemu-system-x86_64 -smp 2 -m 2048 -enable-kvm images/centos.qcow2 -vnc :1

一个简单的启动性能测试

背景:基于Host-Ubuntu Desktop 14.04启动Guest-Ubuntu Server 16.04。

4CPU 1G:

2CPU 2G RAM:

1CPU 1G RAM:

粗看结果貌似RAM不是瓶颈,CPU影响相对比较大一点。这也和systemd的并行启动特定吻合。

关于Linux虚拟化技术KVM的科普 科普一(先用起来!)的更多相关文章

  1. 关于Linux虚拟化技术KVM的科普

    虚拟化技术应用越来越广泛,虚拟化技术需求越来越强劲.KVM.XEN.Docker等比较热门,尤其是KVM技术越来越受欢迎. 基于此背景,了解一下KVM+QEMU就有点必要了. 从网上收集了一些资料进行 ...

  2. 关于Linux虚拟化技术KVM的科普 科普三(From OenHan)

    http://oenhan.com/archives,包括<KVM源代码分析1:基本工作原理>.<KVM源代码分析2:虚拟机的创建与运行>.<KVM源代码分析3:CPU虚 ...

  3. 关于Linux虚拟化技术KVM的科普 科普四(From humjb_1983)

    另一组关于KVM的分析文档,虚拟化相关概念.KVM基本原理和架构一-概念和术语.KVM基本原理和架构二-基本原理.KVM基本原理及架构三-CPU虚拟化.KVM基本原理及架构四-内存虚拟化.KVM基本原 ...

  4. 关于Linux虚拟化技术KVM的科普 科普五(From 世民谈云计算)

    另一位大神写到KVM文章,KVM 介绍(1):简介及安装.KVM 介绍(2):CPU 和内存虚拟化.KVM 介绍(3):I/O 全虚拟化和准虚拟化 [KVM I/O QEMU Full-Virtual ...

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

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

  6. 关于Linux虚拟化技术KVM的科普 科普二(KVM虚拟机代码揭秘)

    代码分析文章<KVM虚拟机代码揭秘--QEMU代码结构分析>.<KVM虚拟机代码揭秘--中断虚拟化>.<KVM虚拟机代码揭秘--设备IO虚拟化>.<KVM虚拟 ...

  7. Linux的桌面虚拟化技术KVM(五)——virsh常用命令

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 Linux的桌面虚 ...

  8. Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格 ...

  9. Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照

    Linux的桌面虚拟化技术KVM(一)——新建KVM虚拟机 Linux的桌面虚拟化技术KVM(二)——远程桌面管理 (1).KVM虚拟机克隆 KVM虚拟克隆命令virt-clone [选项] 常用选项 ...

随机推荐

  1. Android官方技术文档翻译——开发工具的构建概述

    本文译自Android官方技术文档<Build Overview>,原文地址:http://tools.android.com/build. 因为<Android Lint Chec ...

  2. infiniDB在linux下完成倒库

    在网看到自己的文章被四处烂用,经常搜到自己的文章.关键是,你能把我头像删除了不,有本事,你 把网址也给出http://blog.csdn.net/longshenlmj/article/details ...

  3. /etc/fstab文件分析(第二版)

    /etc/fstab文件分析 前面说新建的分区在系统重启之后就会失效,要想永久生效,需要将其写入/etc/fstab文件 一./etc/fstab文件格式:6个组成部分 物理分区名/卷标 挂载点 文件 ...

  4. 【Android 应用开发】OpenGL ES 2.0 -- 制作 3D 彩色旋转三角形 - 顶点着色器 片元着色器 使用详解

    最近开始关注OpenGL ES 2.0 这是真正意义上的理解的第一个3D程序 , 从零开始学习 . 案例下载地址 : http://download.csdn.net/detail/han120201 ...

  5. sql记录去重(SQL查询或者删除表中重复记录)

    .查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select*from people where peopleIdin (select peopleIdfrom peopl ...

  6. The 16th tip of DB Query Analyzer

                   The 16th tip of DB Query Analyzer      ---- SQL Schedule will be executed even DBMS h ...

  7. OpenCV分通道显示图片,灰度,融合,直方图,彩色直方图

    代码有参考跟整合:没有一一列出出处 // split_rgb.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <io ...

  8. iOS监听模式系列之本地通知Notification

    本地通知 本地通知是由本地应用触发的,它是基于时间行为的一种通知形式,例如闹钟定时.待办事项提醒,又或者一个应用在一段时候后不使用通常会提示用户使用此应用等都是本地通知.创建一个本地通知通常分为以下几 ...

  9. ubuntu12.04:Tomcat 7服务器:手动安装

    1.下载tomcat7.0.34. 网址:http://tomcat.apache.org/ 2.下载的文件解压在下载: 进入目录: cd /usr/local 创建目录 : sudo mkdir d ...

  10. oracle 随机数(转载)

    http://blog.sina.com.cn/s/blog_6a01140c0100wimi.html 1.从表中随机取记录 select * from (select * from staff o ...