漫谈虚拟化之一虚拟化综述

漫谈虚拟化之一虚拟化综述

作者:听泉Rit 2018-03-08 16:04:19

云计算

虚拟化 前面咱比较全面的介绍了云计算,趁热打铁,咱们索性把云计算的基础技术 —“虚拟化”展开来聊一下,以便各位小伙伴对云计算有更为完整的认识。

 前面咱比较全面的介绍了云计算,趁热打铁,咱们索性把云计算的基础技术 —“虚拟化”展开来聊一下,以便各位小伙伴对云计算有更为完整的认识。

1. 概述

我们常说云计算是一种按使用量付费的模式,这种模式能够快速的提供可用的、便捷的、按需的网络访问,进入可配置的资源共享池(包括计算、网络、存储、应用和服务),并,用户只需投入很少的管理工作。云计算是将 IT 资源作为一种服务的业务模式,是产业形态,它不是一种具体的技术,云计算通常通过互联网来提供动态易扩展且经常是虚拟化的资源,旨在降低 IT 成本并帮助用户专注于他们的核心业务,而不是让 IT 成为他们的阻碍。

“虚拟化”可以被认为是云计算主要的支撑技术之一。虚拟化将应用程序和数据在不同层次以不同的面貌展现,让用户能够更加便捷的使用、开发及维护这些应用程序及数据。虚拟化不但允许 IT 部门添加、减少移动硬件和软件到它们想要的地方。虚拟化还为组织带来灵活性,从而改善 IT 运维和减少成本支出。

需要注意的是,云计算和虚拟化虽然是密切相关的,但是虚拟化对于云计算来说并不是必须的。云计算将各种 IT 资源以服务的方式通过互联网交付给用户,然而虚拟化本身并不能给用户提供服务。二者可以通过优势互补为用户提供更优质的服务。云计算方案使用虚拟化技术使整个 IT 基础设施的资源部署更灵活。反过来,虚拟化方案也可以引入云计算的理念,为用户提供按需使用的资源和服务。

2. 虚拟化综述

2.1 为什么需要虚拟化

传统 x86 服务器的构架是在每台物理服务器上通过唯一的操作系统(例如 Windows, Linux etc.)进行管理,大多数情况下每个操作系统仅有一个负载。而且,也很难在服务器上运行多个主应用程序,否则可能会产生冲突和性能问题。

这么做会导致服务器资源在大部分时间内的利用率很低。正如前面所讨论的,物理机的大部分性能都被浪费,我们必须在浪费硬件资源和降低运行风险之间寻找平衡。随着业务的增长,随之而来的成本压力也变化,相关管理效率也会变低,需消耗的资源也会变大。

2.2 什么是虚拟化

早期虚拟化(Virtualization)技术最早出现在 20 世纪 60 年代的 IBM 大型机系统中,并在 70 年代的 System 370 系列中逐渐流行起来,这些机器通过一种叫虚拟机监控器(Virtual Machine Monitor,VMM)的程序在物理硬件之上生成许多可以运行独立操作系统软件的虚拟机(Virtual Machine)实例。随着近年多核系统、集群、网格以及云计算的广泛部署,虚拟化技术在商业应用上的优势日益体现,不仅降低了 IT 成本,而且还增强了系统安全性和可靠性,虚拟化的概念也逐渐深入到人们日常的工作与生活中。

虚拟化是一个广义的术语,对于不同的人来说可能意味着不同的东西,这要取决他们所处的环境。在 IT 领域中,虚拟化代表着对计算资源的抽象,而不仅仅局限于虚拟机的概念。例如对物理内存的抽象,产生了虚拟内存技术,使得应用程序认为其自身拥有连续可用的地址空间(Address Space),而实际上,应用程序的代码和数据可能是被分隔成多个碎片页或段),甚至被交换到磁盘、闪存等外部存储器上,即使物理内存不足,应用程序也能顺利执行。

这里,虚拟化 Virtualization 定义包括两层含义:

(1)虚拟化是 IT 资源的逻辑表示,其不受物理限制的约束;

(2)虚拟化技术通过在软件系统中加入虚拟化层,将下层的资源抽象成另一种形式的资源,供给上层应用。

咱们还是通过示意图来理解:

虚拟化的重要目标之一就是提高管理效率,从而降低成本、提高硬件使用率,把管理变得更加轻松。虚拟化的主攻方向集中在控制实体服务器的配置数量,并将物理机上的操作系统及应用程序,无缝转移至虚拟机上,以便集中管理这些不同平台的虚拟环境。

2.3 虚拟化的基本原理

判定一个计算机系统能否被虚拟化,或者说一个能够被称为 VMM 的控制程序,需要满足一下条件:

(1)资源控制:控制程序必须能够管理所有的系统资源。

(2)等价性:在控制程序管理下运行的程序(包括操作系统),除时序和资源可用性之外的行为,应该与没有控制程序时完全一致,且预先编写的特权指令可以自由地执行。

(3)效率性:绝大多数的客户机指令应该由主机硬件直接执行而无需控制程序参与。

由于传统的 x86 体系结构缺乏必要的硬件支持,任何控制程序都无法直接满足上述条件,所以 x86 不是一个可虚拟化架构,但是我们可以使用软件实现的方式构造 VMM。

经典的 CPU 虚拟化方法主要使用“特权解除”(Privilege deprivileging) 和“陷入-模拟”(Trap-and-Emulation) 的方式。即:将 Guest OS 运行在非特权级(特权解除),而将 VMM 运行于最高特权级(完全控制系统资源)。解除了 Guest OS 的特权后,Guest OS 的大部分指令仍可以在硬件上直接运行,只有当执行到特权指令时,才会陷入到 VMM 模拟执行(陷入-模拟)。下面我们更为详细的解释一下这种机制

我们知道虚拟机是对真实计算环境的抽象和模拟,VMM 需要为每个虚拟机分配一套数据结构来管理它们状态,包括虚拟处理器的全套寄存器,物理内存的使用情况,虚拟设备的状态等等。

VMM 调度虚拟机时,将其部分状态恢复到主机系统中。并非所有的状态都需要恢复,例如主机 CR3 寄存器(Control Rigister 控制寄存器,包括 CR0-CR3)中存放的是 VMM 设置的页表物理地址,而不是 Guest OS 设置的值。主机处理器直接运行 Guest OS 的机器指令,由于 Guest OS 运行在低特权级别,当访问主机系统的特权状态(如写 GDT 寄存器)时,权限不足导致主机处理器产生异常,将运行权自动交还给 VMM。此外,外部中断的到来也会导致 VMM 的运行。VMM 可能需要先将 该虚拟机的当前状态写回到状态数据结构中,分析虚拟机被挂起的原因,然后代表 Guest OS 执行相应的特权操作。

最简单的情况,如 Guest OS 对 CR3 寄存器的修改,只需要更新虚拟机的状态数据结构即可。一般而言,大部分情况下,VMM 需要经过复杂的流程才能完成原本简单的操作。最后 VMM 将运行权还给 Guest OS,Guest OS 从上次被中断的地方继续执行,或处理 VMM “塞”入的虚拟中断和异常。这种经典的虚拟机运行方式就是 Trap-And-Emulate,虚拟机对于 Guest OS 完全透明,Guest OS 不需要任何修改,但是 VMM 的设计会比较复杂,系统整体性能受到明显的损害。

3. 虚拟化的基本特征

我们一般认为虚拟化包括四方面的基本特征:

(1)分区:即在单一物理机上同时运行多个虚拟机。

分区意味着虚拟化层拥有为多个虚拟机划分服务器资源的能力;每个虚拟机可以同时运行一个单独的操作系统(相同或不同的操作系统),使得用户能够在一台服务器上运行多个应用程序;每个操作系统只能看到虚拟化层为其提供的“虚拟硬件”(虚拟网卡、CPU、内存等),使它认为运行在自己的专用服务器上。

(2)隔离:在同一物理机上的虚拟机之间是相互隔离的。

这意味着一个虚拟机的崩溃或故障(例如,操作系统故障、应用程序崩溃、驱动程序故障,等等)不会影响同一物理机上的其它虚拟机;

一个虚拟机中的病毒、蠕虫等与其它虚拟机相隔离,就像每个虚拟机都位于单独的物理机上一样;

不但可以进行资源控制以提供性能隔离,可以为每个虚拟机指定最小和最大资源使用量,以确保某个虚拟机不会占用所有资源而使得同一系统中的其它虚拟机无资源可用;

还可以在单一机器上同时运行多个负载/应用程序/操作系统,而不会出现前面提到的,由于传统 x86 服务器体系结构的局限性所导致的那些问题(应用程序冲突、DLL 冲突等)。

(3)封装:整个虚拟机都保存在文件中,可以通过移动文件的方式来迁移该虚拟机。

也就是说整个虚拟机(包括硬件配置、BIOS 配置、内存状态、磁盘状态、CPU 状态)都储存在独立于物理硬件的一组文件中。这样,使用者只需复制几个文件就可以随时随地根据需要复制、保存和移动虚拟机。

(4)相对于硬件独立:无需修改就可以在任何服务器上运行虚拟机。

因为虚拟机运行在虚拟化层之上,所以操作系统只能看到虚拟化层提供的虚拟硬件;而且这些虚拟硬件也同样不必考虑物理服务器的情况;这样,虚拟机就可以在任何 x86 服务器(IBM、Dell、HP 等)上运行而无需进行任何修改。这打破了操作系统和硬件以及应用程序和操作系统/硬件之间的约束,也就是实现了解耦。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/241816.html<

(0)
运维的头像运维
上一篇2025-04-24 12:32
下一篇 2025-04-24 12:33

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注