CRM管理平台

NAS文件管理平台

企业邮箱

新闻中心
基础篇-虚拟化技术解密
前面小编已经分享了三篇关于虚拟化的内容,后台看见很多朋友们的私信,感谢大家的支持!今天我们将进一步深入探讨虚拟化技术的相关内容,希望能够为您提供更全面、更深入的理解。通过本次探讨,您将能够了解到更多关于虚拟化技术的基本知识,从而更好地认识和利用这一重要的计算机技术。


一、什么是虚拟化       match

      可以认为是一种对物理资源抽象化,进而形成虚拟化的版本的技术。
在计算机科学中,虚拟化技术(Virtualization)是一种资源管理(优化)技术,将计算机的各种物理资源(e.g. CPU、内存以及磁盘空间、网络适配器等 I/O 设备)予以抽象、转换,然后呈现出来的一个可供分割并任意组合为一个或多个(虚拟)计算机的配置环境。
虚拟化技术打破了计算机内部实体结构间不可切割的障碍,使用户能够以比原本更好的配置方式来应用这些计算机硬件资源。而这些资源的虚拟形式将不受现有架设方式,地域或物理配置所限制。

1.png


二、虚拟化技术分类


全虚拟化(Full virtualization)也称原始虚拟化技术,是使用Hypervisor这种中间软件在虚拟服务器和底层硬件之间建立一个抽象层,这个抽象层在底层起到了中介的作用,用于传递指令。在实现完全虚拟化的过程中,Hypervisor运行在裸硬件上,充当的是主机的操作系统,由Hypervisor管理的虚拟服务器来运行客户端操作系统(Guest OS),ESXI就是通过这种方式实现的。
全虚拟化为客户操作系统提供完整的虚拟平台(包括处理器、内存和外设等虚拟化),这种平台支持运行任何理论上可在真实物理平台上运行的操作系统,并为虚拟机的配置提供了最大程度的灵活性。另外,在全虚拟化平台运行的客户操作系统,可以不做任何修改就可以迁移到任何非虚拟化环境中基于平台上运行。

111.png

半虚拟化(ParaVirtualization)是另一种类似于全虚拟化的技术,它使用Hypervisor分享存取底层的硬件,但是它的Guest操作系统集成了虚拟化方面的代码。该方法无需重新编译或引起陷阱,因为操作系统自身能够与虚拟进程进行很好的协作。

半虚拟化需要Guest操作系统做一些修改,使Guest操作系统意识到自己是处于虚拟化环境的,但是半虚拟化提供了与原操作系统相近的性能。

21.png

硬件辅助虚拟化:
硬件本身支持虚拟化技术,大大提升了虚拟化的性能。如Intel VT、AMD-VT技术,它们在CPU中加入了新的指令集和处理器运行模式,以完成Guest OS对硬件资源的直接调用。通过硬件辅助虚拟化,可提高虚拟机的运行效率和稳定性,减少虚拟机与宿主机之间的干扰,从而实现更加高效的虚拟化工作。
111.png


三、虚拟化体系架构


• 宿主模型(OS-Hosted VMM) 物理服务器上需要安装如Windows、Linux等操作系统,这些传统操作系统并不是为虚拟化而设计的,因此本身并不具备虚拟化功能,所有的虚拟化功能都由VMM来提供。VMM通常是宿主机操作系统独立的内核模块,有些实现中还包括用户态进程,如负责I/O虚拟化的用户态设备模型。VMM通过调用宿主机操作系统的服务来获得资源,实现处理器、内存和I/O设备的虚拟化。
• 虚拟化体系架构-原生架构模型(Hypervisor VMM)• 在原生架构模型(Hypervisor VMM)中,VMM首先可以被看作是一个完备的操作系统,与传统操作系统不同的是,VMM是为虚拟化而设计的,因此其本身就具备虚拟化功能。• 从架构上来看,首先所有的物理资源如处理器、内存和I/O设备等都归于VMM所有,因此,VMM承担着管理物理资源的责任;其次,VMM需要向上提供虚拟机用于运行客户机操作系统,因此,VMM还负责虚拟环境的创建和管理。
•虚拟化体系架构-混合模型(Hybrid VMM)• 混合模型(Hybrid VMM)是上述两种模式的混合体。VMM依然位于最底层,拥有所有的物理资源,包括处理器、内存和I/O设备等。与Hypervisor模型不同的是,VMM会腾让出大部分I/O设备的控制权,将它们交由一个运行在特权虚拟机中的特权操作系统来控制,相应的,VMM虚拟化的职责也会被分担。处理器、内存虚拟化依然由VMM来完成,I/O设备虚拟化则由VMM和特权操作系统共同来完成。



四、开源虚拟化技术推荐



  • 开源虚拟机KVM


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


  • 开源虚拟机Xen


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


  • Linux虚拟化技术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授权。

五、主流服务器虚拟化产品


1. VMware公司的VMware Server、VMware ESX/ESXi Server、VMwareWorkstation和VMware Player。
2. Microsoft公司的Hyper-V、Virtual PC和Virtual Server。
3. IBM公司的PowerVM、zVM。
4. Citrix公司的XenServer。
5. 华为公司的FusionSphere。
6. 开源虚拟化软件Docker、KVM、Xen等。