הגדרת AlloyDB Omni לסביבת ייצור

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

בדף הזה מוצגות הגדרות נפוצות כשמשתמשים ב-AlloyDB Omni לעומסי עבודה בסביבת ייצור.

הפעלת דפים גדולים

‫AlloyDB Omni, כמו PostgreSQL, תומך בשימוש בדפים גדולים. כדי לעשות את זה, צריך להפעיל דפים גדולים במכונה, וגם להפעיל הגדרה של מסד נתונים huge_pages.

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

Docker

      docker run --rm --privileged google/alloydbomni setup-host
      

Docker

      docker run --rm --privileged google/alloydbomni setup-host
      

Podman

      podman run --rm --privileged google/alloydbomni setup-host
      

Podman

      podman run --rm --privileged google/alloydbomni setup-host
      
כדי להפעיל דפים גדולים, מוסיפים את השורה הבאה ל-postgresql.conf:

   huge_pages=on

הפעלת ההחלפה

החלפה במערכת ההפעלה מאפשרת להרחיב את הזיכרון הפיזי הזמין על ידי העברת דפי זיכרון לא פעילים בין זיכרון הגישה האקראית (RAM) לבין הדיסק הקשיח, כדי לפנות מקום ב-RAM לתהליכים פעילים. ‫AlloyDB Omni משתמש בהחלפה כשהוא בעומס גבוה וצריך עוד זיכרון.

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

   cat /proc/meminfo | grep SwapTotal

הפלט אמור להיראות כך:

   SwapTotal:      165748732 kB

כדי להפעיל החלפה במערכת ההפעלה אם ערך הפלט הוא 0, עיינו במאמרים הבאים:

הפעלת תמונות מצב בזמן שגיאה

אם AlloyDB Omni נתקל בשגיאה שבעקבותיה אי אפשר לשחזר וקורס, כדאי שיהיה לכם תמונת מצב בזמן שגיאה לצורך ניתוח. קובץ core dump הוא תמונת מצב של הזיכרון של תהליך AlloyDB Omni בנקודת הקריסה.

כדי להגדיר תמונות מצב בזמן שגיאה, מגדירים את kernel.core_pattern באופן הבא:

  1. משתמשים בפקודה sysctl כדי להגדיר פרמטרים של ליבת זמן הריצה.
  2. כדי להגדיר את kernel.core_pattern באופן מיידי, משתמשים בפקודה:

    sysctl -w kernel.core_pattern="CORE_PATTERN"

    מחליפים את CORE_PATTERN בתבנית של שם קובץ ליבה, כמו ‎ "%e-%t.core".

    למידע נוסף על תבניות של שמות קובצי ליבה, ראו איך מגדירים שמות של קובצי ליבה של תהליכים.

    הכלי systemd-coredump מאפשר להגדיר את ה-coredump. הכלי מותקן כברירת מחדל ב-RHEL. במערכות Debian ו-Ubuntu, מריצים את הפקודה sudo apt install coredumpctl כדי להתקין את הכלי.

כשמפעילים את AlloyDB Omni, צריך לוודא שמעבירים את הארגומנט --ulimit=core:-1:-1 בפקודה docker run:

Docker

   docker run --name CONTAINER_NAME 
-e POSTGRES_PASSWORD=NEW_PASSWORD
--ulimit=core:-1:-1
-p HOST_PORT:5432 -d google/alloydbomni

Docker

   docker run --name CONTAINER_NAME 
-e POSTGRES_PASSWORD=NEW_PASSWORD
--ulimit=core:-1:-1
-p HOST_PORT:5432 -d google/alloydbomni

Podman

   podman run --name CONTAINER_NAME 
-e POSTGRES_PASSWORD=NEW_PASSWORD
--ulimit=core:-1:-1
-p HOST_PORT:5432 -d google/alloydbomni

Podman

   podman run --name CONTAINER_NAME 
-e POSTGRES_PASSWORD=NEW_PASSWORD
--ulimit=core:-1:-1
-p HOST_PORT:5432 -d google/alloydbomni

מחליפים את מה שכתוב בשדות הבאים:

  - `CONTAINER_NAME`: the name of a new
    AlloyDB Omni container—for example, `my-omni-1`.
  - `NEW_PASSWORD`: the password assigned to the new
    container's `postgres` user after the password creation.

הפעלת רישום ביומן פנימי

ב-AlloyDB Omni יש הודעות נוספות בנוסף ליומנים הרגילים של PostgreSQL. ההודעות האלה מיועדות לתמיכה של AlloyDB ל-PostgreSQL בגלל האופי הטכני שלהן. עם זאת, מידע נוסף יכול לעזור בניפוי באגים בבעיות במסד הנתונים.

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

  1. מגדירים את הפרמטר enable_alloydb_internal_log של מסד הנתונים לערך on:

    ALTER SYSTEM SET enable_alloydb_internal_log=on;
    

    מידע נוסף על שינוי ההגדרות של AlloyDB Omni מופיע במאמר הגדרת הפרמטרים של מסד הנתונים של AlloyDB Omni.

  2. מפעילים מחדש את שירות AlloyDB Omni:

Docker

   docker restart CONTAINER_NAME
   

Docker

   docker restart CONTAINER_NAME
   

Podman

   podman restart CONTAINER_NAME
   

Podman

   podman restart CONTAINER_NAME
   

כדי להתאים אישית את הרישום הפנימי ביומן, כמו הגדרת שמות של קובצי יומן ומדיניות רוטציה, משתמשים בפרמטרים של PostgreSQL.

לדוגמה, הפרמטר log_directory מציין את הספרייה שבה צריך לשמור קובץ יומן, והפרמטר log_filename מגדיר את השם של קובץ היומן הספציפי.

‫AlloyDB Omni משלב את הפרמטרים log_directory ו-log_filename ושומר את היומנים הפנימיים באופן הבא:

LOG_DIRECTORY/LOG_FILENAME.internal

הגדרת יחידות systemd להפעלת פעולות באופן אוטומטי

אם אתם מריצים את AlloyDB Omni בשרת ייעודי, יכול להיות שתרצו להגדיר פעולות מסוימות כך שיתחילו באופן אוטומטי כשהשרת מופעל. אחת הדרכים לעשות את זה היא באמצעות יחידות systemd.

לדוגמה, השלבים הבאים מגדירים את systemd כך שדפים גדולים יופעלו באופן אוטומטי בכל פעם שהשרת יופעל.

יוצרים קובץ ב-/etc/systemd/system/alloydb-setup-env.service:

   [Unit]
   Description=Setup huge pages for AlloyDB Omni

   [Service]
   Type=oneshot

   ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host

   [Install]
   WantedBy=multi-user.target

כדי להפעיל את השירות:

   sudo systemctl enable alloydb-setup-env.service

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