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

Edge for Private Cloud גרסה 4.19.01

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

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

הגדרת שכפול Master-Standby בזמן ההתקנה

כדי להגדיר שכפול של מאסטר-גיבוי בזמן ההתקנה, צריך לכלול את המאפיינים הבאים בקובץ התצורה של שני צומתי Postgres:

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

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

הגדרת שכפול Master-Standby לאחר ההתקנה

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

  1. מזהים איזה צומת Postgres יהיה השרת הראשי ואיזה יהיה השרת המשני.
  2. בצומת הראשי, עורכים את קובץ התצורה כדי להגדיר:
    PG_MASTER=IPorDNSofNewMaster
    PG_STANDBY=IPorDNSofNewStandby
  3. מפעילים את הרפליקציה במאסטר החדש:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  4. בצומת ההמתנה, עורכים את קובץ התצורה כדי להגדיר:
    PG_MASTER=IPorDNSofNewMaster
    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

בדיקת שכפול Master-Standby

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

  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

    מוודאים שמופיע הכיתוב "standby" (המתנה).