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
  • Kapasitas disk 20+ GB
  • OS berbasis Debian (Ubuntu, dll.) atau RHEL 9
  • Linux kernel versi 6.1 atau yang lebih tinggi atau versi Linux kernel apa pun yang lebih lama dari 5.3 yang memiliki dukungan untuk perintah 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
  • Kapasitas 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. Hal ini memudahkan untuk memulai, tetapi menyulitkan untuk menemukan dan menggunakan direktori data. Sebagai gantinya, Anda dapat menyiapkan pemasangan ikat 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 Container Registry mesin host Anda—misalnya, my-omni.

    • NEW_PASSWORD: sandi yang ditetapkan untuk pengguna postgres container 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 Container Registry mesin host Anda—misalnya, my-omni.

    • NEW_PASSWORD: sandi yang ditetapkan untuk pengguna postgres container 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 Container Registry mesin host Anda—misalnya, my-omni.

    • NEW_PASSWORD: sandi yang ditetapkan untuk pengguna postgres container 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 container Docker. Untuk performa optimal, sebaiknya Anda menetapkan ulimit berikut:

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

    • memlock=-1:-1: AlloyDB Omni melakukan manajemen 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. Hal ini dapat menghabiskan banyak ruang disk, dan pada akhirnya menyebabkan kehabisan ruang disk. 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 columnar engine AlloyDB dengan AlloyDB Omni, sebaiknya sediakan memori bersama untuk container AlloyDB Omni. Metode untuk melakukannya berbeda-beda bergantung pada sistem operasi host Anda, seperti yang ditunjukkan dalam 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

    Agar memori bersama tersedia untuk container, sertakan flag --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 pada container, dalam format yang dijelaskan di Menjalankan container. 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_jobdatabase Anda, dikalikan 250. Untuk mengetahui informasi selengkapnya tentang columnar engine, lihat Mengonfigurasi columnar engine di AlloyDB Omni.

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

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