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

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

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

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

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

PG_MASTER=IP_OR_DNS_OF_NEW_PRIMARY
PG_STANDBY=IP_OR_DNS_OF_NEW_STANDBY

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

הגדרת שכפול ראשי-המתנה אחרי ההתקנה

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

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

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