《KVM实战:原理、进阶与性能调优》学习笔记

本文详细介绍了KVM虚拟化的概念,包括虚拟化技术的实现方式、半虚拟化与全虚拟化的区别,以及Type1和Type2虚拟化。KVM作为一款基于内核的虚拟机,其功能特性包括内存管理、存储和镜像格式、实时迁移等。文章还探讨了KVM的现状,如在Openstack中的主导地位,并展望了未来可能面临的挑战。KVM架构由KVM内核模块和QEMU用户态工具组成,其中vhost-net、Open vSwitch、DPDK等组件在提高性能方面起着关键作用。最后,文章提到了libvirt、virsh、virt-manager等KVM管理工具。
摘要由CSDN通过智能技术生成

虚拟化的定义

虚拟化是一种资源管理技术,它将计算机的各种实体资源(CPU、内存、存储、网络等)予以抽象和转化出来,并提供分割、重新组合,以达到最大化利用物理资源的目的。

为了达到虚拟化,需要引入一个层:VMM(Virtual Machine Monitor)虚拟机监控器,也称为Hypervisor层。它向下掌控实际的物理资源(相当于原本的操作系统);向上呈现给虚拟机N份逻辑的资源。

虚拟化技术的实现方式

主要有软件虚拟化和硬件虚拟化两种。

软件虚拟化,顾名思义,就是通过软件模拟来实现VMM层,通过纯软件的环境来模拟执行客户机里的指令。最纯粹的软件虚拟化实现当属QEMU

硬件虚拟化技术就是指计算机硬件本身提供能力让客户机指令独立执行,而不需要(严格来说是不完全需要)VMM截获重定向。Intel从2005年就开始在其x86 CPU中加入硬件虚拟化的支持——IntelVirtualization Technology,简称Intel VT。

半虚拟化和全虚拟化

让客户机意识到自己是运行在虚拟化环境里,并做相应修改以配合VMM,这就是半虚拟化(Para-Virtualization)。一方面,可以提升性能和简化VMM软件复杂度;另一方面,也不需要太依赖硬件虚拟化的支持。

与半虚拟化相反的,对于全虚拟化(Full Virtualization),客户机操作系统完全不需要改动,所有软件都能在虚拟机中运行。因此,全虚拟化需要模拟出完整的、和物理平台一模一样的平台给客户机,这在达到了第一个目标的同时也增加了虚拟化层(VMM)的复杂度。

Type1和Type2虚拟化

从软件框架的角度上,根据虚拟化层是直接位于硬件之上还是在一个宿主操作系统之上,将虚拟化划分为Typel和Type2。

Type1(类型1)Hypervisor也叫native或bare-metal Hypervisor。这类虚拟化层直接运行在硬件之上,没有所谓的宿主机操作系统。它们直接控制硬件资源以及客户机。典型地如Xen和VMware ESX

Type2(类型2)Hypervisor运行在一个宿主机操作系统之上,如VMwareWorkstation;或系统里,如KVM。这类Hyper

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值