Menyesuaikan penginstalan AlloyDB Omni

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 lebih dari 20 GB
  • OS berbasis Debian (Ubuntu, dll.), RHEL 8 atau 9
  • Kernel Linux versi 6.1 atau yang lebih tinggi atau kernel Linux versi 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 lebih dari 20 GB
  • Docker Desktop 4.30 atau yang lebih tinggi
  • (*) Dukungan Arm berada dalam Pratinjau.

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

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

    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 mempersulit untuk menemukan dan menggunakan direktori data. Sebagai gantinya, Anda dapat menyiapkan pengikatan mount untuk memetakan direktori data ke lokasi yang diketahui di disk.

    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

    Ganti kode berikut:

    • CONTAINER_NAME: nama untuk menetapkan penampung AlloyDB Omni baru ini di registry penampung 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 digunakan AlloyDB Omni untuk direktori datanya.

    • HOST_PORT: port TCP di mesin host tempat penampung 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

    Ganti kode berikut:

    • CONTAINER_NAME: nama untuk menetapkan penampung AlloyDB Omni baru ini di registry penampung 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 digunakan AlloyDB Omni untuk direktori datanya.

    • HOST_PORT: port TCP di mesin host tempat penampung 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

    Ganti kode berikut:

    • CONTAINER_NAME: nama untuk menetapkan penampung AlloyDB Omni baru ini di registry penampung 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 digunakan AlloyDB Omni untuk direktori datanya.

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

    Mengaktifkan ulimits

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

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

    • memlock=-1:-1: AlloyDB Omni melakukan pengelolaan memori otomatis. Menetapkan --ulimit=memlock=-1:-1 memungkinkan database mengontrol cara halaman memori ditukar masuk dan keluar dengan lebih baik, 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

    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

    Menentukan driver logging

    Secara default, Docker tidak melakukan rotasi log. Hal ini dapat menghabiskan banyak kapasitas disk, dan pada akhirnya menyebabkan kapasitas 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

    Podman

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

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

    Anda juga dapat mengonfigurasi logging menggunakan PostgreSQL. Untuk informasi selengkapnya, lihat dokumentasi PostgreSQL Logging dan pelaporan error.

    Memasang volume memori bersama

    Jika Anda berencana menggunakan mesin 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 dalam contoh berikut.

    Linux

    Agar memori bersama tersedia untuk penampung, 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

    Podman

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

    macOS

    Agar memori bersama tersedia untuk penampung, 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

    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

    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 informasi selengkapnya tentang mesin kolom, lihat Mengonfigurasi mesin kolom di AlloyDB Omni.

    Misalnya, jika flag database google_job_scheduler.max_parallel_workers_per_job ditetapkan ke nilai defaultnya, yaitu 2, sebaiknya tambahkan flag --shm-size=500m atau yang lebih tinggi saat memulai server database.

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