虚拟化是创建物理 IT 资源(如服务器或桌面)的虚拟版本的行为,虚拟机(VM)是在物理主机设备上创建的,VM 的行为与物理设备完全相同,并且可以从主机运行不同的操作系统。
例如,您可以在 Linux 上运行的物理设备上创建在 Windows 上运行的虚拟服务器,VM 是利用主机资源的全功能 Windows 服务器,在同一主机服务器上,可以运行更多 Windows 服务器、Linux 服务器等。
虚拟化作为一种实践就开始在大型计算机上作为配置系统资源的一种方式。如今,它在 IT 领域被广泛采用,并且有一种趋势是将笨重的物理设备整合或融合为整洁的虚拟设备。
虚拟化是如何工作的
虚拟化的工作原理是在 VM 之间对主机设备的资源进行分区,此分区由称为虚拟机管理程序的软件执行,有两种类型的虚拟机管理程序:直接安装在主机硬件上的裸机虚拟机管理程序和需要某种操作系统才能在主机上运行的托管虚拟机管理程序。
虚拟机监控程序充当 VM 和主机设备之间的中介,创建或启动虚拟机时,虚拟机监控程序会为其分配一些主机资源,如 CPU 和内存。如果 VM 在运行时需要更多资源,则虚拟机监控程序会分配更多主机资源。
同样,主机设备的磁盘存储模拟为 VM 上的虚拟存储,当 VM 尝试在其虚拟存储中查找任何文件时,虚拟机监控程序会转换此请求,以在主机的实际物理存储中查找文件。
虚拟机管理程序可以像这样管理多个虚拟机,临时分配主机资源,虚拟机可以轻松启动或关闭,它们也可以从一台主机迁移到另一台主机,并像以前一样运行。
虚拟化架构
虚拟化体系结构的基础是主机硬件,这包括 CPU、内存和磁盘空间等系统资源,在裸机虚拟化的情况下,虚拟机管理程序不需要任何主机操作系统,可以直接在主机硬件上运行,对于托管虚拟机管理程序,虚拟机管理程序在主机操作系统上运行。
虚拟机管理程序从下面的层中提取资源,并将它们分区到虚拟实例中,因此,虚拟机管理程序也称为虚拟化层,客户机操作系统在虚拟机管理程序上运行,通常,来宾操作系统不了解自己,其行为类似于独立设备,应用程序托管在 VM 上的每个来宾 OS 上,这一层称为应用层。
在嵌套虚拟化的情况下,客户机操作系统在其上运行另一组虚拟机管理程序,依此类推。
虚拟化有哪些优势
与传统的物理设备相比,虚拟化设备更加通用和高效,它们还可以方便地随心所欲地旋转、移动和取下。虚拟化的一些优点是:
- 提高效率: 服务器旨在处理预期的性能峰值,然而,它们在大部分生命周期中都以低得多的负载运行,当多个虚拟机驻扎在主机中时,它们会根据需要共享主机资源,这样可以有效地利用空间和资源。
- 运行多个软件的能力: 由于每个 VM 都是一个独立的组件,因此可以从单个主机设备为不同的 VM 运行多个操作系统、软件和应用程序,与其购买多台服务器来运行不同的软件,一个虚拟化集群就足够了。
- VM 快照: VM 的快照是该 VM 在该时刻的副本,可以将 VM 快照作为备份,在其他位置运行快照,或根据需要还原快照,这在执行有风险的操作之前很有帮助。如果出现问题,可以轻松恢复以前的版本。
- VM 迁移: 可以将 VM 从一台主机移动到另一台主机并恢复其操作,为此,有很多用途。可以启用故障转移系统,其中 VM 快照经常备份到另一台主机,如果主主机发生故障,VM 可以无缝切换到辅助主机。
- 独立操作: VM 实质上是一个沙盒,也就是说,它是一个独立的系统,可用于测试软件、运行可疑程序等。可以轻松启动或关闭 VM,因此可以根据需要启动 VM、执行测试和关闭。
- 桌面即服务: 通过虚拟化,可以从另一台设备访问主机服务器并访问 VM,主机服务器通过网络将 VM 连接到其设备。用户设备可以更便宜,并且使用更少的资源。
有哪些不同的虚拟化类型
可以根据 VM 提供的虚拟化程度和功能对虚拟化进行分类,可以执行虚拟化来提供服务或模拟硬件、数据、系统资源等。
- 基于虚拟化程度
- 基于提供的功能
基于虚拟化程度
我们可以根据程度对虚拟化进行分类。在完全虚拟化中,VM 与主机硬件完全隔离,虚拟机监控程序转换来自 VM 的请求并管理资源分配,这种虚拟化更加隔离和可移植,可以在任何操作系统上实现,但与半虚拟化相比,它的速度也较慢。
在半虚拟化中,虚拟机与主机服务器并不完全隔离,VM 自行负责资源分配,客户机操作系统了解自身,并与虚拟机管理程序和主机系统进行通信,半虚拟化速度更快,但可移植性较差。此外,必须修改来宾操作系统,这限制了可以实现此操作的操作系统的数量。
在操作系统虚拟化中,操作系统充当虚拟机管理程序,并在系统内创建彼此独立的虚拟空间,操作系统对系统资源进行分区,并形成多个隔离的用户空间实例。
基于提供的功能
虚拟化根据提供的功能可分为硬件虚拟化、服务器虚拟化、网络虚拟化、存储虚拟化、应用程序虚拟化、数据虚拟化、桌面虚拟化等。
服务器虚拟化
服务器虚拟化是一种广泛采用的虚拟化类型,其中模拟成熟的服务器以在主机设备上使用,虚拟服务器执行与物理服务器相同的角色,它们托管网站和应用程序,充当数据库,执行计算,甚至做更多的事情。多个虚拟服务器在一台物理服务器上运行,并共享系统资源。服务器还可以实现为负载平衡阵列,其中 VM 在不同的主机设备之间共享。
服务器虚拟化由 VMware、Nutanix、Xen 和 Hyper-V 等供应商提供,组织可以通过用虚拟化集群替换多个物理服务器来整合其服务器架构。典型的虚拟化环境包含主机服务器、许多虚拟服务器和虚拟数据存储。
虚拟蔓延
虚拟蔓延是指虚拟服务器占用过多主机资源的情况。虚拟机监控程序无法为所有虚拟机分配足够的资源,并且由于资源稀缺,其他虚拟服务器会遇到性能问题。由于主机上运行的虚拟服务器数量庞大,可能会发生 VM 蔓延。启动虚拟机很容易,但如果忘记了它们,它们将继续匿名运行并耗尽您的资源。消除虚拟蔓延可确保高效性能。
网络虚拟化
在网络虚拟化中,网络的功能(路由、交换和数据传输)使用硬件和软件组件进行虚拟化,有两种类型的网络虚拟化:外部网络虚拟化和内部网络虚拟化。
外部网络虚拟化
在此类型中,将同一物理网络分区以形成多个虚拟网络,例如,虚拟局域网(VLAN)。多个 VLAN 共享相同的网络设备、交换机、路由器、控制器和接入点。但它们实际上是分开的,充当不同的网络。
这种类型的另一个示例是虚拟专用网络(VPN)。VPN 使用隧道和加密协议通过 Internet 提供对专用局域网(LAN)的访问,在这种情况下,来自多个位置的网络设备之间存在相同的 LAN。
内部网络虚拟化
内部网络虚拟化使用软件模拟单个主机设备中的网络,此服务器可能包含多个容器和其他虚拟实例,模拟它们之间的网络连接以形成虚拟网络。创建硬件网络设备(如路由器和交换机)的虚拟版本。
软件定义网络
软件定义网络(SDN)是网络虚拟化的另一种应用,旨在使网络运营更快、更高效。在传统的物理网络中,网络设备(如路由器和交换机)分别执行控制操作和数据操作。
控制操作包括创建路由表、更新拓扑、调整流量等。数据操作包括接收和发送数据包。在SDN系统中,SDN控制器接管控制操作,而网络设备只负责数据传输。管理员可以使用控制器根据自己的要求调整流量。
存储虚拟化
存储虚拟化涉及模拟物理存储之上的逻辑存储单元,在存储虚拟化中,各个存储单元(如磁盘)通常被汇集在一起以形成存储网络,然后使用软件管理该网络,从存储网络中,可以创建虚拟存储单元。虚拟化使存储系统更快、更具弹性和更可靠。
与传统存储系统相比,存储虚拟化具有多种优势,由于物理存储系统汇集在一起,因此可以将数据从一个位置迁移到另一个位置,而虚拟数据单元保持不变。这意味着数据迁移不会影响正常操作。
与服务器虚拟化类似,存储虚拟化可以提高存储使用率,因为所有存储容量都汇集在一起,每个磁盘的空闲存储最小化。当存储即将用完时,可以添加更多异构存储设备以增加容量。IT 管理员无需处理放置在不同位置的具有不同容量的多个存储设备,而是处理统一、整齐分类的虚拟存储单元。
RAID
独立磁盘冗余阵列(RAID)是一种存储虚拟化技术,其中磁盘组合在一起形成一个虚拟存储单元,提供多个级别的 RAID,具有不同级别的速度、容量、容错和可靠性。
存储区域网络
存储区域网络(SAN)是将存储设备、服务器和网络设备连接在一起的专用网络,SAN 未连接到 LAN,但有自己的一组 SAN 交换机来连接存储设备。SAN 通过称为主机层的服务器进行访问。
统一计算系统
统一计算系统(UCS)是将服务器虚拟化、网络虚拟化和存储虚拟化相结合的融合数据中心架构。UCS 通常具有带冷却装置的通电机箱和用于连接刀片服务器和机架式服务器的插槽,虚拟主机可以连接到服务器插槽,并与虚拟化网络互连。UCS可以连接到SAN以提供虚拟化存储功能。
UCS允许数据中心实现高度融合和高效,同时大幅减少布线和空间利用率。
虚拟化监控
虚拟化是一种流行的技术,已以多种不同的方式被采用来模拟不同的网络组件和服务,全球大多数网络基础设施都有一种或多种虚拟化技术。这就是虚拟化监控变得重要的地方。
虚拟化有一些缺点,可能会给 IT 团队带来问题,其中最主要的是虚拟系统的复杂性和对虚拟组件缺乏可见性,与可以单独检查的物理设备不同,VM 是没有物理区别的逻辑单元。
如果没有网络监控软件,就无法监控虚拟机,大多数虚拟化供应商都提供专用于其虚拟化产品的管理软件,但处理所有组件的多个虚拟监控工具可能很繁琐。
OpManager是用于监控虚拟化环境的网络监控软件,无论是服务器、网络、存储单元还是UCS等其他虚拟化组件。能够发现虚拟环境,收集性能指标,对其进行分析,并在一个功能强大的控制台上以图形和报告的形式呈现给管理员。
一些虚拟化监控功能:
服务器虚拟化
- 主机硬件运行状况
- CPU、内存和磁盘利用率
- 流入、流出和整体流量
- 流程和服务
- 虚拟事件(虚拟机迁移、主机重定位等)
- CPU 就绪、CPU 等待、活动内存等
网络虚拟化
- 硬件运行状况
- CPU、内存和磁盘利用率
- 流入、流出和整体流量
- 丢包、抖动和平均意见得分
- 可用性和响应时间
- VPN 监控
存储虚拟化
- 存储硬件运行状况
- 存储容量
- 每秒输入/输出操作数(IOPS)
- 卷利用率
- 存储池利用率
- 逻辑单元号监控
OpManager通过发现虚拟主机、虚拟机、数据存储等,并将它们列在一个整齐分类的清单中,提供对虚拟化基础设施的可见性。通过设置警报,管理员可以随时了解系统中的事件、问题和性能下降。