vSphere 资源管理(Base64图片挂了,需要的朋友私我)

vSphere 资源管理

  • vSphere 资源管理
  • 1 CPU
    • 1.1 ESXi Host 中 CPU 的概念
    • 1.2 vCPU 在 ESXi Host 主机的运行示意图
    • 1.3 VM 的 NUMA 技术对性能的影响
    • 1.4 超线程与 vCPU
  • 2 内存
    • 2.1 内存回收技术
      • 2.1.1 TPS(Transparent Page Shareing)
      • 2.1.2 Ballooned Driver
      • 2.1.3 Memory Compression
      • 2.1.4 Local Host-Level Cache(Host SSD Swap)
      • 2.1.5 Swapped Out

1 CPU

1.1 ESXi Host 中 CPU 的概念

概念 说明
socket 颗 物理上的名词,有些主板能插多颗 CPU ,一个 socket 可以有多个 core
core 核 可以称之为内核,一个物理内核可以划分出多个 LCPU
LCPU 逻辑 CPU 在一个物理内核上同一时间能够执行的并发任务只能有一个,这个任务被称为LCPU,1台 VM 至少对应一个 active LCPU
vCPU/vSMP 虚拟CPU 任何 vCPU 都无法独占一个物理内核的资源

1.2 vCPU 在 ESXi Host 主机的运行示意图

![ESXi Host 主机的 CPU 运行示意图][vcpu]

  虚拟机为什么挂死的时候会自动重启,因为ESXi会强行释放死进程

1.3 VM 的 NUMA 技术对性能的影响

  NUMA 全称 Non-Uniform Memory Access,允许指定的内存访问,直接被定位到与内存相关的本地CPU上,通常一个NUMA节点会包含CPU和Memory两个组件

  当资源足够的时候,访问会在内部完成,不需要额外的资源调度开销

  当内存访问需求超过了NUMA的上限时,会导致跨节点访问,性能就会衰减

1.4 超线程与 vCPU

  不建议开启超线程,资源调度会消耗太多资源

2 内存

  物理概念:

  • MMU Memory management Unit
  • RVI Rapid Virt.Indexing(AMD) 最大限度区隔虚拟机内存与物理内存之间的物理隔离,存放于VMM
  • EPT Extended Page Tables(Intel) 最大限度区隔虚拟机内存与物理内存之间的物理隔离,存放于VMM

  虚拟化概念:

  • VMM Virtual Machine Mointor 每一台虚拟机都会产生一个VMM,虚拟机的内存区块映射到VMM,再映射到物理内存;随着虚拟机的开机而产生,关机而结束
  • MPN Machine Page Number ESXi机器上的内存区块(ESXi主机上开销的内存)
  • PPN Physical Page Numbers 虚拟机从物理内存拿到的物理内存区块(可以理解为虚拟机实际占用的物理内存)
  • LPN Logical Page Numbers 虚拟机操作系统内存区块(可以理解创建虚机时设置的内存)

2.1 内存回收技术

  内存回收技术依照下表的顺序依次执行,执行顺序如下表所示:

顺序 技术 简述
5 swapped 把虚拟机的内存放在交换文件中
4 Local Host-Level Cache
3 Ballooned Driver 尽可能减少性能损耗的情况下提升物理内存利用率
2 Compression 内存压缩技术
1 TPS 透明页面共享

![示意图1][示意图1]

![示意图2][示意图2]

2.1.1 TPS(Transparent Page Shareing)

  通过将相同部分的虚拟机内存地址段映射到同一个物理内存地址,实现内存层面的消重,达到内存利用率提升的目的

  ESXi 默认开启 TPS

![TPS工作示意图][TPS]

2.1.2 Ballooned Driver

  作为内存回收技术的阶梯式组件之一,Balloon Driver 工作运行于 Guest OS,当 ESXi Host 的物理内存资源不足时,通过 TPS 无法满足内存服用要求后,系统可以启动这个Ballon Driver,此时,Balloon Driver 将会从 Virtual Machine 这边回收 Unused 与 Inactive 部分的内存

  工作层面:

  • VMkernel + VMM 的主机级别层面
  • Virtual Machine Guest OS 层面

  工作组件支持:

  • Balloon Drivers in VMware Tools
  • Virtual Machine Monitor
  • Windows Pagefiles/Linux Swap Partition

  内存回收逻辑:

  正常运行状态下,当发生内存回收需求时,Vmkernel 会向 Guest OS 这边请求内存回收,这个请求动作由 VMM 通过 VMware Tools 来完成,默认情况下,会抽取 Unused 和 Inactive 状态下的 Guest Physical Memory, 它的激活顺序如下:

![激活顺序][激活顺序]

  限制:

  1. 默认状态下,最大能回收65%的物理内存资源
  2. 调整参数后最大可回收75%的物理内存资源,参数: Mem.CtlMaxPercent

2.1.3 Memory Compression

  Memory Compression 会帮助我们将要被Swapped Out 的页面再执行前先在 Compression Cache 空间里执行一次压缩,从而实现空间的节省。当这些被压缩的页面需要重新被访问时,则会执行一次解压缩的动作,但是,这个过程的发生,并不在存储或者磁盘上,因此总体性能的影响有,但是并不如想象的大。

  系统会执行检测,当确认Swapped Out 的页面的压缩比大于等于 50% 时,将会激活,否则将不被执行。

  Memory Compression 是针对于虚拟机的概念,它分散于 ESXi 每一台虚拟机的物理内存部分

  工作架构示意图:

![Memory Compression][Memory Compression]

  当虚拟机需要对压缩内存进行写操作时,需要先解压,然后再写入,相应的提高了 CPU 的性能损耗,解压缩过程中会有延迟,性能会有所下降

  1. Memory Compression 指挥针对压缩比大于50%的页面执行压缩
  2. 针对压缩比大于75%的页面,将会以1KB大小的形式存放
  3. 压缩执行指令由VMkernel的CPU World来完成
  4. 压缩不会导致Swapped Out的页面跑到磁盘上
  5. 被压缩的页面再次被访问时会有解压缩的过程
  6. 可以针对VM级别设定压缩比例
  7. 该功能可以禁用

2.1.4 Local Host-Level Cache(Host SSD Swap)

  当TPS、Balloon Driver、Memory Compression 都不管用时,如果 Memory 依然不足,则系统将会执行 Swapped Out 的动作,此时,系统会强行将 VM 的 Active Memory Swap 到 Disk 上,已解决燃眉之需:

  Host-Level SSD Swap 则发生再激发 Swapped Out 动作之后,Swapped Active Memory 到 xxx.vswp 之前

vSphere Flash Read Cache :
可控都高于 LHC

  工作原理:

  利用SSD盘强大的IOPS支持,帮助 VM 资源不足的情况下,将写入Disk里面的Swap信息从写入到传统的SSD盘里面,变成写入到SSD盘里,相当于给每台VM额外制备了一个内存缓存区,由于这个内存缓存区由SSD盘构成,记住SSD强大的读写性能,尤其是读性能,可以再物理内存资源不足的情况下,最大限度降低性能的损耗

  配置要求:

  1. SSD盘
  2. vSphere 版本要求
  3. 预先分配空间
  4. 大小限制

2.1.5 Swapped Out

  ESXi 主机的 VM 文件夹会生成两个和内存相关的文件:

文件 作用 备注
vmx-xxxxxx.vswp ESXi 运行虚拟机进程时物理内存不够情况下,用来使用的 约等于 VMM 内存开销大小
xxxxxx.vswp 虚拟机 Swap Out 时,用来跑内存的 随着虚机的开机而产生,关机而消失,约等于分配内存大小

你可能感兴趣的:(vSphere 资源管理(Base64图片挂了,需要的朋友私我))