AlloyDB Omni 是透過 Docker 映像檔部署,因此可進行各種形式的自訂。本頁列出常用的自訂項目。
如要使用預設設定快速開始使用 AlloyDB Omni,請參閱快速入門導覽課程:AlloyDB Omni。
事前準備
下表列出 AlloyDB Omni 的建議硬體和軟體設定。
作業系統/平台 | 建議的硬體設定 | 建議軟體設定 |
---|---|---|
Linux |
|
|
macOS |
|
|
(*) Arm 支援功能處於預先發布階段。 |
AlloyDB Omni 會在容器中執行。安裝 AlloyDB Omni 前,請先在電腦上安裝容器執行階段,例如 Docker 或 Podman。
單一伺服器
掛接外部資料目錄
根據預設,快速入門:安裝 AlloyDB Omni 中的指令會將資料庫資料儲存在 Docker 管理的區域。這樣做雖然方便入門,但會難以尋找及使用資料目錄。您可以改為設定繫結掛接,將資料目錄對應至磁碟上的已知位置。
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
更改下列內容:
CONTAINER_NAME
:要在主機的容器登錄中指派給這個新 AlloyDB Omni 容器的名稱,例如my-omni
。NEW_PASSWORD
:新容器的postgres
使用者在建立後獲派的密碼。DATA_DIR
:您希望 AlloyDB Omni 用於資料目錄的檔案系統路徑。HOST_PORT
:容器應將自己的通訊埠 5432 發布至主機上的這個 TCP 通訊埠。如要在主機上使用 PostgreSQL 預設通訊埠,請指定5432
。
啟用 ulimit
ulimit 參數會指定 Docker 容器可使用的各種程序限制。為達到最佳效能,AlloyDB Omni 會調整程序優先順序,讓重要 PostgreSQL 程序以較高優先順序執行,也就是分配到更多可用 CPU。如要允許,請指定 -20:-20
,這會移除 AlloyDB Omni 容器的限制。
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
指定記錄驅動程式
根據預設,Docker 不會執行記錄檔輪替作業。這可能會占用大量磁碟空間,最終導致磁碟空間耗盡。您可以設定 Docker 使用其他記錄驅動程式。舉例來說,如要記錄到 journald:
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
如要進一步瞭解 Docker 和記錄驅動程式,請參閱 Docker 的「設定記錄驅動程式」說明文件。
您也可以使用 PostgreSQL 設定記錄功能。詳情請參閱 PostgreSQL 說明文件中的「錯誤回報和記錄」。
掛接共用記憶體磁碟區
如果您打算搭配 AlloyDB Omni 使用 AlloyDB 資料欄引擎,建議為 AlloyDB Omni 容器提供共用記憶體。視主機作業系統而定,方法會有所不同,如下列範例所示。
Linux
如要讓容器使用共用記憶體,請掛接 /dev/shm
:
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.4
macOS
如要讓容器使用共用記憶體,請加入 --shm-size
旗標:
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.4
將 SHARED_MEMORY_SIZE
替換為要為容器中的 /dev/shm
設定的大小,格式如「執行容器」一文所述。舉例來說,如要指定 1 GB,請使用 1g
值。
建議您將共用記憶體大小設為至少等於資料庫的 google_job_scheduler.max_parallel_workers_per_job
旗標值乘以 250 的百萬位元組數。如要進一步瞭解資料欄引擎,請參閱「在 AlloyDB Omni 中設定資料欄引擎」。
舉例來說,如果 google_job_scheduler.max_parallel_workers_per_job
資料庫旗標設為預設值 2
,啟動資料庫伺服器時,請考慮新增 --shm-size=500m
以上的旗標。
如要進一步瞭解 --shm-size
標記,請參閱「執行容器」。