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

全虚拟化与半虚拟化的优缺点


一、虚拟化软件的优缺点有哪些

1.虚拟机的优点

1.快速执行,随时增减。

2.自助升级配置,添加IP、带宽等功能,升级过程无需停机。

3.您可以进行自助软/硬重启,一键配置FTP、IIS等。

4.实时查看资源、流量、流程、服务的运行状态。

5.拥有主机完全管理员或root权限,可以对系统进行个性化设置,自由安装应用软件和程序,部署各种互联网应用。

2.虚拟机的缺点

1.

2.软件支持较差。

3.硬盘的读写速度极慢。



虚拟机的工作原理

虚拟化技术允许系统在多个虚拟环境之间共享。虚拟机管理程序管理硬件并将物理资源与虚拟环境分开。将物理环境中的资源根据需要进行分区,分配给虚拟机使用。

当虚拟机运行时,用户或程序发出需要物理环境更多资源的指令时,虚拟机管理程序会调度来自物理系统的资源请求,以便虚拟机的操作系统和应用程序可以这样做访问它们。共享物理资源池。


二、虚拟化技术中KVM,Xen,Qemu的区别和联系

虚拟化的类型

全虚拟化(Fullvirtualization)

全虚拟化也成为了最初的虚拟化技术,这种模式使用虚拟机来协调来宾操作系统和本机硬件,VMM为了协调来宾操作系统和裸硬件之间的工作,虚拟机管理程序必须捕获并处理一些受保护的指令。

图1全虚拟化模型

全虚拟化运行速度比硬件模拟快,但性能不如裸机,因为hypervisor需要占用一些空间资源

半虚拟化

半虚拟化是另一种类似于全虚拟化的技术。它使用虚拟机管理程序来分离对底层硬件的访问,但其客户操作系统集成了虚拟化代码。这种方法不需要重新编译或陷阱,因为操作系统本身可以很好地处理虚拟进程。

图2半虚拟化模型

半虚拟化要求来宾操作系统进行一些修改,以使来宾操作系统了解其处于虚拟化环境中。是的,但是半虚拟化提供了与原始操作系统类似的性能。

虚拟化技术

基于内核的KVM(Kernel-basedVirtualMachine)

KVM是内置于Linux内核的Hypervisor,有硬件支持Linux虚拟化的完整解决方案使用虚拟化技术(IntelVT或AMD-V)。它是一个小型的Linux模块,使用Linux来做很多事情,比如任务调度、内存管理、硬件交互等。

图3KVM虚拟化平台架构

Xen

Xen是第一种运行在金属裸机(管理程序)。它支持全虚拟化和半虚拟化,Xen支持虚拟机管理程序和虚拟机相互通信,并在所有版本的Linux上提供免费产品,包括RedHatEnterpriseLinux和SUSELinuxEnterpriseServer。Xen最重要的优势是半虚拟化。此外,未经修改的操作系统还可以直接在必须进行仿真才能实现高性能的虚拟硬件上运行。

虚拟化平台架构图4Xen

QEMU

QEMU是FabriceBellard编写的一套免费处理器仿真软件。它与Bochs和PearPC类似,但具有后两者所没有的一些特性,例如高速和跨平台特性。通过开源加速器kqemu,QEMU可以模拟接近真实计算机的速度。

KVM与QEMU的关系

准确的说,KVM是一个Linux内核模块。您可以使用modprobe命令加载KVM模块。加载模块后,可以通过其他工具进一步创建虚拟机。但光有KVM模块是不够的,因为用户无法直接控制内核模块做事。对于这个用户空间工具,kvm开人员选择了已经成熟的开源虚拟化软件QEMU。说起来,QEMU也是一个虚拟化软件。它的特点是可以虚拟不同的CPU。例如,PowerCPU可以虚拟成x86CPU,并可以用来编译可以在Power上运行的程序。KVM使用了QEMU的一部分,并对其进行了一些修改,成为可以控制KVM的用户空间工具。所以你会看到官方的KVM下载有两个部分(qemu和kvm)和三个文件(KVM模块、QEMU工具和两者的集合)。也就是说,您可以只升级KVM模块或只升级QEMU工具。这就是KVM和QEMU的关系。

图5KVM与QEMU关系


三、服务器虚拟化技术主要有服务器虚拟化是指将一台物理服务器划分为多个虚拟服务器的技术。常见的服务器虚拟化方式有以下三种:



全虚拟化:全虚拟化是一种基于软件的虚拟化技术,在物理服务器上安装虚拟化。虚拟化软件(如VMware、Hyper-V等)创建虚拟化层(Hypervisor)来模拟硬件环境。在全虚拟化中,每个虚拟机(VM)运行独立的操作系统和应用程序,不需要对应用程序进行任何修改。虚拟化层负责将虚拟机的请求转发到物理服务器的硬件资源。

半虚拟化:半虚拟化是一种修改操作系统的虚拟化技术。在半虚拟化中,虚拟机需要修改操作系统才能与虚拟化层通信。虚拟化层提供了一组API,虚拟机通过这些API与虚拟化层交互以访问物理服务器资源。半虚拟化可以提供比全虚拟化更高的性能,但需要对操作系统进行修改。

容器虚拟化(ContainerVirtualization):容器虚拟化是一种轻量级虚拟化技术,它在操作系统层面而不是硬件层面创建多个隔离的用户空间(容器)。虚拟机。容器共享操作系统内核。每个容器运行在独立的用户空间中,拥有自己的文件系统、进程空间和网络接口。容器虚拟化可以实现更高的性能和更快的启动时间,但容器之间的隔离性相对较弱。点击了解更多