根据您的需求,您可以对基于 VMware Cloud Director 设备的服务器组使用不同的配置,也可以拥有不同大小的 VMware Cloud Director 虚拟设备实例。

概览

要确保集群在主单元发生故障时可以支持自动故障切换,最小 VMware Cloud Director 部署必须包含一个主单元和两个备用单元。在其中一个单元因任何原因脱机而导致任何故障的情况下,环境仍然可用。如果备用单元发生故障,在重新部署发生故障的单元之前,集群会以完全正常运行的状态运行,但性能会下降。请参见设备部署和数据库高可用性配置

VMware Cloud Director 有四种大小可供您在部署期间选择:小型、中型、大型和超大型 (VVD)。“小型”设备大小适用于实验室评估,本文档不就“小型”设备配置提供任何指导。大小调整选项表为其余选项提供了相应的规范,以及最适合生产环境的用例。“超大型”配置与适用于云提供商的 VMware Validated Design (VVD) 级配置文件相匹配。

要创建较大的自定义大小,系统管理员可以调整已部署单元的大小。

用于生产部署的最小建议配置是“中型”虚拟设备三节点部署。

重要说明: VMware 不支持没有数据库 HA 的 VMware Cloud Director 设备部署。

VMware Cloud Director 设备大小调整选项

您可以使用以下决策指南估算环境的设备大小。

中型 大型 超大型 (VVD)
建议的用例 实验室或小型生产环境 生产环境 使用 API 集成和监控的生产环境
VMware Cloud Director 环境中的 vRealize Operations Management Pack 部署
VMware Cloud Director 中启用 Cassandra VM 衡量指标
在 30 分钟峰值时段访问 API 的并发用户或客户端的大概数量。 < 50 < 100 < 100
受管 VM 5000 5000 15000

配置定义

中型 大型 超大型 (VVD)
HA 集群配置 1 个主单元 + 2 个备用单元 1 个主单元 + 2 个备用单元 + 1 个应用程序单元 1 个主单元 + 2 个备用单元 + 2 个应用程序单元
主单元或备用单元 vCPU 8 16 24
应用程序单元 vCPU 不可用 8 8
主单元或备用单元 RAM 16 GB 24 GB 32 GB
应用程序单元 RAM 不可用 8 8
vCPU 与物理内核的比率 1:1 1:1 1:1
集群中每个设备的最小磁盘空间 112 GB 112 GB 112 GB

如何检测系统容量是否不足

VMware Cloud Director 单元中,CPU 或内存利用率会增长并达到较高水平(即接近容量的水平)。VMware Cloud Director 单元可能还会失去与数据库的连接。

如何检测系统单元数量是否不足

在任意 VMware Cloud Director 单元的 vcloud-container-debug.logcell-runtime.log 文件中,您会看到类似以下内容的错误: org.apache.tomcat.jdbc.pool.PoolExhaustedException: [pool-jetty-XXXXX] Timeout: Pool empty.Unable to fetch a connection in 20 seconds, none available. VMware Cloud Director 单元可能还会失去与数据库的连接。
注:

根据默认的数据库连接配置,所有配置都限制为最多包含 6 个主单元、备用单元及应用程序单元。

如何自定义设备规模

运行 vpostgres-reconfigure 服务设备部署程序后,有两种方法可以将 VMware Cloud Director 设备大小调整自定义为自定义配置。

  • 使用 vpostgres-reconfigure 服务自定义设备大小调整。
  • 通过手动更新 postgresql.auto.conf 文件自定义设备大小调整。

要使用 VMware Cloud Director 服务自定义 vpostgres-reconfigure 设备大小调整,可以在 vSphere Client 中编辑 VM 硬件设置。每次设备启动时,vpostgres-reconfigure 服务会运行并修改 PostgreSQL 设置以与 VM 大小匹配。

注: vpostgres-reconfigure 服务不会修改之前的任何手动 postgresql.auto.conf 自定义。

如果要进行手动自定义,可以编辑 postgresql.auto.conf 文件。手动自定义优先于 vpostgres-reconfigure 服务自定义。要手动自定义设备大小调整,请在所有单元上执行以下过程。

  1. root 身份直接或通过 SSH 客户端登录到主设备的操作系统。
  2. 要查看并记录 vCPU 信息,请运行以下命令。
    grep -c processor /proc/cpuinfo
  3. 要查看并记录 RAM 信息,请运行以下命令。

    下面报告的 RAM 以 KB 为单位,必须将其除以 1048576 (1024*1024) 以转换为 GB。

    cat /proc/meminfo | grep MemTotal | cut -dk -f1 | awk '{print int($2/1048576)}'
  4. shared_buffers 值计算为总 RAM 减去 4 GB 后的四分之一,同时向下取整。

    shared_buffers = floor [ 0.25 * (总 RAM - 4 GB) ]

    其中,floor 返回小于或等于方括号中值的最大整数。

  5. effective_cache_size 值计算为总 RAM 减去 4 GB 后的四分之三。

    effective_cache_size = 0.75 *(总 RAM - 4 GB)

  6. max_worker_processes 值计算为 vCPU 的数量。

    默认且最小值为 8。

  7. 将用户更改为 postgres
    sudo -i -u postgres
  8. 通过运行以下命令并替换计算值来更新 postgresql.auto.conf 配置文件。
    psql -c "ALTER SYSTEM set shared_buffers = 'shared_buffers value';"
    psql -c "ALTER SYSTEM set effective_cache_size =  'effective_cache_size value';"
    psql -c "ALTER SYSTEM set work_mem = '8MB';"
    psql -c "ALTER SYSTEM set maintenance_work_mem = '1GB';"
    psql -c "ALTER SYSTEM set max_worker_processes= 'max_worker_processes value';"
    
  9. 通过运行 exit 命令返回到 root 用户。
  10. 重新启动 vpostgres 进程。
    systemctl restart vpostgres
  11. 再次将用户更改为 postgres
    sudo -i -u postgres
  12. 对于每个备用节点,将 postgresql.auto.conf 文件复制到该节点,然后重新启动 vpostgres 进程。
    1. postgresql.auto.conf 从主节点复制到备用节点。
      scp /var/vmware/vpostgres/current/pgdata/postgresql.auto.conf postgres@standby-node-address:/var/vmware/vpostgres/current/pgdata/
    2. 重新启动 vpostgres 进程。
      systemctl restart vpostgres
要移除任何手动自定义并继续使用 vpostgres-reconfigure 服务,请将用户更改为 postgres 并运行以下命令。
psql -c "ALTER SYSTEM reset shared_buffers;"
    psql -c "ALTER SYSTEM reset effective_cache_size;"
    psql -c "ALTER SYSTEM reset max_worker_processes;"