Menyesuaikan penginstalan AlloyDB Omni

Pilih versi dokumentasi:

AlloyDB Omni di-deploy melalui image Docker, yang memungkinkan berbagai bentuk penyesuaian. Halaman ini menampilkan beberapa penyesuaian umum yang digunakan.

Untuk mulai menggunakan AlloyDB Omni dengan cepat menggunakan konfigurasi default, lihat Panduan memulai: AlloyDB Omni.

Sebelum memulai

Tabel berikut mencantumkan konfigurasi hardware dan software yang direkomendasikan untuk AlloyDB Omni.

OS/Platform Konfigurasi hardware yang direkomendasikan Konfigurasi software yang direkomendasikan
Linux
  • CPU x86-64 atau Arm (*) dengan dukungan AVX2
  • RAM 8 GB untuk setiap CPU yang dialokasikan ke AlloyDB Omni
  • Ruang disk 20+ GB
  • OS berbasis Debian (Ubuntu, dll.) atau RHEL 9
  • Kernel Linux versi 6.1 atau yang lebih baru atau kernel Linux versi apa pun yang lebih lama dari 5.3 yang memiliki dukungan untuk direktif MADV_COLLAPSE dan MADV_POPULATE_WRITE
  • Cgroupsv2 diaktifkan
  • Docker Engine 25.0.0+ atau Podman 5.0.0+
  • macOS
  • CPU Intel dengan dukungan AVX2 atau chip M
  • RAM 8 GB untuk setiap CPU yang dialokasikan ke AlloyDB Omni
  • Ruang disk 20+ GB
  • Docker Desktop 4.30 atau yang lebih tinggi
  • (*) Dukungan Arm dalam Pratinjau.

    AlloyDB Omni berjalan dalam container. Instal runtime container seperti Docker atau Podman di komputer Anda sebelum menginstal AlloyDB Omni.

    Perintah Podman disediakan untuk container tanpa root yang berjalan di Security-Enhanced Linux (SELinux) yang dinonaktifkan.

    Server tunggal

    Memasang direktori data eksternal

    Secara default, perintah di Panduan memulai: Menginstal AlloyDB Omni menyimpan data database di area yang dikelola oleh Docker. Cara ini praktis untuk memulai, tetapi menyulitkan untuk menemukan dan menggunakan direktori data. Sebagai gantinya, Anda dapat menyiapkan pemasangan bind untuk memetakan direktori data ke lokasi yang diketahui di disk Anda.

    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.5

    Ganti kode berikut:

    • CONTAINER_NAME: nama yang akan ditetapkan ke container AlloyDB Omni baru ini di registry container mesin host Anda—misalnya, my-omni.

    • NEW_PASSWORD: sandi yang ditetapkan untuk pengguna postgres penampung baru setelah pembuatannya.

    • DATA_DIR: jalur sistem file yang Anda inginkan agar AlloyDB Omni gunakan untuk direktori datanya.

    • HOST_PORT: port TCP di mesin host tempat container memublikasikan port 5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

    Podman

    podman 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.5

    Ganti kode berikut:

    • CONTAINER_NAME: nama yang akan ditetapkan ke container AlloyDB Omni baru ini di registry container mesin host Anda—misalnya, my-omni.

    • NEW_PASSWORD: sandi yang ditetapkan untuk pengguna postgres penampung baru setelah pembuatannya.

    • DATA_DIR: jalur sistem file yang Anda inginkan agar AlloyDB Omni gunakan untuk direktori datanya.

    • HOST_PORT: port TCP di mesin host tempat container memublikasikan port 5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

    Podman

    podman 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.5

    Ganti kode berikut:

    • CONTAINER_NAME: nama yang akan ditetapkan ke container AlloyDB Omni baru ini di registry container mesin host Anda—misalnya, my-omni.

    • NEW_PASSWORD: sandi yang ditetapkan untuk pengguna postgres penampung baru setelah pembuatannya.

    • DATA_DIR: jalur sistem file yang Anda inginkan agar AlloyDB Omni gunakan untuk direktori datanya.

    • HOST_PORT: port TCP di mesin host tempat container memublikasikan port 5432. Untuk menggunakan port default PostgreSQL di mesin host juga, tentukan 5432.

    Mengaktifkan ulimit

    Parameter ulimit menentukan batas proses yang dapat digunakan oleh container Docker. Untuk performa optimal, sebaiknya tetapkan ulimit berikut:

    • nice=-20:-20: AlloyDB Omni menyesuaikan prioritas proses untuk memungkinkan proses PostgreSQL penting berjalan dengan prioritas yang lebih tinggi. Prioritas yang lebih tinggi memberikan alokasi CPU yang tersedia lebih besar untuk proses. Untuk menyesuaikan prioritas proses, tentukan --ulimit=nice=-20:-20, yang menghapus batasan untuk container AlloyDB Omni.

    • memlock=-1:-1: AlloyDB Omni melakukan pengelolaan memori otomatis. Menetapkan --ulimit=memlock=-1:-1 memungkinkan database mengontrol dengan lebih baik cara halaman memori ditukar masuk dan keluar, yang dapat menghasilkan performa yang lebih baik.

    Docker

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

    Podman

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

    Menentukan driver logging

    Secara default, Docker tidak melakukan rotasi log. Tindakan ini dapat menggunakan banyak ruang disk, dan pada akhirnya menyebabkan ruang disk habis. Anda dapat mengonfigurasi Docker untuk menggunakan driver logging yang berbeda. Misalnya, untuk mencatat ke journald:

    Docker

    docker run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --log-driver=journald \
    -p HOST_PORT:5432 -d google/alloydbomni:15.5.5

    Podman

    podman run --name CONTAINER_NAME \
    -e POSTGRES_PASSWORD=NEW_PASSWORD \
    --log-driver=journald \
    -p HOST_PORT:5432 -d google/alloydbomni:15.5.5

    Untuk mengetahui informasi selengkapnya tentang Docker dan driver logging, lihat dokumentasi Docker Mengonfigurasi driver logging.

    Anda juga dapat mengonfigurasi logging menggunakan PostgreSQL. Untuk mengetahui informasi selengkapnya, lihat dokumentasi PostgreSQL Error reporting and logging.

    Memasang volume memori bersama

    Jika Anda berencana menggunakan mesin berbasis kolom AlloyDB dengan AlloyDB Omni, sebaiknya sediakan memori bersama untuk penampung AlloyDB Omni. Metode untuk melakukannya berbeda-beda, bergantung pada sistem operasi host Anda, seperti yang ditunjukkan pada contoh berikut.

    Linux

    Untuk menyediakan memori bersama bagi container, pasang /dev/shm:

    Docker

      docker run --name CONTAINER_NAME \
        -e POSTGRES_PASSWORD=NEW_PASSWORD \
        -p HOST_PORT:5432 \
        -v /dev/shm:/dev/shm \
        -d google/alloydbomni:15.5.5

    Podman

      podman run --name CONTAINER_NAME \
        -e POSTGRES_PASSWORD=NEW_PASSWORD \
        -p HOST_PORT:5432 \
        -v /dev/shm:/dev/shm \
        -d google/alloydbomni:15.5.5

    macOS

    Untuk menyediakan memori bersama bagi container, sertakan tanda --shm-size:

    Docker

      docker run --name CONTAINER_NAME \
        -e POSTGRES_PASSWORD=NEW_PASSWORD \
        -p HOST_PORT:5432 \
        --shm-size=SHARED_MEMORY_SIZE \
        -d google/alloydbomni:15.5.5

    Ganti SHARED_MEMORY_SIZE dengan ukuran yang akan ditetapkan untuk /dev/shm di penampung, dalam format yang dijelaskan di Menjalankan penampung. Misalnya, untuk menentukan satu gigabyte, gunakan nilai 1g.

    Podman

      podman run --name CONTAINER_NAME \
        -e POSTGRES_PASSWORD=NEW_PASSWORD \
        -p HOST_PORT:5432 \
        --shm-size=SHARED_MEMORY_SIZE \
        -d google/alloydbomni:15.5.5

    Ganti SHARED_MEMORY_SIZE dengan ukuran yang akan ditetapkan untuk /dev/shm di penampung, dalam format yang dijelaskan di Menjalankan penampung. Misalnya, untuk menentukan satu gigabyte, gunakan nilai 1g.

    Sebaiknya tetapkan ukuran memori bersama ke sejumlah megabyte yang sama dengan setidaknya nilai flag google_job_scheduler.max_parallel_workers_per_job database Anda, dikalikan 250. Untuk mengetahui informasi selengkapnya tentang mesin berbasis kolom, lihat Mengonfigurasi mesin berbasis kolom di AlloyDB Omni.

    Misalnya, jika tanda database google_job_scheduler.max_parallel_workers_per_job disetel ke nilai defaultnya, yaitu 2, pertimbangkan untuk menambahkan tanda --shm-size=500m atau yang lebih besar saat memulai server database Anda.

    Untuk mengetahui informasi selengkapnya tentang flag --shm-size, lihat Menjalankan container.