妖神记免费辅助浅聊著名的云计算虚拟化

更新时间:2024-06-29

如何将有限的计算资源做到共享和按需,发挥其最大的作用并攫取回我们在物理设备所投入的资金?

如何将多个廉价的或老旧设备归集到一起,以发挥他们的剩余价值?

如何将本地的设备共享给千里之外的同事?

云计算概念提出目的亦是包含了要解决这些问题的答案。

目前我们主要依靠虚拟化技术来解决将不可切割的硬件资源抽象和转换成可二次配置的单元,以实现更好的配置现有的计算、存储和网络等资源。可见现今的云计算落地方案基本上依靠于虚拟化技术。

虚拟化技术最早是IBM公司在上世纪60年代末所提出的,当时 IBM 公司为实现多用户对大型计算机同时交互访问而开发的一套被称之为虚拟机监视器(Virtual Machine Monitor 简称为 VMM)的软件。在现在的虚拟化技术中,VMM 是运行在硬件服务器和操作系统中间层的软件,它方便同时有多个相同或不同的操作系统和应用共享底层硬件基础设施。在云计算中常提及的Hypervisor与 VMM 具有相同含义,其实质是一种资源配置的管理技术。

虚拟化根据针对的对象不同还可分为平台虚拟化,应用程序虚拟化,资源虚拟化等。平台虚拟化是针对物理硬件及操作系统层面而言的,根据其实现方式又可分为完全虚拟化、半虚拟化、操作系统级虚拟化以及硬件辅助虚拟化等。

完全虚拟化(Full virtualization简称 FV )

是指虚拟机模拟了完整的底层硬件,使得为原始硬件设计的操作系统或其它系统软件完全不做任何修改就可以在虚拟机中运行。在 CPU 的完全虚拟化实现机制中主要依靠了特权级压缩和二进制翻译(BT)技术等来实现的。

这些技术出现的原因和 CPU 实现机制有很大关联。CPU 对于指令进行了分级处理,对于高敏感指令有单独的执行区域称之为内核态,用户的代码不能直接访问内核态,而这些高敏感代码则需要执行在内核态中,客户操作系统是无法直接访问内核态的,所以需要依靠这些技术来解决客户机的高敏感指令的执行障碍。敏感指令在操作系统和硬件之间被捕捉处理,客户操作系统无需修改,所有软件都能在虚拟机中运行。使用完全虚拟化技术的公司及产品有:IBM CP/CMS,VirtualBox,VMware Workstation,Parallels, QEMU,Hyper-V 等。

Paravirtualization 简称 PV

类似于全虚拟化。它也是使用VMM分享存取底层的硬件,区别在于它的客户操作系统集成了虚拟化方面的代码。也就是说半虚拟化技术需要安装的客户机的操作系统要进行定制。这无疑是让用户使用受到很大的限制。使用该种虚拟化的架构曾有 Xen 等,但现在还使用这种虚拟化技术的已经不多。

操作系统级虚拟化(OS-level virtualization)

也有人称之为容器化,是操作系统自身的一个特性,它允许多个相互隔离的用户空间实例的存在。例如Parallels Virtuozzo Containers、OpenVZ、LXC以及类Unix系统上的chroot,Solaris上的Zone都是使用了该技术。这种虚拟化技术在当前应用还是比较多的,例如当前售卖 VPS 的商家中有部分就是使用的 OpenVZ 的架构;主流的 Docker 是基于 LXC 开发的一种容器工具;Android 手机的双域功能基本上多是基于 LXC 技术实现的。但是这种技术有很大的限制那就是客户机内核版本不能升级,操作系统类型也得和宿主机相同,这让用户对客户机系统和内核的选择受到了很大的限制,如前文所讲它的本质依旧是用户空间实体和组管理。但随着技术的发展,它在轻量化的应用场景上应该也有着不错的前景。

硬件辅助虚拟化(Hardware virtualization)

利用硬件(主要是CPU)辅助处理敏感指令以实现完全虚拟化的功能,客户操作系统无需修改。例如VMware Workstation,Xen,KVM产品或架构都是应用了该技术。当前市场中的几乎所有的主流硬件都是支持硬件辅助虚拟化技术的。VMM 技术的出现,可能要归功于 X86 架构从诞生时带来的问题——不支持虚拟化。

CPU 的演进一直兼容着之前的指令集,在 X86 架构的祖先 Intel 8086 诞生时没有设计虚拟化相关的指令,所以X86 架构在一段时间里都是不支持硬件虚拟化的。直至 Intel 在 2005 年发布了 IVT技术,如果你不细究也可以认为就是 VT-x 。Intel 的 VT-x 技术为 CPU 添加上了虚拟化技术的一个指令集,VT-x有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。

通过按照纯软件虚拟化的要求消除 VMM 代表客户操作系统来听取、中断与执行特定指令的需要,不仅能够有效减少 VMM 干预,还为 VMM 与客户操作系统之间的传输平台控制提供了有力的硬件支持,这样在需要 VMM干预时,将实现更加快速、可靠和安全的切换。对应的 AMD 发布了相应的自家硬件辅助虚拟化技术称之为 AMD-V。

admin