אם במהלך העדכון ל-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 |
יש שני תרחישים שבהם כדאי לבצע החזרה למצב קודם:
- חזרה לגרסה ראשית או לגרסה משנית קודמת. לדוגמה מ- 4.52.02 עד 4.52.00.
- חזרה לגרסת תיקון קודמת באותה אותה גרסה. לדוגמה, מ-4.52.00.02 עד 4.52.00.01.
אפשר לקרוא מידע נוסף בגרסת Apigee Edge התהליך.
סדר החזרה למצב קודם
החזרה של הרכיבים למצב קודם צריכה להתבצע בסדר ההפוך שבו הם שודרגו, פרט למקרים שבהם צריך להחזיר את שרתי הניהול למצב הקודם אחרי Cassandra.
סדר כללי טיפוסי של חזרה למצב קודם ב-Private Cloud 4.52.02 ייראה כך:
- חזרה למצב קודם של Postgres , Qpid ורכיבים אחרים הקשורים לניתוח נתונים
- נתבים ומעבדי הודעות למצב קודם
- רולבק קסנדרה, גן החיות
- שרת ניהול החזרה למצב קודם
לדוגמה, נניח ששדרגת את כל אשכול Cassandra, את כל שרתי הניהול שלך וכמה RMP לגרסה 4.52.02 מגרסה 4.52.01 וברצונך לחזור לגרסה קודמת. במקרה כזה, צריך:
- חזרה למצב קודם של כל מסמכי ה-RMP בנפרד
- החזרת כל אשכול Cassandra באמצעות גיבויים
- החלפת צמתים של שרת ניהול Edge אחד אחרי השני
מי יכול לבצע החזרה למצב קודם
המשתמש שביצע החזרה למצב קודם צריך להיות זהה למשתמש שעדכן במקור את Edge, משתמש שפועל ברמה הבסיסית (root).
כברירת מחדל, רכיבי Edge פועלים בתור המשתמש 'apigee'. במקרים מסוימים, ייתכן שהרצתם את דפדפן Edge. רכיבים שונים כמשתמשים שונים. לדוגמה, אם לנתב יש גישה ליציאות בעלות הרשאות, כמו אלה מתחת ל-1000, אז צריך להריץ את הנתב ברמה הבסיסית (root) או כמשתמש עם גישה יציאות. לחלופין, תוכלו להריץ רכיב אחד כמשתמש אחד ורכיב אחר כמשתמש אחר.
רכיבים עם קוד משותף
לרכיבי Edge הבאים יש קוד משותף. לכן, כדי להחזיר כל אחד את הרכיבים האלה בצומת, צריך להחזיר למצב קודם את כל הרכיבים שנמצאים בצומת הזה.
edge-management-server
(שרת ניהול)edge-message-processor
(מעבד הודעות)edge-router
(נתב)edge-postgres-server
(שרת Postgres)edge-qpid-server
(שרת Qpid)
לדוגמה, אם שרת הניהול, הנתב ומעבד ההודעות מותקנים את הצומת, כדי להחזיר אחד מהם למצב קודם, צריך להחזיר את כל השלושה.
החזרה של Cassandra
כששדרוג משמעותי של Cassandra מבוצע בצומת מסוים של Cassandra, קסנדרה משנה את הסכימה של הנתונים שמאוחסנים בצומת, וכך אי אפשר לבצע החזרה ישירה למצב קודם. יש שתי מתודולוגיות להחזרה למצב הקודם. אתם תשתמשו באחת מהמתודולוגיות האלה בהתאם למצב השדרוג שממנו אתם רוצים לחזור.
מתודולוגיות להחזרה למצב קודם
- מחיקת הצמתים הקיימים באשכול ושימוש בהם כדי לבנות מחדש את הצומת
- מחיקה ושחזור של גיבוי או תמונת מצב של ה-VM
מחיקה של הצמתים הקיימים באשכול ושימוש בהם כדי לבנות מחדש את הצומת
אפשר לבצע את התהליך הזה אם יש באשכול לפחות מרכז נתונים אחד שפועל באופן מלא ופעיל בגרסה הישנה יותר של Cassandra (קסנדרה 2.1.22). אם שדרגתם את כל אשכול Cassandra ואתם רוצים לחזור לגרסה קודמת, עליכם לבצע את השלבים שמפורטים בקטע מחיקה ושחזור של גיבוי או תמונת מצב של ה-VM.
השלבים להחזרה למצב הקודם
- מתחילים בצומת שרוצים להחזיר למצב קודם:
- עוצרים את 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,
- הורדת boostrap מ-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>
- חוזרים על השלבים שלמעלה בכל צומת שרוצים להחזיר למצב קודם, אחד בכל פעם.
- עוצרים את Cassandra בצומת:
- אחרי שמחזירים את כל הצמתים למצב הקודם ויוצרים אותם מחדש:
- הרצת ההגדרה של כל צומת של שרת ניהול. מוודאים ששרת הניהול הוא מהגרסה שהוחזרה. אם לא, יש להחזיר גם את שרת הניהול למצב קודם.
- עוצרים את שרת הניהול:
/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, פועלים לפי השלבים הבאים כדי לשחזר את הגיבוי ולהפעיל תיקון.
- יש לפעול לפי התהליך עד שלב שישי כפי שתועד, כדי לבנות מחדש רפליקות במרכז הנתונים המקומי.
- לגבי הצמתים הנותרים, צריך לבצע את השלבים הבאים בכל צומת שנותר, אחד בכל פעם.
- שחזר את הגיבוי שתועד בצומת הזה (הערה: סביר להניח שהגיבוי הזה יכלול נתונים לא פעילים מכיוון שהגיבוי בוצע לפני תחילת השדרוג של 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>
- חוזרים על השלבים שלוש עד שש בכל צומת שרוצים לתקן.
- שחזר את הגיבוי שתועד בצומת הזה (הערה: סביר להניח שהגיבוי הזה יכלול נתונים לא פעילים מכיוון שהגיבוי בוצע לפני תחילת השדרוג של Cassandra):
מחיקה ושחזור של תמונת המצב של הגיבוי/ה-VM
זהו התהליך היחיד שזמין אם שדרגת את כל אשכול Cassandra וברצונך לבצע החזרה למצב קודם.
בנוסף, גיבויים ב-Apigee הם ספציפיים לצמתים. לא ניתן לשחזר גיבוי שנלקח מצומת אחד לצומת אחר. גיבויים של Cassandra כוללים את פרטי המטא-נתונים של הצמתים (כמו כתובת IP, מיקום הצלצול וכו').
- מתחילים בצומת 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
- הורדת boostrap מ-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
- עצירת שירות Cassandra בצומת:
החזרת העדכון של Zoomkeeper 3.8.3 למצב הקודם
אם בחרת לחזור לגרסאות 4.52.00 או 4.51.00, יהיה עליך לעיין בכמה שלבים מיוחדים לפני החזרה לגרסה 4.52.00. השלבים האלה מפורטים בקטע חזרה למצב קודם.
אם מחזירים לגרסה 4.52.01, צריך לחזור לגרסה קודמת שלZokeeper כפי שהיית מחזיר כל תוכנה לגרסה קודמת, כפי שמצוין בקטע חזרה לגרסה ראשית או משנית קודמת שבהמשך.
חזרה ל-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 לגרסה קודמת כמו כל תוכנה אחרת, כפי שמוסבר בקטע חזרה לגרסה עיקרית או משנית קודמת שבהמשך.
חזרה לגרסה קודמת או לגרסה משנית קודמת
כדי לחזור לגרסה ראשית או לגרסה משנית קודמת, צריך לבצע את הפעולות הבאות בכל צומת שמארח את רכיב:
-
מורידים את הקובץ
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
- כדי לחזור לגרסה 4.51.00, צריך להוריד את
- עוצרים את הרכיב כדי לחזור למצב קודם:
- כדי להחזיר גרסה קודמת של אחד מהרכיבים עם קוד משותף
צריך לעצור את כולם, כפי שאפשר לראות בדוגמה הבאה:
/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
- כדי להחזיר רכיב אחר בצומת, צריך לעצור רק את הרכיב הזה:
/opt/apigee/apigee-service/bin/apigee-service component stop
- כדי להחזיר גרסה קודמת של אחד מהרכיבים עם קוד משותף
צריך לעצור את כולם, כפי שאפשר לראות בדוגמה הבאה:
- אם ברצונך להחזיר את המונטיזציה למצב הקודם, צריך להסיר אותה מכל שרתי הניהול וההודעות
צמתים של מעבד (CPU):
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- מסירים את הרכיב כדי לחזור למצב קודם בצומת:
- כדי להחזיר גרסה קודמת של אחד מהרכיבים עם קוד משותף
עליך להסיר את כולם על ידי הסרת הרכיב
edge-gateway
קבוצה מסוימת, כפי שאפשר לראות בדוגמה הבאה:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- כדי להחזיר רכיב אחר לצומת, מסירים את הרכיב הזה בלבד,
אפשר לראות את הדוגמה הבאה:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
כאשר component הוא שם הרכיב.
- כדי להחזיר את נתב Edge למצב הקודם, עליך למחוק את התוכן של
קובץ
/opt/nginx/conf.d
בנוסף להסרת ההתקנה של קבוצת רכיביםedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- כדי להחזיר גרסה קודמת של אחד מהרכיבים עם קוד משותף
עליך להסיר את כולם על ידי הסרת הרכיב
- הסרת גרסה 4.52.02 של
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- התקנת גרסה 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. - התקנת
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- מתקינים את הגרסה הישנה יותר של הרכיב:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
כאשר component הוא הרכיב להתקנה ו-configFile הוא הרכיב את קובץ התצורה של הגרסה הישנה יותר.
- אם מבצעים החזרה של Qpid לגרסה קודמת, יש לעדכן את מכשירי ה-IPtable:
sudo iptables -F
- חוזרים על התהליך הזה לכל צומת שמארח את הרכיב שחוזרים לגרסה הקודמת.
חזרה לגרסת תיקון קודמת
כדי להחזיר רכיב לגרסת תיקון ספציפית, יש לבצע את הפעולות הבאות בכל צומת שמארח את הרכיב:
- הורדת הגרסה הספציפית של הרכיב:
/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
- כדי להתקין את הרכיב, צריך להשתמש ב-
apigee-setup
:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
לדוגמה:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
שימו לב שאתם מציינים רק את שם הרכיב כשמתקינים אותו, ולא את הגרסה.
- חוזרים על התהליך הזה לכל צומת שמארח את הרכיב שחוזרים לגרסה הקודמת.
החזרת mTLS למצב קודם
כדי להחזיר את העדכון של mTLS לגרסה קודמת, צריך לבצע את השלבים הבאים בכל המארחים:
- הפסקת Apigee:
apigee-all stop
- הפסקת mTLS:
apigee-service apigee-mtls uninstall
- מתקינים מחדש את mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf