Personnaliser votre installation AlloyDB Omni

Sélectionnez une version de la documentation :

AlloyDB Omni est déployé via une image Docker, ce qui permet différentes formes de personnalisation. Cette page présente certaines des personnalisations courantes utilisées.

Pour commencer rapidement à utiliser AlloyDB Omni avec la configuration par défaut, consultez Guide de démarrage rapide : AlloyDB Omni.

Avant de commencer

Le tableau suivant répertorie la configuration matérielle et logicielle recommandée pour AlloyDB Omni.

Système d'exploitation/Plate-forme Configuration matérielle recommandée Configuration logicielle recommandée
Linux
  • Processeur x86-64 ou Arm (*) avec prise en charge d'AVX2
  • 8 Go de RAM pour chaque processeur alloué à AlloyDB Omni
  • Plus de 20 Go d'espace disque
  • Système d'exploitation basé sur Debian (Ubuntu, etc.) ou RHEL 9
  • Version 6.1 ou ultérieure du noyau Linux, ou toute version de noyau Linux antérieure à 5.3 prenant en charge les directives MADV_COLLAPSE et MADV_POPULATE_WRITE
  • Cgroupsv2 activé
  • Docker Engine 25.0.0+ ou Podman 5.0.0+
  • macOS
  • Processeur Intel avec prise en charge d'AVX2 ou puce M
  • 8 Go de RAM pour chaque processeur alloué à AlloyDB Omni
  • Plus de 20 Go d'espace disque
  • Docker Desktop 4.30 ou version ultérieure
  • (*) La prise en charge d'Arm est disponible en version preview.

    AlloyDB Omni s'exécute dans un conteneur. Installez un environnement d'exécution de conteneur tel que Docker ou Podman sur votre machine avant d'installer AlloyDB Omni.

    Les commandes Podman sont fournies pour un conteneur sans racine exécuté sur un système Security-Enhanced Linux (SELinux) désactivé.

    Serveur unique

    Installer un répertoire de données externe

    Par défaut, la commande du guide de démarrage rapide Installer AlloyDB Omni stocke les données de la base de données dans une zone gérée par Docker. Cela est pratique pour commencer, mais il est difficile de trouver et d'utiliser le répertoire de données. Vous pouvez plutôt configurer une installation de liaison pour mapper le répertoire de données à un emplacement connu sur votre disque.

    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

    Remplacez les éléments suivants :

    • CONTAINER_NAME : nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le Container Registry de votre machine hôte (par exemple, my-omni).

    • NEW_PASSWORD : mot de passe attribué à l'utilisateur postgres du nouveau conteneur après sa création.

    • DATA_DIR : chemin d'accès au système de fichiers qu'AlloyDB Omni doit utiliser pour son répertoire de données.

    • HOST_PORT : port TCP sur la machine hôte sur lequel le conteneur publie le port 5432. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez 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

    Remplacez les éléments suivants :

    • CONTAINER_NAME : nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le Container Registry de votre machine hôte (par exemple, my-omni).

    • NEW_PASSWORD : mot de passe attribué à l'utilisateur postgres du nouveau conteneur après sa création.

    • DATA_DIR : chemin d'accès au système de fichiers qu'AlloyDB Omni doit utiliser pour son répertoire de données.

    • HOST_PORT : port TCP sur la machine hôte sur lequel le conteneur publie le port 5432. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez 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

    Remplacez les éléments suivants :

    • CONTAINER_NAME : nom à attribuer à ce nouveau conteneur AlloyDB Omni dans le Container Registry de votre machine hôte (par exemple, my-omni).

    • NEW_PASSWORD : mot de passe attribué à l'utilisateur postgres du nouveau conteneur après sa création.

    • DATA_DIR : chemin d'accès au système de fichiers qu'AlloyDB Omni doit utiliser pour son répertoire de données.

    • HOST_PORT : port TCP sur la machine hôte sur lequel le conteneur publie le port 5432. Pour utiliser également le port PostgreSQL par défaut sur la machine hôte, spécifiez 5432.

    Activer les ulimits

    Les paramètres ulimit spécifient les limites de processus que le conteneur Docker peut utiliser. Pour des performances optimales, nous vous recommandons de définir les ulimits suivants :

    • nice=-20:-20 : AlloyDB Omni ajuste les priorités des processus pour permettre aux processus PostgreSQL critiques de s'exécuter avec une priorité plus élevée. La priorité plus élevée alloue aux processus une plus grande partie des processeurs disponibles. Pour ajuster les priorités des processus, spécifiez --ulimit=nice=-20:-20, ce qui supprime les limites du conteneur AlloyDB Omni.

    • memlock=-1:-1 : AlloyDB Omni effectue une gestion automatique de la mémoire. Définir --ulimit=memlock=-1:-1 permet à la base de données de mieux contrôler la manière dont les pages de mémoire sont échangées, ce qui peut améliorer les performances.

    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

    Spécifier un pilote de journalisation

    Par défaut, Docker n'effectue pas de rotation des journaux. Cela peut utiliser beaucoup d'espace disque et, à terme, entraîner une saturation de l'espace disque. Vous pouvez configurer Docker pour qu'il utilise un autre pilote de journalisation. Par exemple, pour enregistrer dans 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

    Pour en savoir plus sur Docker et les pilotes de journalisation, consultez la documentation de Docker Configurer les pilotes de journalisation.

    Vous pouvez également configurer la journalisation à l'aide de PostgreSQL. Pour en savoir plus, consultez la documentation PostgreSQL Rapports d'erreurs et journalisation.

    Installer un volume de mémoire partagée

    Si vous prévoyez d'utiliser le moteur de données en colonnes AlloyDB avec AlloyDB Omni, nous vous recommandons de rendre la mémoire partagée disponible pour le conteneur AlloyDB Omni. La méthode à suivre varie en fonction de votre système d'exploitation hôte, comme illustré dans les exemples suivants.

    Linux

    Pour rendre la mémoire partagée disponible pour le conteneur, installez /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

    Pour rendre la mémoire partagée disponible pour le conteneur, incluez l'option --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

    Remplacez SHARED_MEMORY_SIZE par la taille à définir pour /dev/shm sur le conteneur, au format décrit dans Exécuter des conteneurs. Par exemple, pour spécifier un gigaoctet, utilisez la valeur 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

    Remplacez SHARED_MEMORY_SIZE par la taille à définir pour /dev/shm sur le conteneur, au format décrit dans Exécuter des conteneurs. Par exemple, pour spécifier un gigaoctet, utilisez la valeur 1g.

    Nous vous recommandons de définir la taille de la mémoire partagée sur un nombre de mégaoctets égal à au moins la valeur de l'option the google_job_scheduler.max_parallel_workers_per_job flag de votre base de données, multipliée par 250. Pour en savoir plus sur le moteur de données en colonnes, consultez Configurer le moteur de données en colonnes dans AlloyDB Omni.

    Par exemple, si l'option de base de données google_job_scheduler.max_parallel_workers_per_job est définie sur sa valeur par défaut 2, envisagez d'ajouter une option --shm-size=500m ou supérieure lorsque vous démarrez votre serveur de base de données.

    Pour en savoir plus sur l'option --shm-size, consultez Exécuter des conteneurs.