将 AlloyDB Omni 设置为正式版

本页介绍了将 AlloyDB Omni 用于生产工作负载时的常见设置。

单服务器

启用大型页面

与 PostgreSQL 一样,AlloyDB Omni 支持使用超大页面。这需要您的机器启用超大页面,并且您还需要启用数据库设置 huge_pages

  1. 运行提供的脚本,在您的机器上启用大型页面:

    Docker

    docker run --rm --privileged google/alloydbomni setup-host

    Podman

    podman run --rm --privileged google/alloydbomni setup-host
  2. 将以下行添加到 postgresql.conf 以启用大型页面:

    huge_pages=on
    

启用换货

在操作系统中进行交换可通过在随机存取内存 (RAM) 和硬盘之间移动闲置内存页面来扩展可用物理内存,从而为活跃进程释放 RAM 空间。AlloyDB Omni 在高负载且需要额外内存时会使用交换。

如需检查系统上启用了多少交换空间,请运行以下命令:

cat /proc/meminfo | grep SwapTotal

输出类似于以下内容:

SwapTotal:      165748732 kB

如需在输出值为 0 时在操作系统上启用交换,请参阅以下内容:

启用核心转储

如果 AlloyDB Omni 遇到无法恢复的错误并崩溃,请生成核心转储以进行分析。核心转储是 AlloyDB Omni 进程在崩溃时内存的快照。

如需设置核心转储,请按如下方式设置 kernel.core_pattern

  1. 使用 sysctl 命令配置运行时内核参数。
  2. 如需立即设置 kernel.core_pattern,请使用以下命令:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    CORE_PATTERN 替换为核心文件名模式,例如“%e-%t.core”。

    如需详细了解核心文件名模式,请参阅如何设置进程核心文件名

    借助 systemd-coredump 处理程序,您可以进一步配置 coredump 设置。该工具默认安装在 RHEL 中。在 Debian 和 Ubuntu 系统上,运行 sudo apt install coredumpctl 以安装该工具。

    启动 AlloyDB Omni 时,请确保在 docker run 命令中传递 --ulimit=core:-1:-1 参数:

    Docker

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni

    替换以下内容:

    • CONTAINER_NAME:新 AlloyDB Omni 容器的名称,例如 my-omni-1
    • <code>NEW_PASSWORD:为新容器的 postgres 用户在创建后分配的密码。

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --ulimit=core:-1:-1 \
    -p HOST_PORT:5432 -d google/alloydbomni

    替换以下内容:

    • CONTAINER_NAME:新 AlloyDB Omni 容器的名称,例如 my-omni-1
    • <code>NEW_PASSWORD:为新容器的 postgres 用户在创建后分配的密码。

设置 systemd 单元以自动运行操作

如果您在专用服务器上运行 AlloyDB Omni,则可能需要将某些操作配置为在服务器启动时自动启动。实现此目的的一种方法是使用 systemd 单位。

例如,以下步骤会配置 systemd,以便在服务器每次启动时自动启用超大页。

  1. /etc/systemd/system/alloydb-setup-env.service 中创建文件:

    [Unit]
    Description=Setup huge pages for AlloyDB Omni
    
    [Service]
    Type=oneshot
    
    ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host
    
    [Install]
    WantedBy=multi-user.target
    
  2. 请按如下方式启用该服务:

    sudo systemctl enable alloydb-setup-env.service

后续步骤