您可以在支援 RHEL 9 執行階段的任何 Linux 電腦或 Bare Metal 伺服器上,執行 AlloyDB Omni 的單一執行個體安裝作業。
事前準備
安裝 AlloyDB Omni 前,請先閱讀「規劃 AlloyDB Omni 安裝作業」。
建立 AlloyDB Omni 儲存資料的目錄
如果您使用的儲存系統會一併執行 AlloyDB Omni 和其他應用程式,可以在裝置的現有檔案系統中建立 AlloyDB Omni 目錄。否則,您可以在專用裝置上建立新的檔案系統。
現有檔案系統
如要在現有檔案系統中建立目錄,請執行下列指令:
mkdir -p DATA_DIR請替換下列變數:
- DATA_DIR:儲存資料的主機目錄路徑。
專用裝置
如要在專屬檔案系統中建立目錄,請執行下列步驟:
在主機上建立要掛接磁碟的目錄。
mkdir -p MOUNT_POINT請替換下列變數:
- :應包含 AlloyDB Omni 執行個體的頂層目錄路徑。MOUNT_POINT
建立
gpt分割表和檔案系統,並掛接磁碟裝置。EXT4
parted -s DEVICE_PATH mklabel gptparted -s DEVICE_PATH mkpart primary 0% 100%mkfs.ext4 -q -m 1 -L FS_LABEL -F PARTITION_PATHecho -e "LABEL=FS_LABEL\tMOUNT_POINT\text4\tdefaults\t0 0" | tee -a /etc/fstabmount MOUNT_POINT請替換下列變數:
- DEVICE_PATH:作業系統指派給磁碟裝置的路徑。
- FS_LABEL:檔案系統的標籤。
xfs的長度上限為 12 個字元。 - PARTITION_PATH:用於儲存檔案系統資料的磁碟分割區路徑。
XFS
parted -s DEVICE_PATH mklabel gptparted -s DEVICE_PATH mkpart primary 0% 100%dnf install xfsprogsmkfs.xfs -L FS_LABEL -f PARTITION_PATHecho -e "LABEL=FS_LABEL\tMOUNT_POINT\txfs\tdefaults\t0 0" | tee -a /etc/fstabmount MOUNT_POINT請替換下列變數:
- DEVICE_PATH:作業系統指派給磁碟裝置的路徑。
- FS_LABEL:檔案系統的標籤。
ext4的長度上限為 16 個字元。 - PARTITION_PATH:用於儲存檔案系統資料的磁碟分割區路徑。
在這個檔案系統中建立資料目錄。建議您在掛接點內建立
DATA_DIR做為子目錄,例如MOUNT_POINT/18。mkdir -p DATA_DIR將
DATA_DIR替換為主機目錄路徑,以便儲存資料庫相關資料,例如MOUNT_POINT/18。
設定 SELinux 政策
安裝必要的 policycoreutils-python-utils 套件,以便在安裝 AlloyDB Omni RPM 套件時,將 SELinux 政策設為允許 AlloyDB Omni 資料庫服務。
安裝 AlloyDB Omni
在本機目錄中設定 YUM 存放區。
sudo tee -a /etc/yum.repos.d/alloydbomni.repo << EOF [alloydbomni] name=alloydbomni baseurl=ALLOYDB_OMNI_URL enabled=1 repo_gpgcheck=1 gpgcheck=1 gpgkey=https://dl.google.com/linux/linux_signing_key.pub EOF
sudo yum makecache
將
ALLOYDB_OMNI_URL替換為您收到的 AlloyDB Omni 網址。安裝 AlloyDB Omni RPM 套件。
sudo dnf install alloydbomni18初始化及設定 AlloyDB Omni 資料庫。
sudo PGPASSWORD=POSTGRES_PASSWORD PGDATA=DATA_DIR /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb您可以選擇在
POSTGRES_INITDB_ARGS變數中,以單一字串形式傳遞標準initdb選項。如果您使用自訂資料目錄,請執行下列指令,設定 SELinux 允許 AlloyDB Omni 服務在該目錄中讀取及寫入資料。執行這個步驟前,請務必安裝
policycoreutils-python-utils套件。/usr/sbin/semanage fcontext -a -t postgresql_db_t "DATA_DIR(/.*)?"
sudo PWFILE=PASSWORD_FILE_PATH PGDATA=DATA_DIR /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
請替換下列變數:
POSTGRES_PASSWORD:您的密碼。PASSWORD_FILE_PATH:路徑,其中只包含純文字密碼。DATA_DIR:主機目錄路徑,用於儲存資料庫相關資料。例如:MOUNT_POINT/18。
您可以選擇在
POSTGRES_INITDB_ARGS變數中,以單一字串的形式傳遞標準initdb選項。如果您使用自訂資料目錄,且已啟用 SELinux,請執行下列指令來設定 SELinux,允許 AlloyDB Omni 服務在該目錄中讀取及寫入資料。這個步驟需要安裝
policycoreutils-python-utils套件。sudo /usr/sbin/semanage fcontext -a -t postgresql_db_t "DATA_DIR(/.*)?"sudo /sbin/restorecon -R -F DATA_DIR/sbin/restorecon -R -F DATA_DIR準備 AlloyDB Omni 資料庫。
sudo PGPASSWORD=POSTGRES_PASSWORD /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb選用。如要以最佳化方式執行 AlloyDB Omni 服務,請執行下列指令。
sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host執行先前的指令會將下列系統設定設為建議值:
系統設定 建議值 /sys/kernel/mm/transparent_hugepage/shmem_enabledwithin_size/sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap511/sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_shared511/proc/sys/vm/nr_overcommit_hugepages值等於 MemTotal 的大小 (以 MB 為單位) /proc/sys/vm/max_map_count1073741824如要傳遞這些設定的自訂值,請在
alloydbomni18-setup-host指令中加入<system_setting>=<value>格式的引數,如下列範例所示:sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host /proc/sys/vm/max_map_count=2097152 /proc/sys/vm/nr_overcommit_hugepages=524288
啟動 AlloyDB Omni
systemd服務。sudo systemctl enable alloydbomni18
sudo systemctl start alloydbomni18
檢查 AlloyDB Omni 服務是否順利執行。
sudo systemctl status alloydbomni18以下是回應範例。確認狀態為有效 (執行中)。
Loaded: loaded (/usr/lib/systemd/system/alloydbomni18.service; enabled; preset: disabled) Drop-In: /etc/systemd/system/alloydbomni18.service.d Active: active (running) since Wed 2025-11-19 07:37:31 UTC; 1 day 6h ago " Process: 120228 ExecStartPre=/usr/lib/postgresql/18/bin/alloydbomni18-check-db-dir ${PGDATA} (code=exited, status=0 SUCCESS) Main PID: 120231 (postgres) Tasks: 19 (limit: 203438) Memory: 161.7M (peak: 170.0M) CPU: 28min 10.149s CGroup: /system.slice/alloydbomni18.service ├─120231 /usr/lib/postgresql/18/bin/postgres -D /var/lib/postgresql/18/data ├─120232 "postgres: alloydb internal logger " ├─120233 "postgres: checkpointer " ├─120234 "postgres: background writer " ├─120237 "postgres: walwriter " ├─120243 "postgres: lux wal preallocator " ├─120244 "postgres: autovacuum launcher " ├─120246 "postgres: free buffer manager " ├─120247 "postgres: buffer control "