התקנה של AlloyDB Omni ל-Linux

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

אתם יכולים לבצע התקנות של מופע יחיד של 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/17.

    mkdir -p DATA_DIR

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

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

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

התקנה של 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=0
    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 alloydbomni17
  3. מפעילים ומגדירים את מסד הנתונים AlloyDB Omni.

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

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

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

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

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

    sudo /usr/lib/postgresql/17/bin/alloydbomni17-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> בפקודה alloydbomni17-setup-host, כמו בדוגמה הבאה:

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

    sudo systemctl enable alloydbomni17
    
    sudo systemctl start alloydbomni17
    
  8. בודקים אם שירות AlloyDB Omni פועל בצורה תקינה.

    sudo systemctl status alloydbomni17

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

        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 "
    

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