本文分享自天翼云开发者社区《计算虚拟化软件介绍》,作者:j****n
虚拟化技术是指将一台计算机的硬件资源(CPU、内存、硬盘等)虚拟化为多个虚拟计算机,每个虚拟计算机都可以运行不同的操作系统和应用程序,就好像每个虚拟计算机都是一台独立的计算机一样。虚拟化技术可以提高计算机资源的利用率,降低计算机的成本和维护难度,同时也可以提高计算机的灵活性和可靠性。
VMware 简介
VMware 是一家提供虚拟化软件的公司,其最著名的产品是 VMware Workstation,这是一款能够在 PC 上运行虚拟机的软件。除了 Workstation,VMware 还有许多其他产品,包括 ESXi、vSphere、vCenter 等。这些产品可以帮助用户在服务器上运行虚拟机,从而提高服务器的利用率和资源利用率。
VMware 的优点
VMware 虚拟化技术具有以下优点:
良好的兼容性:VMware 虚拟化软件可以在各种操作系统上运行,包括 Windows、Linux、Mac OS 等。
高性能:VMware 虚拟化软件利用了硬件虚拟化技术,可以实现近乎原生的性能。同时,VMware 还支持直通技术,可以将物理主机上的硬件设备直接分配给虚拟机,进一步提高性能。
管理方便:VMware 提供了一套完整的管理工具,可以帮助用户管理虚拟机、资源、存储等。这些工具可以帮助用户快速部署虚拟机、监控虚拟机的运行状态等。
安全性:VMware 虚拟化技术可以帮助用户隔离不同的应用程序和服务,从而提高安全性。同时,VMware 还支持安全策略的实现,可以保护虚拟机和物理主机的安全。
VMware 的应用场景
VMware 虚拟化技术在企业中应用广泛,可以满足不同场景下的需求,包括:
服务器虚拟化:VMware 可以将一台物理服务器虚拟化为多个虚拟服务器,可以提高服务器利用率和资源利用率。
测试和开发:VMware 可以为测试和开发人员提供虚拟化环境,可以提高测试和开发的效率。
云计算:VMware 可以作为云计算平台的虚拟化技术,为用户提供虚拟机服务。
Xen 虚拟化软件介绍
Xen 是一种开源的虚拟化软件,它最初由剑桥大学的研究者 Ian Pratt 开发。Xen 虚拟化软件最早在 2003 年发布,它是一种裸机虚拟化技术,可以在物理服务器上运行多个虚拟机。Xen 虚拟化软件在开源社区中得到了广泛的应用,已经成为了云计算领域中的重要技术之一。
Xen 的架构
Xen包含三个组件,分别是Hypervisor、Domain0和Domain U,其中Hypervisor负责虚拟化硬件资源,DomainU是客户机操作系统,而Domain0则是负责管理DomainU的Xen 支持半虚拟化和全虚拟化。在半虚拟化中,客户机操作系统需要感知自己是运行在虚拟化环境中,所以需要定制客户机操作系统,穿透 Hypervisor 层。而在全虚拟化中客户机操作系统完全不感知自己处于虚拟化环境中。所以Xen半虚拟化相对于全虚拟化在性能方面要好很多,但由于需要定制操作系统,增加了推广的难度。很多公有云厂商如 AWS 和阿里云起初都是使用Xen 虚拟化方案,但随着硬件性能的提升,以及硬件自身对虚拟化的支持(如 VT-X、EPT、VT-D 等),Xen 的半虚拟化的方案优势并不明显,并且爆发多次严重的系统漏洞后,因此,都逐渐从Xen 切换到日益成熟的KVM 上,给Xen 的未来前景蒙上了阴影。
Xen 的优点
Xen 虚拟化软件具有以下优点:
高性能:Xen 虚拟化软件是一种裸机虚拟化技术,可以实现近乎原生的性能。Xen 还支持直通技术,可以将物理主机上的硬件设备直接分配给虚拟机,进一步提高性能。
安全性:Xen 虚拟化技术具有良好的安全性,可以隔离不同的应用程序和服务,从而提高安全性。Xen 还支持安全策略的实现,可以保护虚拟机和物理主机的安全。
可扩展性:Xen 虚拟化软件可以在同一台物理主机上运行多个虚拟机,可以根据需要动态分配资源。Xen 还支持虚拟机的热迁移和动态调整,可以实现无缝迁移和资源调整。
Xen 的应用场景
Xen 虚拟化技术在云计算领域中应用广泛,可以满足不同场景下的需求,包括:
云计算:Xen 可以作为云计算平台的虚拟化技术,为用户提供虚拟机服务。
服务器虚拟化:Xen 可以将一台物理服务器虚拟化为多个虚拟服务器,可以提高服务器利用率和资源利用率。
测试和开发:Xen 可以为测试和开发人员提供虚拟化环境,可以提高测试和开发的效率。
KVM 简介
KVM(Kernel-based Virtual Machine )直译为基于内核的虚拟机。它是由以色列 Qumranet公司开发的,并在2017 年加人 Liux 2.6 内核。这里有个小插曲,从KVM 的研发不到一年的时间就被加入内核,除了KVM 代码本身是由Avi kivity(不仅是 KVM之父,还主导了云计算设计的操作系统 OSv 的设计和开发)操刀开发的,还有一个重要的原因是当时XEN虚拟化设计直接绕过内核,这让 Linux 的维护者恐慌不已。在 2008 年,Redhat 就收购了Qumranet,并在RHEL6 中用KVM替换Xen,成为默认的虚拟化引擎。
KVM整体架构主要分为两部分,一个是内核 KVM部分,另一个是用户空间的 QEMU。其中,QEMU实际上就是一个模拟器,它可以模拟各种物理硬件,包括 CPU、网卡、显卡等。网上也有通过QEMU在Android 手机上运行 Windows 操作系统但它是一种纯软件方式的实现,性能很低,需要借助 KVM 内核模块提速。
KVM 的优点
KVM 虚拟化技术具有以下优点:
高性能:KVM 利用了硬件虚拟化技术,可以实现近乎原生的性能。KVM 还支持直通技术,可以将物理主机上的硬件设备直接分配给虚拟机,进一步提高性能。
可扩展性:KVM 可以在同一台物理主机上运行多个虚拟机,可以根据需要动态分配资源。KVM 还支持虚拟机的热迁移和动态调整,可以实现无缝迁移和资源调整。
安全性:KVM 虚拟化技术基于 Linux 内核,具有良好的安全性。KVM 支持安全策略的实现,可以保护虚拟机和物理主机的安全。
KVM 的应用场景
KVM 虚拟化技术在云计算领域中应用广泛,可以满足不同场景下的需求,包括:
云计算:KVM 可以作为云计算平台的虚拟化技术,为用户提供虚拟机服务。
服务器虚拟化:KVM 可以将一台物理服务器虚拟化为多个虚拟服务器,可以提高服务器利用率和资源利用率。
测试和开发:KVM 可以为测试和开发人员提供虚拟化环境,可以提高测试和开发的效率。