当前位置:首页 > 虚拟化 > 正文

为什么要提出虚拟化技术(虚拟机为什么要去虚拟化)


一、什么是虚拟化技术,为什么要虚拟化技术?

1.什么是虚拟化?
简单地说,虚拟化是创建某些组件的虚拟(而不是物理)版本的过程。虚拟化可以应用于计算机、操作系统、存储设备、应用程序或网络。然而,服务器虚拟化是虚拟化的核心。当今的x86服务器被设计为一次仅运行一种操作系统和应用程序,这给IT部门带来了挑战。因此,即使是小型数据中心也必须部署大量服务器,而每台服务器的容量利用率只有5%到15%,无论以任何标准衡量,效率都非常低。
虚拟化使用软件来模拟硬件并创建虚拟计算机系统。这允许企业在单个服务器上运行多个虚拟机或多个操作系统和应用程序,从而实现规模经济并提高效率。
2.为什么要虚拟化?
虚拟化技术可以解决很多以前无法解决的技术。
1.服务器整合技术:如果没有虚拟化技术,这项技术很难完成。因为一切都是物理的,所以很难通过相对较少的工作将这两个元素整合起来。然而,随着虚拟化技术的出现,这些服务器整合技术变得非常容易。该技术需要下面介绍的2-3种技术的帮助。
2.负载均衡技术:
负载均衡技术是在每台服务器上安装一个负载均衡器,然后设置一些调度算法和阈值。判断当前服务器的压力是轻还是重。然后根据严重性进行服务器合并,并且合并基于第三种技术。
3.动态迁移技术:该技术基于但不限于前两种技术。其目的是在服务器开启时将虚拟机迁移到另一台服务器。工作原理一般是在目标服务器上模拟服务器的硬件状态,然后迁移数据,最后暴露服务器的信息。
4.克隆技术:这种技术看起来和上面的技术很相似,但又有所不同。复制技术配置服务器环境,使其他机器可以通过复制技术达到与本机相同的效果。如果你想配置100台甚至1000台服务器,这种复制技术是非常令人印象深刻的。与动态迁移的区别在于,当服务器不停止时,动态迁移需要迁移的对象彼此共享内存,而复制则没有这个限制。
5.容灾技术:容灾是每个大型企业都必须考虑的问题。当突然停电、硬件损坏、洪水、地震等一系列意外情况发生时,该怎么办?为了应对灾难,发生的任何数据丢失都会被最小化甚至消除。这就要看第六技能了。
6.虚拟快照技术是一种像照片一样存储虚拟机当前状态的技术,但实现原理一定非常复杂。这些虚拟化技术就是以这种方式存储内存等数据,以便在发生灾难或某些错误导致虚拟机出现问题时可以快速恢复。
7.提高系统可用性。这里可用的是零停机机器。在这种情况下,效率可以最大化。零宕机的前提是每台服务器都必须有镜像。有一条心跳线,用于在心跳线停止时维持两个虚拟机之间的关系。它会立即启动,而不是默认的虚拟机。
8.安全性:硬件层一直到虚拟化都有一个VMM层,始终检测每个虚拟机的移动,包括捕获异常、解决门事件、完成预约等。因此,无论出现什么危险,VMM的存在都可以确保问题能够很快被发现并得到解决。这比操作系统之上的先前硬件层要快得多。


二、虚拟化基本原理

虚拟化:释放服务器资源的革命性技术


虚拟化,这项技术的神奇之处在于,它将物理服务器转变为多租户竞技场,每个租户都是独立的,各自拥有自己的资源。自己的资源有隔离的虚拟机。相关的好处包括显着提高资源利用率、灵活的性能优化、提高业务连续性以及易于操作和维护。主要的虚拟化类型分为类型1(例如VMwarevSphere)和类型2(例如QEMU/KVM)。后者巧妙地在操作系统层面实现了虚拟化,展示了该技术的深度和灵活性。


QEMU/KVM的基石:架构与机制


以QEMU/KVM为例。它的架构就像一个复杂的阶段,模拟CPU、内存和I/O设备。vCPU作为一个“演员”,运行在虚拟阶段,以VMX模式执行GuestOS指令。关键步骤包括CPU状态保存(VMCS)、复杂的存储虚拟化转换(GVA到GPA到GHA)以及智能设备驱动程序处理。主机就像一个控制器,处理来自虚拟设备的请求,无论是通过QEMU仿真还是通过内核和用户空间之间的直接协作。


中断虚拟化路径


中断信号不再直接传输到vCPU,而是通过I/OAdvancedProgrammableInterruptController(I/OAPIC)。在虚拟化过程中,中断虚拟化过程的微调,以保证系统的稳定运行。vCPU作为Hypervisor的执行线程,运行在VMX模式下。对于敏感操作,必须通过VMExit返回到hypervisor进行处理。然后将guest状态加载到VEntry中继续执行。


VMCS:状态转换守护者


在VMExit/Entry过程中,状态信息存储在4KB的VMCS结构中,包括寄存器状态、Host和来宾状态控制以及核心数据,例如执行和退出/入口控制域。该数据容器就像一个复杂的剧本,确保虚拟机在虚拟世界和物理世界之间无缝转换时保持一致。


存储虚拟化:隐藏的向导


在存储虚拟化中,Hypervisor是虚拟存储和所有虚拟访问的幕后控制器。成为分配的物理内存。当CPU处理虚拟地址(HVA)时,基于硬件的MMU将其转换为物理地址(HPA)。在虚拟环境中,地址转换是通过多级页表(如GPT、PML4、PDPT等)和Intel的EPT机制来进行的。TLB的介入提高了效率。然而,EPT管理不当可能会导致性能瓶颈,因此虚拟机管理程序需要仔细规划。


提高I/O虚拟化效率


在I/O虚拟化中,传统软件I/O遇到Intel、AMD引入硬件的瓶颈-设备直通和SR-IOV等辅助技术。前者允许GastOS直接访问设备并接近裸机性能;后者通过虚拟PF和VF设备实现高效的资源共享。Virtio技术通过Virtqueue减少了上下文切换,并将数据传输效率提升到了一个新的水平。用户空间和内核空间的Hypervisor处理方式也进一步简化了数据交换。


中断管理:虚拟环境的新规则


虚拟环境中的中断管理与物理环境中的中断管理不同,由以下系统监控和决定:管理程序。VirtualAPIC和LAPIC的角色已被重新定义。它们在虚拟化中断路由中发着关键作用,确保中断信息的准确传递和处理。


总的来说,虚拟化技术前所未有地改变了服务器的内部运行方式,通过硬件优化和智能机制实现性能提升和资源高效利用。随着虚拟化技术的不断发展,我们可以期待更多的创新和突破,推动计算世界的发展。


三、为什么要选择虚拟化?虚拟化可以提供的优势取决于客户的目标、选择的特定虚拟化技术以及现有的IT基础设施。并非所有客户都能从实施特定的虚拟化解决方案中受益。即使客户现在使用虚拟化进行简单的服务器整合,通常也可以获得以下一些好处:提高资源利用率-虚拟化可以支持物理资源和资源池的动态共享,提高资源利用率,特别是对于平均需求较高的各种负载远低于必须提供的专用资源的数量。降低管理成本——虚拟化可以减少需要管理的物理资源数量,并通过自动化、更好的信息和集中管理简化物理资源的复杂性,从而提高员工效率。此外,虚拟化还可以支持跨多个平台使用通用工具。提高使用灵活性——虚拟化支持动态配置和重新配置资源,以满足不断变化的业务需求。提高安全性——虚拟化可以实现使用更简单的共享机制无法实现的隔离和分区。这些功能可以实现对数据和服务的受控且安全的访问。更高的可用性虚拟化允许删除、更新或更改物理资源,而不影响用户。更高的可扩展性-根据产品的不同,资源分区和聚合可以支持比单个物理资源小得多或大得多的虚拟资源的部署,这意味着您可以在不更改物理资源配置的情况下部署虚拟资源。互操作性和投资保护——虚拟资源可以提供与底层物理资源无法提供的各种接口和协议的兼容性。改进的资源配置–与单个物理资源单元相比,虚拟化可以以更小的单元进行资源分配。
四、请问,为什么采用虚拟技术,可以实现应用服务异地远程迁移?可扩展性、效率等
可扩展性:虚拟化技术可以实现资源的动态扩展和收缩,以满足不同时期的应用需求。当应用程序需求增加时,您可以增加虚拟机数量或扩展物理服务器的性能来满足需求。当应用程序需求减少时,您可以通过减少虚拟机数量或降低物理服务器性能来降低成本。
效率:虚拟化技术允许应用服务在不同物理服务器之间动态负载均衡,提高资源利用率和应用性能。同时,虚拟化技术还可以实现资源的集中管理和监控,降低运维成本。