随着互联网的不断发展,计算机编程开发技术也在不断的升级,而今天我们就一起来了解一下,服务虚拟化技术的优势与类型。

有虚拟化了为什么还要用超融合 为什么要用虚拟化技术_虚拟化

一、为何需要服务虚拟化技术?

节省硬件资源(机房、服务器、冷却系统等),提高资源利用率:12306网站的负载存在明显的峰值和低谷(节日前夕较大,春运为明显,而在平时则比较低),若完全用实体服务器去抗峰值流量,在平时则会出现巨大浪费。通过服务虚拟化(ServerVirtualization/MachineVirtualization)技术构建的云计算平台(CloudComputerPlatform)则可以有效解决这一难题,峰值时增加算力去满足购票需求,低谷时则将算力售卖出去以提高资源的利用率。腾讯云可以按照CPU、内存、存储(比如1C/1G/50GB)等方式对外提供服务,普通用户不用为购买服务器、搭建机房、规划网络访问、数据容灾而烦劳,就像购买水、电、煤气等基本市政服务一样。

逻辑资源整合:通过虚拟机(VirtualMachine,简称VM)技术,多个不同的Guest操作系统(及运行在其上的各种应用程序)可以运行在一台物理服务器上面,例如,邮件服务器、数据库服务器、Web服务器等应用可以部署在一起,同时可以做到有效的隔离(资源和访问)。

服务器可移植性:VirtualMachineMonitor/Hypervisor屏蔽底层差异,同一Guest操作系统可以在硬件架构完全不同的服务器上运行(Mac,X86等),没有硬件依赖,它可以从一种硬件服务器迁移到另外一台完全不同的硬件服务器,不需要做改变和适配,用户无感知。

应用程序可靠性:虚拟机(VM)所在的硬件服务器损坏后,可以快速迁移到另外一台硬件服务器(都部署有VirtualMachineMonitor/Hypervisor),极大提高了其中运行的应用程序的可靠性。容器(Container)所在的Linux服务器无法访问后,容器管理者(比如,K8s)可以在另外一台Linux服务器创建一个新容器,业务不会受到影响。(借助虚拟机技术,容器也可以在非Linux服务器上运行,Guest操作系统为Linux即可。)

网络和存储也在采用虚拟化技术:从使用独立磁盘冗余阵列(RAID)开始,存储虚拟化已经出现了很多年,RAID提供了一种对物理磁盘进行逻辑分组并将这些分组作为一个或多个虚拟磁盘呈现给操作系统的方法。华为的OceanStor系列存储阵列属于存储区域网络(SAN),通过DevLun(设备逻辑单元号)来呈现给上层主机访问,内部封装了各种算法(SmartVirtualiztion,SmartQos,smartPartition等)保障主机的I/O访问质量。网络虚拟化是另一种已经存在了几十年的虚拟化形式,例如,虚拟局域网(VLAN)长期以来提供了一种对物理网络交换机进行逻辑细分的方法。因此,主机对其本地交换机的视图并不局限于它所连接的交换机的物理组成,而是由VLAN本身的逻辑表示来确定。

二、服务虚拟化技术的分类

基于主机的服务器虚拟化技术(Host-basedservervirtualization,虚拟机)允许具有不同操作系统的多个虚拟机(VirtualMachine)在同一物理主机系统上并发运行,又可以细分为如下三类。

完全虚拟化(Fullvirtualization):完全虚拟化提供了完整的硬件模拟,这有一个优势,即完全的虚拟机可移植性,例如,允许在Dell服务器上运行的虚拟机重新定位到HP服务器,而不会出现任何问题。代价是性能会降低,内存读写大概损失2%,网络和硬盘I/O大概损失8%~20%。

半虚拟化(Paravirtualizaton):虚拟机中的Guest操作系统需要重新编译,让其知道处于虚拟化环境中,以便可以和Host操作系统或者VMM/Hypervisor协调工作。可以通过两种方式来实现半虚拟化:1)重新编译操作系统内核,这需要操作系统品牌商提供和半虚拟化环境兼容的OSbuild;2)安装半虚拟化的内核模式驱动,通过安装半虚拟化的内核模式存储和网络驱动,可以有效降低硬盘和网络读写延迟(从完全虚拟化的8%~20%降到2%)。

硬件辅助虚拟化(Hardware-AssistedVirtualization):英特尔和AMD都积极致力于使其处理器实现虚拟化,意识到虚拟环境的存在,CPU可以直接和VMM/Hypervisor交互,让其运行在Ring-1,这样一来,Guest操作系统可以运行在Ring0,从而不需要借助于VMM/Hypervisor的Trap中断来执行特权指令,极大降低了特权指令的执行延迟。在提高处理性能的同时,通过分配不同的硬件地址空间给虚拟机从而在硬件层面实现有效隔离。

综合以上,直接访问资源可以提供本机级别的性能,但是会牺牲可移植性,为了获得更好的可移植性,虚拟化供应商将进一步开发可感知VMM/Hypervisor的半虚拟化Guest操作系统驱动程序,这些驱动程序将表示合成虚拟设备,如网卡和存储控制器。使用合成设备驱动程序将允许Guest操作系统看到一组一致的硬件资源(即使迁移到不同的Host),同时仍然能够提供接近本机的性能。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。