חזרה למצב קודם של Apigee Edge 4.52.02

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

אפשר לחזור לגרסה הקודמת של Edge 4.52.02 לגרסאות הראשיות הבאות:

  • גרסה 4.52.01
  • גרסה 4.52.00
  • גרסה 4.51.00

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

חזרה לגרסה התייחסות מיוחדת לתוכנה
4.52.01 קסנדרה
4.52.00 קסנדרה, גן החיות, Qpid
4.51.00 קסנדרה, גן החיות, Qpid, Postgres

יש שני תרחישים שבהם כדאי לבצע החזרה למצב קודם:

  1. חזרה לגרסה ראשית או לגרסה משנית קודמת. לדוגמה: מ-4.52.02 עד 4.52.00.
  2. חזרה לגרסת תיקון קודמת באותה גרסה. לדוגמה, מ-4.52.00.02 עד 4.52.00.01.

אפשר לקרוא מידע נוסף בתהליך השחרור של Apigee Edge.

סדר החזרה למצב קודם

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

סדר כללי טיפוסי של חזרה למצב קודם ב-Private Cloud 4.52.02 ייראה כך:

  1. חזרה למצב קודם של Postgres , Qpid ורכיבים אחרים הקשורים לניתוח נתונים
  2. נתבים ומעבדי הודעות למצב קודם
  3. רולבק קסנדרה, גן החיות
  4. שרת ניהול החזרה למצב קודם

לדוגמה, נניח ששדרגת את כל אשכול Cassandra, את כל שרתי הניהול שלך וכמה RMP לגרסה 4.52.02 מגרסה 4.52.01 וברצונך לחזור לגרסה קודמת. במקרה כזה, צריך:

  1. חזרה למצב קודם של כל מסמכי ה-RMP בנפרד
  2. החזרת כל אשכול Cassandra באמצעות גיבויים
  3. החלפת צמתים של שרת ניהול Edge אחד אחרי השני

מי יכול לבצע החזרה למצב קודם

המשתמש שביצע החזרה למצב קודם צריך להיות זהה למשתמש שעדכן במקור את Edge, או משתמש שרץ ברמה הבסיסית (root).

כברירת מחדל, רכיבי Edge פועלים בתור המשתמש 'apigee'. במקרים מסוימים, יכול להיות שרכיבי Edge ירוצו כמשתמשים שונים. לדוגמה, אם לנתב יש גישה ליציאות בעלות הרשאות, כמו כאלה שנמוכות מ-1,000, צריך להריץ את הנתב ברמה הבסיסית (root) או כמשתמש עם גישה ליציאות האלה. לחלופין, תוכלו להריץ רכיב אחד כמשתמש אחד ורכיב אחר כמשתמש אחר.

רכיבים עם קוד משותף

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

  • edge-management-server (שרת ניהול)
  • edge-message-processor (מעבד הודעות)
  • edge-router (נתב)
  • edge-postgres-server (שרת Postgres)
  • edge-qpid-server (שרת Qpid)

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

החזרה של Cassandra

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

מתודולוגיות להחזרה למצב קודם

מחיקת הצמתים הקיימים באשכול ושימוש בהם כדי לבנות מחדש את הצומת

אפשר לבצע את התהליך הזה אם יש באשכול לפחות מרכז נתונים אחד שפועל באופן מלא ופעיל בגרסה הישנה יותר של Cassandra (קסנדרה 2.1.22). אם שדרגתם את כל אשכול Cassandra ואתם רוצים לחזור לגרסה קודמת, עליכם לבצע את השלבים שמפורטים בקטע מחיקה ושחזור של גיבוי או תמונת מצב של ה-VM.

השלבים להחזרה למצב הקודם

  1. מתחילים בצומת שרוצים להחזיר למצב קודם:
    • עוצרים את Cassandra בצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • מסירים את תוכנת Cassandra מהצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • הסרת ספריית הנתונים מהצומת:
      rm -rf /opt/apigee/data/apigee-cassandra
    • מורידים ומפעילים את ה-אתחול של הגרסה הישנה יותר של Edge לענן פרטי שרוצים להחזיר אליה את המכשיר.

    לדוגמה: כדי לחזור לגרסה 4.52.01,

    • הורדת Bottrap מ-4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • הפעלת אתחול מגרסה 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • מגדירים את Cassandra בצומת:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • מריצים יצירה מחדש של הצומת על ידי ציון השם של מרכז הנתונים הפונקציונלי:
      /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>
    • חוזרים על השלבים שלמעלה בכל צומת שרוצים להחזיר למצב קודם, אחד בכל פעם.
  2. אחרי שכל הצמתים מחזירים ומבנים מחדש:
    • הרצת ההגדרה של כל צומת של שרת ניהול. מוודאים ששרת הניהול הוא מהגרסה שהוחזרה. אם לא, יש להחזיר גם את שרת הניהול למצב קודם.
    • מפסיקים את שרת הניהול:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
    • אם משתמשים במונטיזציה, צריך להסיר גם את המונטיזציה:
      /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
    • מסירים את שרת הניהול:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    • צריך להוריד ולהפעיל bootrap של הגרסה הישנה. לדוגמה, מבצעים את השלבים הבאים כדי להוריד ולהפעיל אתחול אתחול מגרסה 4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
    • מריצים את ההגדרה של צומת שרת ניהול אחד:
      /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile

אופטימיזציה לאחר בנייה מחדש

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

דוגמה: נניח שיש לכם שישה צמתים של Cassandra במרכז הנתונים המקומי. כברירת מחדל, גורם הרפליקציה של Apigee הוא שלושה, כך שלכל צומת יש 50% מהנתונים. במקרה כזה, ניתן לבנות מחדש את צמתים מס' 1 ו-4 על ידי ביצוע ההליך שתואר קודם. לגבי הצמתים מס' 2, 3, 5 ו-6, פועלים לפי השלבים הבאים כדי לשחזר את הגיבוי ולהפעיל תיקון.

  1. יש לפעול לפי התהליך עד שלב שישי כפי שתועד, כדי לבנות מחדש רפליקות במרכז הנתונים המקומי.
  2. לגבי הצמתים הנותרים, פועלים לפי השלבים הבאים בכל צומת שנותר, אחד בכל פעם.
    • משחזרים את הגיבוי שתועד בצומת הזה (הערה: סביר להניח שהגיבוי הזה יכלול נתונים לא פעילים כי הגיבוי הזה בוצע לפני התחלת השדרוג של Cassandra):
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • אם יש לכם תמונת מצב של ה-VM של הצומת, תוכלו לשחזר את תמונת המצב במקום לשחזר את הגיבוי של Cassandra.
    • אחרי שהגיבוי ישוחזר, מפעילים את שירות Cassandra בצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • לבצע תיקון בצומת כך שהנתונים העדכניים ביותר יועברו ממרכז נתונים קיים:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>
    • חוזרים על השלבים שלוש עד שש בכל צומת שרוצים לתקן.

מחיקה ושחזור של תמונת המצב של הגיבוי/ה-VM

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

בנוסף, גיבויים ב-Apigee הם ספציפיים לצמתים. לא ניתן לשחזר גיבוי שנלקח מצומת אחד לצומת אחר. גיבויים של Cassandra כוללים את פרטי המטא-נתונים של הצמתים (כמו כתובת IP, מיקום הצלצול וכו').

  1. מתחילים עם צומת Cassandra אחד באשכול:
    • הפסקת שירות Cassandra בצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • מסירים את תוכנת Cassandra מהצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    • הסרת ספריית הנתונים מהצומת:
      rm -rf /opt/apigee/data/apigee-cassandra
    • מורידים ומפעילים אתחול של גרסה ישנה יותר של Edge לענן פרטי שרוצים להחזיר אליה את המכשיר.

    לדוגמה: כדי לחזור לגרסה 4.52.01

    • הורדת Bottrap מ-4.52.01:
      curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
    • הפעלת אתחול מגרסה 4.52.01:
      sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord

    • מגדירים את Cassandra בצומת:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
    • משחזרים את הגיבוי בצומת באמצעות התהליך שבקטע שחזור מגיבוי.
    • עוצרים את Cassandra בצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    • מחיקת ספריית הנתונים:
      rm -rf /opt/apigee/data/apigee-cassandra/data
    • שחזור הגיבוי:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
    • מפעילים שירות Cassandra בצומת:
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
    • חוזרים על השלבים בכל צומת של Cassandra, בנפרד.
    • מריצים תיקון בכל הצמתים, אחד בכל פעם:
      /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

החזרת העדכון של Zoomkeeper 3.8.3 למצב הקודם

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

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

חזרה ל-Qpid

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

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

חזרה לגרסה הקודמת של עדכון Postgres 10.17

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

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

חזרה לגרסה קודמת או לגרסה משנית קודמת

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

  1. מורידים את הקובץ bootstrap.sh של הגרסה שרוצים להחזיר אליה:

    • כדי לחזור לגרסה 4.51.00, צריך להוריד את bootstrap_4.51.00.sh:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh 
  2. עוצרים את הרכיב כדי לחזור למצב קודם:
    1. כדי להחזיר למצב קודם (roll back) אחד מהרכיבים עם קוד משותף בצומת, צריך לעצור את כולם, כפי שמוצג בדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
       /opt/apigee/apigee-service/bin/apigee-service edge-router stop
       /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
       /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
       /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. כדי להחזיר לאחור כל רכיב אחר בצומת, צריך לעצור רק את הרכיב הזה:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. אם משביתים את התכונה 'מונטיזציה', צריך להסיר אותה מכל הצמתים של שרת הניהול ומעבד ההודעות:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. מסירים את הרכיב כדי לחזור למצב קודם בצומת:
    1. כדי לחזור לגרסה קודמת של כל אחד מהרכיבים עם קוד נפוץ בצומת, צריך להסיר את כולם על ידי הסרה של קבוצת הרכיבים edge-gateway, כמו בדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. כדי להחזיר לאחור כל רכיב אחר בצומת, צריך להסיר רק את הרכיב הזה, כפי שמוצג בדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      כאשר component הוא שם הרכיב.

    3. כדי להחזיר את ה-Edge Router, צריך למחוק את התוכן של הקובץ /opt/nginx/conf.d בנוסף להסרה של קבוצת הרכיבים edge-gateway:
      cd /opt/nginx/conf.d
       rm -rf *
  5. מסירים את גרסה 4.52.02 של apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. מתקינים את גרסה 4.51.00 של כלי השירות apigee-service ואת יחסי התלות שלו. בדוגמה הבאה מתקינים את גרסה 4.51.00 של apigee-service:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    כאשר uName ו-pWord הם שם המשתמש והסיסמה שקיבלתם מ-Apigee. אם תשמיטו את pWord, תתבקשו להזין אותו.

    אם מופיעה הודעת שגיאה, חשוב לוודא שהורדתם את הקובץ bootstrap.sh בשלב 1.

  7. מתקינים את apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. מתקינים את הגרסה הישנה יותר של הרכיב:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    כאשר component הוא הרכיב להתקנה ו-configFile הוא קובץ התצורה של הגרסה הישנה.

  9. אם בחרת להחזיר Qpid לגרסה קודמת, מכשירי iPad פשוטים:
    sudo iptables -F
  10. חוזרים על התהליך הזה לכל צומת שמארח את הרכיב שחוזרים לגרסה הקודמת.

חזרה לגרסת תיקון קודמת

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

  1. מורידים את הגרסה הספציפית של הרכיב:
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    component_version הוא גרסת הרכיב והתיקון שצריך להתקין. לדוגמה:

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install

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

    yum --showduplicates list comp

    למשל:

    yum --showduplicates list edge-ui
  2. כדי להתקין את הרכיב, משתמשים ב-apigee-setup:
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    למשל:

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    שימו לב שאתם מציינים רק את שם הרכיב כשמתקינים אותו, ולא את הגרסה.

  3. חוזרים על התהליך הזה לכל צומת שמארח את הרכיב שחוזרים לגרסה הקודמת.

החזרת mTLS למצב קודם

כדי להחזיר את העדכון של mTLS לגרסה קודמת, צריך לבצע את השלבים הבאים בכל המארחים:

  1. הפסקת Apigee:
    apigee-all stop
  2. הפסקת mTLS:
    apigee-service apigee-mtls uninstall
  3. מתקינים מחדש את mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf