规划在虚拟机上安装 AlloyDB Omni

本文档介绍了如何准备在支持容器运行时的任何 Linux 环境中运行 AlloyDB Omni。

如需简要了解 AlloyDB Omni,请参阅 AlloyDB Omni 概览

尺寸和容量

大小和容量直接影响 AlloyDB Omni 实例的性能、可靠性和性价比。迁移现有数据库时,所需的 CPU 和内存资源与源数据库系统的要求类似。

计划先部署使用匹配的 CPU、RAM 和磁盘资源的环境,并将源系统配置用作 AlloyDB Omni 基准配置。在对 AlloyDB Omni 实例进行了充分的测试后,您或许可以减少资源消耗。

调整 AlloyDB Omni 环境的大小包括以下步骤:

  1. 定义您的工作负载。

    • 数据量:估算您将在 AlloyDB Omni 中存储的数据总量。同时考虑当前数据和一段时间内的预测增长。

    • 事务速率:确定每秒预期事务数 (TPS),包括读取、写入、更新和删除。

    • 并发性:估算访问数据库的并发用户数或连接数。

    • 性能要求:定义您对不同类型的查询和操作的可接受响应时间。

  2. 确保您的硬件支持大小要求。

    • CPU:AlloyDB Omni 可利用可线性扩展到 64 个核心的多个 CPU 核心。不过,开源 PostgreSQL 通常不会受益于超过 16 个 vCPU。根据工作负载的并发性和计算需求考虑核心数量。考虑因 CPU 型号或平台发生变化而可能带来的任何改进。

    • 内存:为 AlloyDB Omni 的共享缓冲区分配足够的 RAM,以便缓存数据,并为查询处理分配工作内存。具体要求取决于工作负载。从每个 vCPU 8 GB RAM 开始。

    • 存储

      • 类型:根据您的需求,选择本地 NVMe 存储(注重性能)或 SAN 存储(注重可伸缩性和数据共享)。

      • 容量:确保有足够的存储空间来存储数据量、索引、提前写入日志 (WAL)、备份以及未来增长的数据。

      • IOPS:根据工作负载的读写模式估算所需的每秒输入/输出操作数 (IOPS)。在公共云中运行 AlloyDB Omni 时,请考虑存储类型的性能特性,以了解您是否需要增加存储容量才能达到特定 IOPS 目标。

运行 AlloyDB Omni 的先决条件

在运行 AlloyDB Omni 之前,请确保您满足以下硬件和软件要求。

硬件要求

操作系统/平台 硬件最低要求 推荐的硬件
Linux
  • CPU:支持 AVX2 的 x86-64 或 ARM CPU
  • RAM:2GB
  • 磁盘空间1:10GB
  • CPU:支持 AVX2 的 x86-64 或 ARM CPU
  • RAM:为 AlloyDB Omni 分配的每个 vCPU 8GB
  • 磁盘可用空间1:20 GB 或以上
macOS
  • CPU:支持 AVX2 的 Intel CPU 或 M 芯片
  • RAM:2GB
  • 磁盘空间1:10GB
  • CPU:支持 AVX2 的 Intel CPU 或 M 芯片
  • RAM:为 AlloyDB Omni 分配的每个 vCPU 8GB
  • 磁盘可用空间1:20 GB 或以上
  1. 我们建议您使用专用固态硬盘 (SSD) 存储设备来存储数据。如果您出于此目的使用实体设备,我们建议您将其直接连接到宿主机。

软件要求

操作系统/平台 软件最低要求 推荐的软件
Linux1
  • 以下任一操作系统:
    • Ubuntu 22.04 及更高版本
    • Debian 11
    • RHEL 8.10
  • Linux 内核版本 4.18 或更高版本
  • 启用了 cgroup v1 或 v2
  • Docker Engine 20.10 或更高版本或 Podman 4.2.0 或更高版本
  • 以下任一操作系统:
    • Ubuntu 22.04+
    • Debian 11 或 12
    • RHEL 9
  • Linux 内核版本 6.1 或更高版本,或者支持 MADV_COLLAPSEMADV_POPULATE_WRITE 指令的任何低于 5.3 的 Linux 内核版本
  • 已启用 cgroupv2
  • Docker Engine 25.0.0 或更高版本或 Podman 5.0.0 或更高版本
macOS
  • Docker Desktop 4.20 及更高版本
  • Docker Desktop 4.30 及更高版本
  1. AlloyDB Omni 假定 SELinux(如果存在)已在主机上配置为允许容器运行,包括访问文件系统(或 SELinux 已设为宽容模式)。

支持的存储类型

AlloyDB Omni 支持数据库实例中块存储卷上的文件系统。对于较小的开发或试用系统,请使用运行容器的主机的本地文件系统。对于企业工作负载,请使用为 AlloyDB Omni 实例预留的存储空间。根据数据库工作负载设置的要求,您可以将存储设备配置为单例配置(每个容器一个磁盘设备),也可以配置为合并配置(多个容器从同一磁盘设备读写)。

本地 NVMe 或 SAN 存储

本地 NVMe 存储和存储区域网络 (SAN) 存储都具有明显的优势。选择合适的解决方案取决于您的具体工作负载要求、预算和未来的可扩缩性需求。

如需确定最佳存储选项,请考虑以下事项:

  • 如需优先考虑绝对性能,请选择本地 NVMe。
  • 如果您需要大规模共享存储空间,请选择 SAN。
  • 如果您需要平衡性能和共享,不妨考虑使用 SAN with NVMe over Fabrics 来加快访问速度。

本地 NVMe 存储

NVMe 是一种专为固态硬盘 (SSD) 设计的高性能协议。对于需要快速访问数据的应用,本地 NVMe 存储空间具有以下优势:

  • NVMe SSD 直接连接到外围设备组件互连快速 (PCIe) 总线,可实现快速读写速度。
  • 本地 NVMe 存储可提供最短的延迟时间。
  • 本地 NVMe 存储空间可提供最高的吞吐量。

若要扩缩本地 NVMe 存储空间,需要向各个服务器添加更多磁盘。不过,向单个服务器添加更多硬盘会导致存储池碎片化,并可能增加管理复杂性。本地 NVMe 存储空间不适用于在多个服务器之间共享数据。由于本地 NVMe 存储是本地存储,因此服务器管理员必须使用硬件或软件 Redundant Array of Inexpensive Disks (RAID) 来防范磁盘故障。否则,单个 NVMe 设备的故障将导致数据丢失。

SAN 存储

SAN 是一种专用存储网络,可将多台服务器连接到共享的存储设备池(通常是 SSD 或集中式 NVMe 存储)。虽然 SAN 不如本地 NVMe 的速度快,但新型 SAN(尤其是使用 NVMe over Fabrics 的 SAN)仍可为大多数企业工作负载提供出色的性能。

  • SAN 具有很高的可扩展性。如需增加存储容量或性能,请添加新的存储阵列或升级现有存储阵列。SAN 在存储层提供冗余,可防范存储介质故障。

  • SAN 擅长数据共享。对于需要高可用性的企业环境,多个服务器可以访问和共享存储在 SAN 上的数据。如果服务器发生故障,您可以将 SAN 存储空间呈现给数据中心中的另一台服务器,从而更快地进行恢复。

后续步骤