写点什么

CPU 虚拟化,磁盘虚拟化,内存虚拟化,io 虚拟化

用户头像
hanaper
关注
发布于: 2 小时前
CPU虚拟化,磁盘虚拟化,内存虚拟化,io虚拟化

🪐 虚拟化基础

虚拟化思维导图

🍃 虚拟化分类

🦕 CPU虚拟化

CPU 虚拟化三种实现技术

1. 基于二进制翻译的全虚拟化(Full Virtualization with Binary Translation)

2. 超虚拟化(或者半虚拟化/操作系统辅助虚拟化 Paravirtualization)

3. 硬件辅助的虚拟化

4. CPU的三种虚拟化机制

🦖 内存虚拟化

内存虚拟化思维导图

VMM 内存虚拟化实现方式

  • 软件方式:通过软件实现内存地址的翻译,比如 Shadow page table (影子页表)技术

  • 硬件实现:基于 CPU 的辅助虚拟化功能,比如 AMD 的 NPT 和 Intel 的 EPT 技术

1. 内存虚拟化

2. KVM内存虚拟化

3. 内存虚拟化-shadow实现

4. 内存虚拟化

5. 影子页表技术

6. EPT技术

🐊 IO虚拟化

I/O 虚拟化三种方式

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

  • 半虚拟化:通过前端驱动/后端驱动模拟实现 I/O 虚拟化。客户机中的驱动程序为前端,宿主机提供的与客户机通信的驱动程序为后端。前端驱动将客户机的请求通过与宿主机间的特殊通信机制发送给后端驱动,后端驱动在处理完请求后再发送给物理驱动。

  • IO 透传:直接把物理设备分配给虚拟机使用,这种方式需要硬件平台具备 I/O 透传技术,例如 Intel VT-d 技术。它能获得近乎本地的性能,并且 CPU 开销不高。

1. I/O虚拟化

2. I/O虚拟化三种形式

3. I/O虚拟化基本原理

4. I/O虚拟化面临的问题及解决方案

🦎 存储虚拟化

存储虚拟化结构

1. 块虚拟化

2. 磁盘虚拟化

3. 磁带、磁带驱动器、磁带库虚拟化

4. 文件系统虚拟化

5. 文件/记录虚拟化

6. 基于主机的虚拟化

7. 基于网络的虚拟化

8. 基于存储设备、存储子系统的虚拟化

10. 带外虚拟化

🍀 论文


🌰 开源项目

KVM

KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.ko 提供和虚拟化核心架构和处理器规范模块。使用 KVM 可允许多个包括 Linux 和 Windows 每个虚拟机有私有的硬件,包括网卡、磁盘以及图形适配卡等。

Xen

Xen 是一个开放源代码虚拟机监视器,由剑桥大学开发。它打算在单个计算机上运行多达 100 个满特征的操作系统。操作系统必须进行显式地修改(“移植”)以在 Xen 上运行(但是提供对用户应用的兼容性)。这使得 Xen 无需特殊硬件支持,就能达到高性能的虚拟化。

OpenVZ

OpenVZ 是基于 Linux 内核和作业系统的操作系统级虚拟化技术。OpenVZ 允许物理服务器运行多个操作系统,被称虚拟专用服务器(VPS,Virtual Private Server)或虚拟环境(VE, Virtual Environment)。与 VMware 这种虚拟机和 Xen 这种半虚拟化技 术相比,OpenVZ 的 host OS 和 guest OS 都必需是 Linux(虽然在不同的虚拟环境里可以用不同的 Linux 发行版)。但是,OpenVZ 声称这样做有性能上的优势。根据 OpenVZ 网站的 说法,使用 OpenVZ 与使用独立的服务器相比,性能只会有 1-3%的损失。OpenVZ 是 SWsoft, Inc.公司开发的专有软件 Virtuozzo 的基础。OpenVZ 的授权为 GPLv2。OpenVZ 由两部分组成,一个经修改过的操作系统核心与及用户工具。

VirtualBox

VirtualBox 是一款功能强大的 x86 虚拟机软件,它不仅具有丰富的特色,而且性能也很优异。更可喜的是,VirtualBox 于数日前走向开源,成为了一个发布在 GPL 许可之下的自由软件。

Lguest

Lguest 是由IBM工程师 Rusty Russell(澳大利亚开发者)发起的虚拟化项目,是一个只有 5000 行代码的精简 hypervisor(虚拟机管理程序),它已经包括在最近版本的内核里了。和 KVM 相似,它支持 Intel 和AMD芯片的最新虚拟化技术。但又与 VMware 公司的 ESX Server 不同,在 Lguest 创建的虚拟机里的操作系统知道自己是被虚拟出来的。所以在调用 CPU 周期时它可以直接向真正的硬件发出请求,而不是作为中间媒介而降低了效率,因此这种架构大大提高了效率。Lguest 采用 GPL 授权。

📙 电子书籍

  • 《VMware vSphere4 云操作系统搭建配置入门与实战》.pdf

  • 《VMwareCertifiedProfessionalTest Prep》.pdf

  • 《企业虚拟化实战Vmware篇》.pdf

  • 《精通 VMware vSphere 5 原版》.pdf

  • 《虚拟智慧 VMware vSphere 运维实录》.pdf

发布于: 2 小时前阅读数: 5
用户头像

hanaper

关注

还未添加个人签名 2018.05.07 加入

还未添加个人简介

评论

发布
暂无评论
CPU虚拟化,磁盘虚拟化,内存虚拟化,io虚拟化