根据您的需求,您可以对基于 VMware Cloud Director 设备的服务器组使用不同的配置,也可以拥有不同大小的 VMware Cloud Director 虚拟设备实例。
概览
要确保集群在主单元发生故障时可以支持自动故障切换,最小 VMware Cloud Director 部署必须包含一个主单元和两个备用单元。在其中一个单元因任何原因脱机而导致任何故障的情况下,环境仍然可用。如果备用单元发生故障,在重新部署发生故障的单元之前,集群会以完全正常运行的状态运行,但性能会下降。请参见设备部署和数据库高可用性配置。
VMware Cloud Director 有四种大小可供您在部署期间选择:小型、中型、大型和超大型 (VVD)。“小型”设备大小适用于实验室评估,本文档不就“小型”设备配置提供任何指导。大小调整选项表为其余选项提供了相应的规范,以及最适合生产环境的用例。“超大型”配置与适用于云提供商的 VMware Validated Design (VVD) 级配置文件相匹配。
要创建较大的自定义大小,系统管理员可以调整已部署单元的大小。
用于生产部署的最小建议配置是“中型”虚拟设备三节点部署。
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 单元可能还会失去与数据库的连接。
如何检测系统单元数量是否不足
根据默认的数据库连接配置,所有配置都限制为最多包含 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
服务自定义。要手动自定义设备大小调整,请在所有单元上执行以下过程。
- 以 root 身份直接或通过 SSH 客户端登录到主设备的操作系统。
- 要查看并记录 vCPU 信息,请运行以下命令。
grep -c processor /proc/cpuinfo
- 要查看并记录 RAM 信息,请运行以下命令。
下面报告的 RAM 以 KB 为单位,必须将其除以 1048576 (1024*1024) 以转换为 GB。
cat /proc/meminfo | grep MemTotal | cut -dk -f1 | awk '{print int($2/1048576)}'
- shared_buffers 值计算为总 RAM 减去 4 GB 后的四分之一,同时向下取整。
shared_buffers = floor [ 0.25 * (总 RAM - 4 GB) ]
其中,
floor
返回小于或等于方括号中值的最大整数。 - effective_cache_size 值计算为总 RAM 减去 4 GB 后的四分之三。
effective_cache_size = 0.75 *(总 RAM - 4 GB)
- max_worker_processes 值计算为 vCPU 的数量。
默认且最小值为 8。
- 将用户更改为 postgres。
sudo -i -u postgres
- 通过运行以下命令并替换计算值来更新 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';"
- 通过运行 exit 命令返回到 root 用户。
- 重新启动
vpostgres
进程。systemctl restart vpostgres
- 再次将用户更改为 postgres。
sudo -i -u postgres
- 对于每个备用节点,将 postgresql.auto.conf 文件复制到该节点,然后重新启动
vpostgres
进程。- 将 postgresql.auto.conf 从主节点复制到备用节点。
scp /var/vmware/vpostgres/current/pgdata/postgresql.auto.conf postgres@standby-node-address:/var/vmware/vpostgres/current/pgdata/
- 重新启动
vpostgres
进程。systemctl restart vpostgres
- 将 postgresql.auto.conf 从主节点复制到备用节点。
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;"