当前位置:网站首页 > 容器化与Kubernetes > 正文

KVM虚拟化技术(kvm虚拟化技术:实战与原理解析)



借助虚拟化,一台物理计算机可通过 Hypervisor 支持多个客户机虚拟机。Hypervisor 是位于硬件和虚拟机之间的一个软件层。此软件让虚拟化变为可能。要了解虚拟化,必须了解 Hypervisor 的工作原理。

  • 了解 Hypervisor 的用途
  • 介绍虚拟机如何在虚拟化环境中共享资源

(1)虚拟化和 Hypervisor

以使用公交车为例,以类比的方式来解释虚拟化概念以及 Hypervisor 在虚拟化中的关键作用。

如果一辆大型公交车只有一个座位,那么一次就只能载客一人。公交车就像物理服务器,乘客就像操作系统。

我们需要为公交车增设更多座位。服务器也是这个道理。在物理服务器上安装 Hypervisor 就像在公交车上安装更多座位一样。

Hypervisor 是一种软件程序,可将计算机软件与其硬件分离,从而实现虚拟化。它就像一种用于托管多个虚拟机 (VM) 的特殊类型的操作系统 (OS)。

在公交车上增设座位具有以下好处:

  • 更多乘客可以同时搭乘公交车。
  • 每位乘客都有自己的座位。
  • 使用者可以节省资金开销:由于多名乘客共用一辆公交车,需要购买的价格高昂的公交车就越少。
  • 使用者可以节省运营开销:公交车数量的减少可降低加油和保养成本。
Hypervisor 有哪些好处?
在公交车上安装更多座位在物理服务器上安装 Hypervisor更多乘客可以同时搭乘公交车。一台物理服务器可以托管多个客户机操作系统。每位乘客都有自己的座位。每个操作系统都共享服务器上的资源。可以节省资金开销:由于多名乘客共用一辆公交车,需要购买的价格高昂的公交车就越少。使用者可以节省资金开销:由于多个客户机操作系统共享服务器资源,因此所需的价格高昂的物理服务器就越少。可以节省运营开销:公交车数量的减少可降低加油和保养成本。使用者可以节省运营开销:服务器设备耗电多,还会产生大量的热量。减少服务器可降低空间、用电、散热和维护成本。

(2)Hypervisor 和操作系统

在传统计算机上,操作系统控制物理资源(比如处理、内存、网络连接和存储),并将这些资源提供给运行的应用。与操作系统类似,Hypervisor 控制计算机的物理资源。但它们使用这些资源来创建和管理虚拟机。

① Hypervisor 是否需要操作系统?

这取决于 Hypervisor 的类型。

② Hypervisor 的类型

有两种类型的 Hypervisor。

裸机 Hypervisor托管 Hypervisor 在这里插入图片描述 在这里插入图片描述裸机 Hypervisor 也称为 1 类 Hypervisor,它直接安装在服务器硬件上。托管 Hypervisor 也称为 2 类 Hypervisor,它安装在操作系统上。在安装裸机 Hypervisor 之前,使用者无需安装操作系统。 它比托管 Hypervisor 更易于维护。使用者在操作系统上安装托管 Hypervisor 的方式与安装应用相同。示例:VMware ESXi。 一台 ESXi 主机可以管理超过 1,000 个虚拟机。示例:VMware Workstation 和 VMware Fusion。 这些 Hypervisor 可在同一主机上同时运行 Windows、Linux 和 MAC 桌面及应用。

(1)使用 Hypervisor

必须先在主机或物理计算机上安装 Hypervisor,然后才能创建和运行虚拟机。Hypervisor 会创建硬件的虚拟版本,并准备好托管虚拟机。

在这里插入图片描述

ESXi 控制台。

要安装 ESXi 主机,需要执行以下步骤:

  • 使用包含软件安装程序的介质设备,并将其挂载到物理主机。
  • 将显示器和键盘连接到主机,以访问 ESXi 控制台。
  • 从 ESXi 控制台管理 ESXi 安装过程。

安装 ESXi 主机后,它可以创建虚拟机并运行多个客户机操作系统。

将物理资源转变为虚拟资源

了解 Hypervisor 如何帮助使用者创建和运行操作系统。

在这里插入图片描述

序号描述1当 Hypervisor 启动时,它会控制主机的物理资源。
使用服务器资源(处理器、内存、磁盘和网卡)来创建和管理虚拟机。2在 ESXi 主机上创建虚拟机:
创建物理服务器时,需要组装所需的物理 CPU、RAM 和其他资源。同样,对于虚拟机,需要指定运行客户机操作系统所需的硬件资源的同等软件组件。
例如,要运行客户机 Ubuntu 服务器,请使用 Ubuntu 操作系统所需的资源(比如 2 GHz CPU(处理器)或 4 GB RAM(内存))创建虚拟机。3Hypervisor 会创建虚拟机可以使用的虚拟硬件:
Hypervisor 会对处理器、内存、磁盘、网络和其他资源进行抽象化,并创建这些资源的虚拟版本,这些虚拟版本称为虚拟硬件。
例如,将包含 Ubuntu 安装介质的 USB 驱动器挂载到物理主机上。ESXi 主机会识别设备并创建虚拟版本。在新创建的虚拟机上分配或虚拟挂载驱动器。4在虚拟机内安装客户机操作系统的方式与在物理计算机上安装操作系统的方式相同:
例如,运行 Ubuntu 安装程序介质,并按照说明安装客户机操作系统。
当操作系统启动时,它会使用提前分配给虚拟机的虚拟硬件。5Hypervisor 会管理分配给它运行的虚拟机的虚拟硬件。
例如,ESXi 主机会确保每个虚拟机接收到其需要的所有资源。

安装 Hypervisor 后,它可以帮助使用者虚拟化虚拟机的物理资源。这种资源虚拟化遵循一系列步骤。

序号资源虚拟化的步骤1Hypervisor 控制主机的物力资源。2创建虚拟机并指定运行特定操作系统所需的硬件。3Hypervisor 可将物理资源抽象化为虚拟硬件。4在虚拟机内安装客户机操作系统,方法与物理计算机上安装操作系统一样。5Hypervisor 会管理分配虚拟机的虚拟硬件。

(2)共享物理资源

Hypervisor 会管理虚拟机之间虚拟资源的分配和共享。资源共享功能使得虚拟机比物理服务器的用途更广。

① 虚拟 CPU

ESXi 主机会管理每个虚拟机的可用计算访问量:

  • 当客户机操作系统为应用请求 CPU 时,ESXi 会查找可用资源并将其显示给虚拟机。
  • 多个虚拟机可能同时需要 ESXi 主机提供 CPU 资源。
  • 如果请求的 CPU 超过主机上的可用 CPU,ESXi 会安排虚拟机轮流(共享)使用 CPU。

在这里插入图片描述

② 虚拟内存

所有虚拟机的已配置内存总量可能会超过主机上的可用物理内存量。例如,具有 8 GB RAM 的 ESXi 主机可以运行三个内存分配量共计 11 GB 的虚拟机。

这些虚拟机不是始终完全占用分配的内存,因此主机可以根据需要移动虚拟内存以供虚拟机共享。

每个虚拟机可以使用的最大物理资源量小于或等于主机上可用的物理资源量。

在这里插入图片描述

③ 虚拟网络连接

虚拟机可以共享访问主机上的相同 虚拟交换机 以及相同的物理网卡 (NIC):

ESXi 提供虚拟交换机,用于管理主机上的物理网卡以及引导主机的网络通信。

  • 共享同一虚拟交换机以与主机上的其他虚拟机通信。
  • 共享同一物理网卡以与 ESXi 主机之外的其他设备通信。

例如,如果 ESXi 主机只有一个物理网卡,则可以使用一个虚拟交换机通过该网卡引导多个虚拟机的网络流量。

在这里插入图片描述

④ 虚拟磁盘

多个 ESXi 主机可以同时读取或写入共享存储。

例如,ESXi 主机通过网络连接到服务器机房中的大型磁盘阵列:

  • ESXi 主机将这些设备识别为存储空间,以便将它们作为虚拟磁盘提供给虚拟机。
  • 虚拟机可以将应用数据及其虚拟机文件存储在这些虚拟磁盘中。
  • 如果虚拟机具有存储在共享存储上的虚拟磁盘,则可以使用有权访问该存储的任何 ESXi 主机来启动该虚拟机。

在这里插入图片描述

⑤ 虚拟 GPU

通过虚拟化,虚拟机可以共享专用硬件设备或者难以获得或昂贵的设备。

例如,ESXi 主机专用于开发和测试:

  • 主机有四个 GPU。
  • 已分配的 GPU 总数为 5 个。

在这种情况下,使用者可以决定是将一个完整的 GPU 设备专用于一个虚拟机,还是允许多个虚拟机部分共享 GPU 设备(如果 GPU 支持)。

在这里插入图片描述

Hypervisor 是实现虚拟化的关键。如果没有 Hypervisor,来自多个虚拟机的多个操作系统都在争取同时控制硬件,就会出现混乱。

Hypervisor 将物理资源转换为虚拟机可以共享的虚拟硬件。它扮演着管理器的角色,可将虚拟资源分配给虚拟机,并帮助虚拟机在运行时尽可能减少中断。


为了方便读者在手机上阅读文章,请大家关注下面的公众号,之后博文也会同步到上面,之前的文章也会慢慢整理并同步.
在这里插入图片描述

到此这篇KVM虚拟化技术(kvm虚拟化技术:实战与原理解析)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • kvm虚拟化分为哪三层(kvm虚拟化和其他的虚拟化的优缺点是什么)2025-02-09 11:45:07
  • crsed汉化(crsed有中文吗)2025-02-09 11:45:07
  • docker启动所有容器命令(docker启动容器命令行)2025-02-09 11:45:07
  • docker启动全部容器(docker启动容器后服务没起来)2025-02-09 11:45:07
  • list转为字符串并换行(list转化为字符串)2025-02-09 11:45:07
  • kubernetes 配置文件(kubernetes文档)2025-02-09 11:45:07
  • pl是什么意(PL是什么意思生化)2025-02-09 11:45:07
  • ipv6 tcp报文(ipv6报文结构和ipv4相比有什么变化)2025-02-09 11:45:07
  • docker-compose升级(docker-compose更新容器)2025-02-09 11:45:07
  • kubelet配置文件位置(kubernetes配置)2025-02-09 11:45:07
  • 全屏图片