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

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

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

בקטעים הבאים מוסבר איך להגדיר את השרת הראשי של AlloyDB Omni לשכפול, להגדיר את שרת הרפליקה ולאמת את סטטוס השכפול בשרת הראשי.

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

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

הגדרת השרת הראשי לשכפול

  1. מעדכנים את הגדרות הרשת או חומת האש של המארח של השרת הראשי כך שיתאפשר תעבורת כניסה מהמארח של שרת ההעתקה דרך יציאת Postgres של השרת הראשי.

  2. יוצרים משתמש שכפול:

    psql -h localhost -U postgres -c "create user REPLICA_USER with replication password 'PASSWORD';
    grant pg_read_all_settings to REPLICA_USER;"
  3. מוסיפים את השורות הבאות לקובץ /DATA_DIR/pg_hba.conf של השרת הראשי לפני host all all all scram-sha-256 שקיים בקובץ:

    host alloydbmetadata    alloydbmetadata   IP_RANGE trust
    host replication        REPLICA_USER    IP_RANGE scram-sha-256
    

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

    • IP_RANGE: טווח כתובות ה-IP, בסימון CIDR, של תת-הרשת שבה נמצאת מכונת העותק. לדוגמה, 203.0.113.0/24.
    • DATA_DIR: הנתיב לספריית הנתונים של השרת הראשי.
  4. מפעילים מחדש את השרת הראשי:

    sudo systemctl restart alloydbomni18

יצירה והגדרה של שרת העתקה

כדי ליצור ולהגדיר שרת העתקה של AlloyDB Omni:

  1. מוודאים שלעותק יש קישוריות לרשת לשרת הראשי:

    ping SOURCE_IP

    מחליפים את SOURCE_IP בכתובת ה-IP של מכונת AlloyDB Omni הראשית שממנה רוצים לשכפל.

  2. מוודאים שההעתק יכול להתחבר לשרת הראשי:

    psql "host=SOURCE_IP user=REPLICA_USER replication=1" -c "IDENTIFY_SYSTEM;"

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

           systemid       | timeline |  xlogpos  | dbname
     ---------------------+----------+-----------+--------
      7376500460465963036 |        1 | 0/454B670 |
      (1 row)
    
  3. לעותק צריך להיות מיקום אחסון מתמיד בדיסק:

    pg_basebackup \
      --pgdata=DATA_DIR \
      --checkpoint=fast \
      --host="SOURCE_IP" \
      --port="SOURCE_PORT" \
      --username=REPLICA_USER \
      --create-slot \
      --write-recovery-conf \
      --slot="SLOT_NAME"

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

    • SOURCE_PORT: יציאת ה-TCP של מכונת AlloyDB Omni הראשית שממנה מתבצע השכפול. אם לא תציינו את הערך הזה, AlloyDB Omni יחיל ערך ברירת מחדל של 5432.
    • SLOT_NAME: התווית של שם משבצת השכפול.
    • DATA_DIR: הנתיב לספריית הנתונים של שרת העותק.
  4. מפעילים את מופע הרפליקה:

    sudo systemctl start alloydbomni18

אימות סטטוס השכפול בשרת הראשי

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

psql -h localhost -U postgres -c "select * from pg_stat_replication"

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

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