התקנה של AlloyDB Omni באמצעות RPM

בחירת גרסת תיעוד:

אתם יכולים להתקין מכונה אחת של AlloyDB Omni בכל מכונת Linux או שרת Bare Metal שתומכים בסביבות זמן ריצה של RHEL 9.

לפני שמתחילים

לפני שמתקינים את AlloyDB Omni, קוראים את המאמר תכנון ההתקנה של AlloyDB Omni.

יצירת ספרייה שבה AlloyDB Omni מאחסן נתונים

אם אתם משתמשים במערכת אחסון שמריצה את AlloyDB Omni יחד עם אפליקציות אחרות, אתם יכולים ליצור את ספריית AlloyDB Omni במערכת הקבצים הקיימת במכשיר. אחרת, אתם יכולים ליצור מערכת קבצים חדשה במכשיר הייעודי.

מערכת קבצים קיימת

כדי ליצור ספרייה במערכת קבצים קיימת, מריצים את הפקודה הבאה:

mkdir -p DATA_DIR

מחליפים את המשתנה הבא:

  • ‫DATA_DIR: הנתיב לספרייה המארחת שבה הנתונים מאוחסנים.

מכשיר ייעודי

כדי ליצור ספרייה במערכת קבצים ייעודית, מבצעים את השלבים הבאים:

  1. יוצרים ספרייה במארח שבו הדיסק ייטען.

    mkdir -p MOUNT_POINT

    מחליפים את המשתנה הבא:

    • ‫MOUNT_POINT: הנתיב לספרייה ברמה העליונה שצריכה להכיל את מופע AlloyDB Omni.
  2. יוצרים טבלת מחיצות ומערכת קבצים gpt ומעלים את מכשיר הדיסק.

    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

    מחליפים את המשתנים הבאים:

    • ‫DEVICE_PATH: הנתיב שהוקצה על ידי מערכת ההפעלה למכשיר הדיסק.
    • ‫FS_LABEL: תווית למערכת הקבצים. האורך המקסימלי הוא 12 תווים עבור xfs.
    • ‫PARTITION_PATH: הנתיב למחיצת הדיסק שמשמשת לאחסון הנתונים של מערכת הקבצים.

    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

    מחליפים את המשתנים הבאים:

    • ‫DEVICE_PATH: הנתיב שהוקצה על ידי מערכת ההפעלה למכשיר הדיסק.
    • ‫FS_LABEL: תווית למערכת הקבצים. האורך המקסימלי הוא 16 תווים עבור ext4.
    • ‫PARTITION_PATH: הנתיב למחיצת הדיסק שמשמשת לאחסון נתוני מערכת הקבצים.
  3. יוצרים ספריית נתונים במערכת הקבצים הזו. מומלץ ליצור את DATA_DIR כספריית משנה בתוך נקודת טעינה – לדוגמה, MOUNT_POINT/18.

    mkdir -p DATA_DIR

    מחליפים את DATA_DIR בנתיב של ספריית המארח שבה רוצים לאחסן נתונים שקשורים למסד הנתונים, לדוגמה MOUNT_POINT/18.

הגדרת מדיניות SELinux

מתקינים את החבילה הנדרשת של policycoreutils-python-utils כדי שמדיניות SELinux תוגדר לאפשר את שירות מסד הנתונים של AlloyDB Omni בזמן ההתקנה של חבילת ה-RPM של AlloyDB Omni.

התקנה של AlloyDB Omni

  1. מגדירים את מאגר YUM בספרייה המקומית.

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

    מחליפים את ALLOYDB_OMNI_URL בכתובת ה-URL של AlloyDB Omni שקיבלתם.

  2. מתקינים את חבילת ה-RPM של AlloyDB Omni.

    sudo dnf install alloydbomni18
  3. מאתחלים ומגדירים את מסד הנתונים של AlloyDB Omni.

    sudo PGPASSWORD=POSTGRES_PASSWORD PGDATA=DATA_DIR /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb

    אפשר גם להעביר אפשרויות סטנדרטיות של initdb כמחרוזת אחת במשתנה POSTGRES_INITDB_ARGS.

  4. אם אתם משתמשים בספריית נתונים בהתאמה אישית, מריצים את הפקודות הבאות כדי להגדיר את SELinux כך שיאפשר לשירות AlloyDB Omni לקרוא ולכתוב נתונים בספרייה הזו. כדי לבצע את השלב הזה, צריך להתקין את חבילת policycoreutils-python-utils.

    /usr/sbin/semanage fcontext -a -t postgresql_db_t "DATA_DIR(/.*)?"
    
    sudo PWFILE=PASSWORD_FILE_PATH PGDATA=DATA_DIR /usr/lib/postgresql/18/bin/alloydbomni18-setup initdb
    

    מחליפים את המשתנים הבאים:

    • ‫POSTGRES_PASSWORD: הסיסמה שלכם.
    • ‫PASSWORD_FILE_PATH: הנתיב שמכיל רק את הסיסמה בטקסט פשוט.
    • ‫DATA_DIR: הנתיב לספריית המארח שבה מאוחסנים נתונים שקשורים למסד הנתונים. לדוגמה, MOUNT_POINT/18.

    אפשר גם להעביר אפשרויות סטנדרטיות של initdb כמחרוזת אחת במשתנה POSTGRES_INITDB_ARGS.

  5. אם אתם משתמשים בספריית נתונים בהתאמה אישית ו-SELinux מופעל, הריצו את הפקודות הבאות כדי להגדיר את SELinux כך שיאפשר לשירות AlloyDB Omni לקרוא ולכתוב נתונים בספרייה הזו. כדי לבצע את השלב הזה, צריך להתקין את החבילה policycoreutils-python-utils.

      sudo /usr/sbin/semanage fcontext -a -t postgresql_db_t "DATA_DIR(/.*)?"
      sudo /sbin/restorecon -R -F DATA_DIR
    /sbin/restorecon -R -F DATA_DIR
  6. מכינים את מסד הנתונים של AlloyDB Omni.

    sudo PGPASSWORD=POSTGRES_PASSWORD /usr/lib/postgresql/18/bin/alloydbomni18-setup preparedb
  7. זה שינוי אופציונלי. כדי להפעיל את שירות AlloyDB Omni בצורה אופטימלית, מריצים את הפקודה הבאה.

    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host

    הפעלת הפקודה הקודמת מגדירה את הגדרות המערכת הבאות לערכים המומלצים שלהן:

    הגדרת המערכת הערך המומלץ
    /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 ערך ששווה לגודל של MemTotal ב-MB
    /proc/sys/vm/max_map_count 1073741824

    כדי להעביר ערכים מותאמים אישית להגדרות האלה, צריך לכלול ארגומנטים בפורמט <system_setting>=<value> בפקודה alloydbomni18-setup-host, כמו בדוגמה הבאה:

    sudo /usr/lib/postgresql/18/bin/alloydbomni18-setup-host /proc/sys/vm/max_map_count=2097152 /proc/sys/vm/nr_overcommit_hugepages=524288
    
  8. מפעילים את שירות AlloyDB Omni systemd.

    sudo systemctl enable alloydbomni18
    
    sudo systemctl start alloydbomni18
    
  9. בודקים אם שירות AlloyDB Omni פועל כמו שצריך.

    sudo systemctl status alloydbomni18

    זוהי דוגמה לתשובה. מוודאים שהסטטוס הוא פעיל (פועל).

        Loaded: loaded (/usr/lib/systemd/system/alloydbomni18.service; enabled; preset: disabled)
       Drop-In: /etc/systemd/system/alloydbomni18.service.d
         Active: active (running) since Wed 2025-11-19 07:37:31 UTC; 1 day 6h ago "
       Process: 120228 ExecStartPre=/usr/lib/postgresql/18/bin/alloydbomni18-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/alloydbomni18.service
                ├─120231 /usr/lib/postgresql/18/bin/postgres -D /var/lib/postgresql/18/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 "
    

המאמרים הבאים