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

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

作者: 迷鹿milu | 来源:发表于2019-08-04 22:50 被阅读0次

    vSphere 资源管理

    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图片挂了,需要的朋友私我)

          本文链接:https://www.haomeiwen.com/subject/fqyudctx.html