Installa AlloyDB Omni per Linux

Seleziona una versione della documentazione:

Puoi eseguire installazioni di una singola istanza di AlloyDB Omni su qualsiasi macchina Linux o server bare metal che supporti i runtime RHEL 9.

Per iniziare a utilizzare questo modello di deployment, invia questo modulo per richiedere l'accesso.

Prima di iniziare

Prima di installare AlloyDB Omni, leggi Pianificare l'installazione di AlloyDB Omni.

Crea una directory in cui AlloyDB Omni archivia i dati

Se utilizzi un sistema di archiviazione che esegue AlloyDB Omni insieme ad altre applicazioni, puoi creare la directory AlloyDB Omni nel file system esistente del tuo dispositivo. In caso contrario, puoi creare un nuovo file system sul tuo dispositivo dedicato.

File system esistente

Per creare una directory in un file system esistente, esegui questo comando:

mkdir -p DATA_DIR

Sostituisci la seguente variabile:

  • DATA_DIR: il percorso della directory host in cui sono archiviati i dati.

Dispositivo dedicato

Per creare una directory in un file system dedicato:

  1. Crea una directory sull'host in cui verrà montato il disco.

    mkdir -p MOUNT_POINT

    Sostituisci la seguente variabile:

    • MOUNT_POINT: il percorso della directory di primo livello che deve contenere l'istanza AlloyDB Omni.
  2. Crea una tabella delle partizioni e un file system gpt e monta il dispositivo disco.

    EXT4

    parted -s DEVICE_PATH mklabel gpt
    parted -s DEVICE_PATH mkpart primary 0% 100%
    mkfs.ext4 -q -m 1 -L FS_LABEL -F PARTITION_PATH
    echo -e "LABEL=FS_LABEL\tMOUNT_POINT\text4\tdefaults\t0 0" | tee -a /etc/fstab
    mount MOUNT_POINT

    Sostituisci le seguenti variabili:

    • DEVICE_PATH: il percorso assegnato dal sistema operativo al dispositivo disco.
    • FS_LABEL: l'etichetta del file system. La lunghezza massima è di 12 caratteri per xfs.
    • PARTITION_PATH: percorso della partizione del disco utilizzata per archiviare i dati del file system.

    XFS

    parted -s DEVICE_PATH mklabel gpt
    parted -s DEVICE_PATH mkpart primary 0% 100%
    dnf install xfsprogs
    mkfs.xfs -L FS_LABEL -f PARTITION_PATH
    echo -e "LABEL=FS_LABEL\tMOUNT_POINT\txfs\tdefaults\t0 0" | tee -a /etc/fstab
    mount MOUNT_POINT

    Sostituisci le seguenti variabili:

    • DEVICE_PATH: il percorso assegnato dal sistema operativo al dispositivo disco.
    • FS_LABEL: l'etichetta del file system. La lunghezza massima è di 16 caratteri per ext4.
    • PARTITION_PATH: percorso della partizione del disco utilizzata per archiviare i dati del file system.
  3. Crea una directory di dati in questo file system. Ti consigliamo di creare DATA_DIR come sottodirectory all'interno del punto di montaggio, ad esempio MOUNT_POINT/17.

    mkdir -p DATA_DIR

    Sostituisci DATA_DIR con il percorso della directory host in cui archiviare i dati correlati al database, ad esempio MOUNT_POINT/17.

Configura la policy SELinux

Installa il pacchetto policycoreutils-python-utils richiesto in modo che il criterio SELinux sia configurato per consentire il servizio di database AlloyDB Omni durante l'installazione del pacchetto RPM di AlloyDB Omni.

Installa AlloyDB Omni

  1. Configura il repository YUM nella directory locale.

    sudo tee -a /etc/yum.repos.d/alloydbomni.repo << EOF
    [alloydbomni]
    name=alloydbomni
    baseurl=ALLOYDB_OMNI_URL
    enabled=1
    repo_gpgcheck=0
    gpgcheck=1
    gpgkey=https://dl.google.com/linux/linux_signing_key.pub
    EOF
    
    sudo yum makecache
    

    Sostituisci ALLOYDB_OMNI_URL con l'URL di AlloyDB Omni che ricevi dopo aver richiesto l'accesso.

  2. Installa il pacchetto RPM di AlloyDB Omni.

    sudo dnf install alloydbomni17
  3. Inizializza e configura il database AlloyDB Omni.

    sudo PGPASSWORD=POSTGRES_PASSWORD PGDATA=DATA_DIR /usr/lib/postgresql/17/bin/alloydbomni17-setup initdb

    (Facoltativo) Puoi trasmettere le opzioni initdb standard come una singola stringa nella variabile POSTGRES_INITDB_ARGS.

  4. Se utilizzi una directory di dati personalizzata, esegui i seguenti comandi per configurare SELinux in modo da consentire al servizio AlloyDB Omni di leggere e scrivere dati in quella directory. Questo passaggio richiede l'installazione del pacchetto policycoreutils-python-utils.

    /usr/sbin/semanage fcontext -a -t postgresql_db_t "DATA_DIR(/.*)?"
    
    /sbin/restorecon -R -F DATA_DIR
    
  5. Prepara il database AlloyDB Omni.

    sudo PGPASSWORD=POSTGRES_PASSWORD /usr/lib/postgresql/17/bin/alloydbomni17-setup preparedb
  6. Facoltativo. Per l'esecuzione ottimizzata del servizio AlloyDB Omni, esegui il comando seguente.

    sudo /usr/lib/postgresql/17/bin/alloydbomni17-setup-host

    L'esecuzione del comando precedente imposta le seguenti configurazioni di sistema sui valori consigliati:

    Impostazioni di sistema Valore consigliato
    /sys/kernel/mm/transparent_hugepage/shmem_enabled within_size
    /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_swap 511
    /sys/kernel/mm/transparent_hugepage/khugepaged/max_ptes_shared 511
    /proc/sys/vm/nr_overcommit_hugepages valore uguale alla dimensione di MemTotal in MB
    /proc/sys/vm/max_map_count 1073741824

    Per trasmettere valori personalizzati per queste configurazioni, includi argomenti nel formato <system_setting>=<value> nel comando alloydbomni17-setup-host, come nel seguente esempio:

    sudo /usr/lib/postgresql/17/bin/alloydbomni17-setup-host /proc/sys/vm/max_map_count=2097152 /proc/sys/vm/nr_overcommit_hugepages=524288
    
  7. Avvia il servizio systemd di AlloyDB Omni.

    sudo systemctl enable alloydbomni17
    
    sudo systemctl start alloydbomni17
    
  8. Controlla se il servizio AlloyDB Omni è in esecuzione correttamente.

    sudo systemctl status alloydbomni17

    Di seguito è riportato un esempio di risposta. Verifica che lo stato sia attivo (in esecuzione).

        Loaded: loaded (/usr/lib/systemd/system/alloydbomni17.service; enabled; preset: disabled)
       Drop-In: /etc/systemd/system/alloydbomni17.service.d
         Active: active (running) since Wed 2025-11-19 07:37:31 UTC; 1 day 6h ago "
       Process: 120228 ExecStartPre=/usr/lib/postgresql/17/bin/alloydbomni17-check-db-dir ${PGDATA} (code=exited, status=0 SUCCESS)
      Main PID: 120231 (postgres)
         Tasks: 19 (limit: 203438)
        Memory: 161.7M (peak: 170.0M)
           CPU: 28min 10.149s
        CGroup: /system.slice/alloydbomni17.service
                ├─120231 /usr/lib/postgresql/17/bin/postgres -D /var/lib/postgresql/17/data
                ├─120232 "postgres: alloydb internal logger "
                ├─120233 "postgres: checkpointer "
                ├─120234 "postgres: background writer "
                ├─120237 "postgres: walwriter "
                ├─120243 "postgres: lux wal preallocator "
                ├─120244 "postgres: autovacuum launcher "
                ├─120246 "postgres: free buffer manager "
                ├─120247 "postgres: buffer control "
    

Passaggi successivi