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

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

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

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

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

PG_MASTER=IPorDNSofNewMaster
PG_STANDBY=IPorDNSofNewStandby

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

הגדרת רפליקציית מאסטר-בהמתנה לאחר ההתקנה

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

  1. מזהים איזה צומת של Postgre יהיה השרת הראשי ואיזה יהיה שרת המתנה.
  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

בדיקת שכפול מאסטר-סטנדביי

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

  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

    מוודאים שכתוב שהוא במצב המתנה.