הגדרת שכפול של המתנה ראשית עבור Postgres

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

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

הגדרת רפליקציה של המתנה הראשית ב- זמן ההתקנה

אפשר להגדיר רפליקציה של המתנה ראשית בזמן ההתקנה על ידי הוספת הדברים הבאים מאפיינים בקובץ התצורה לשני הצמתים של Postgres:

PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY

מנהל ההתקנה מגדיר באופן אוטומטי את שני צומתי ה-Postgres כך שיפעלו כהמתנה ראשית עם רפליקציה.

הגדרת רפליקציה של המתנה הראשית לאחר ההתקנה

אפשר להגדיר רפליקציה של המתנה ראשית לאחר ההתקנה באמצעות תהליך:

  1. מזהים איזה צומת Postgre יהיה הראשי ומי יהיה שרת ההמתנה.
  2. בצומת הראשי, עורכים את קובץ התצורה כדי להגדיר:
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  3. מפעילים רפליקציה בחשבון הראשי החדש:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. בצומת ההמתנה, עורכים את קובץ התצורה כדי להגדיר:
    PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
    PG_STANDBY=IPorDNSofNewStandby
  5. כדי לעצור את הצומת של מצב ההמתנה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  6. בצומת ההמתנה, מוחקים את כל נתוני Postgres הקיימים:
    rm -rf /opt/apigee/data/apigee-postgresql/
  7. מגדירים את הצומת למצב המתנה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile

בדיקת רפליקציה של המתנה הראשית

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

  1. בצומת הראשי, מריצים את:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    בודקים שהוא כתוב בתור הראשי.

  2. בצומת ההמתנה:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    בודקים שמדובר במצב ההמתנה.