אם נתקלתם בשגיאה במהלך עדכון ל-Edge 4.53.00, אתם יכולים לבצע Rollback לרכיב שגרם לשגיאה ואז לנסות שוב לבצע את העדכון.
אפשר לחזור מגרסה Edge 4.53.00 לגרסה הבאה:
- גרסה 4.52.02
כשמבצעים חזרה לגרסה קודמת, כל רכיב ששודרג חוזר לגרסה הקודמת שלו. בנוסף, יש שיקולים מיוחדים שצריך לקחת בחשבון כשמבצעים רולינג בק ל-Cassandra לגרסה 4.52.02.
יש שני תרחישים שבהם כדאי לבצע חזרה לגרסה קודמת:
- חזרה לגרסה קודמת (גרסה ראשית או משנית) לדוגמה, מגרסה 4.53.00 לגרסה 4.52.02.
- חזרה לגרסת תיקון קודמת באותה גרסה. לדוגמה, מ-4.53.00.01 ל-4.53.00.00.
מידע נוסף זמין במאמר בנושא תהליך ההפצה של Apigee Edge.
סדר הביטול
צריך לבצע את החזרה לגרסה קודמת של רכיבים בסדר הפוך לסדר שבו הם שודרגו, למעט שרתי הניהול, שאותם צריך להחזיר לגרסה קודמת אחרי Cassandra.
סדר טיפוסי כללי של חזרה לגרסה קודמת ב-Private Cloud 4.53.00 ייראה כך:
- החזרה לגרסה קודמת של Postgres, Qpid ורכיבים אחרים שקשורים לאנליטיקה
- החזרה למצב קודם של נתבים ומעבדי הודעות
- רולבק של Cassandra, Zookeeper
- שרת ניהול של ביטול שינויים
לדוגמה, נניח ששדרגתם את כל אשכול Cassandra, את כל שרתי הניהול וכמה RMP לגרסה 4.53.00 מגרסה 4.52.02, ואתם רוצים לבצע שחזור. במקרה כזה, תצטרכו:
- החזרה של כל ה-RMP בנפרד
- ביצוע Rollback של כל אשכול Cassandra באמצעות גיבויים
- ביצוע Rollback של צמתי שרת Edge Management אחד אחרי השני
מי יכול לבצע חזרה לגרסה קודמת
המשתמש שמבצע את החזרה לגרסה קודמת צריך להיות אותו משתמש שעדכן את Edge במקור, או משתמש שפועל כמשתמש root.
כברירת מחדל, רכיבי Edge פועלים כמשתמש 'apigee'. במקרים מסוימים, יכול להיות שרכיבי Edge יפעלו כמשתמשים שונים. לדוגמה, אם הנתב צריך לגשת ליציאות עם הרשאות, כמו יציאות מתחת ל-1000, צריך להריץ את הנתב כמשתמש root או כמשתמש עם גישה ליציאות האלה. או להריץ רכיב אחד כמשתמש אחד, ורכיב אחר כמשתמש אחר.
רכיבים עם קוד משותף
הרכיבים הבאים של Edge חולקים קוד משותף. לכן, כדי לבצע Rollback לאחד מהרכיבים האלה בצומת, צריך לבצע Rollback לכל הרכיבים האלה שנמצאים באותו צומת.
edge-management-server
(שרת ניהול)edge-message-processor
(מעבד בקשות)edge-router
(נתב)-
edge-postgres-server
(Postgres Server) -
edge-qpid-server
(Qpid Server)
לדוגמה, אם התקנתם את שרת הניהול, הנתב ומעבד ההודעות בצומת, כדי לבצע החזרה לאחור של אחד מהם, תצטרכו לבצע החזרה לאחור של כל השלושה.
רולבק של Cassandra
כשמבצעים שדרוג משמעותי של Cassandra בצומת מסוים, Cassandra משנה את הסכימה של הנתונים שמאוחסנים באותו צומת. לכן, אי אפשר לבצע שחזור ישיר במקום.
תרחישי ביטול
Cassandra 4.0.X, שזמין ב-Edge for Private Cloud 4.53.00, תואם לרכיבים אחרים של Private Cloud 4.52.02.
בטבלה הבאה מופיע סיכום של אסטרטגיות שונות לביטול שינויים שאפשר להשתמש בהן:
תרחיש | אסטרטגיית רולבק |
---|---|
מרכז נתונים יחיד, חלק מצמתי Cassandra שודרגו | שימוש בגיבויים |
מרכז נתונים יחיד, כל צמתי Cassandra שודרגו | אין לחזור לגרסה קודמת של Cassandra. אפשר לבצע החזרה לאחור של רכיבים אחרים. |
מרכז נתונים יחיד, כל הצמתים (Cassandra ואחרים) שודרגו | אין לחזור לגרסה קודמת של Cassandra. אפשר לבצע החזרה לאחור של רכיבים אחרים. |
כמה מרכזי נתונים, חלק מהצמתים במרכז נתונים אחד שודרגו | בנייה מחדש מ-DC קיים |
מספר מרכזי נתונים, כל צמתי Cassandra בחלק ממרכזי הנתונים שודרגו | בנייה מחדש מ-DC קיים |
כמה צמתים של Cassandra ב-DC האחרון שמשודרג | כדאי לנסות להשלים את השדרוג. אם זה לא אפשרי, מבטלים את השינויים ב-DC אחד באמצעות גיבוי. בנייה מחדש של שאר בקרי הדומיין מבקר הדומיין שהוחזר למצב הקודם. |
מספר מרכזי נתונים, כל צמתי Cassandra שודרגו | אין לחזור לגרסה קודמת של Cassandra. אפשר לבצע החזרה לאחור של רכיבים אחרים. |
שדרוג של כמה מרכזי נתונים, כל הצמתים (Cassandra ואחרים) | אין לחזור לגרסה קודמת של Cassandra. אפשר לבצע החזרה לאחור של רכיבים אחרים. |
שיקולים כלליים
כששוקלים לבצע חזרה לגרסה קודמת, חשוב לזכור את הנקודות הבאות:
- חזרה לגרסה קודמת של רכיבי זמן ריצה או ניהול: אם רוצים לחזור לגרסה קודמת של רכיבים כמו edge-management-server, edge-message-processor או כל רכיב שאינו Cassandra לגרסה 4.52.02 של Private Cloud, מומלץ לא לחזור לגרסה קודמת של Cassandra. Cassandra שנשלח עם Private Cloud 4.53.00 תואם לכל הרכיבים שאינם Cassandra של Edge for Private Cloud 4.52.02. אפשר לבצע Rollback לרכיבים שאינם Cassandra באמצעות המתודולוגיה שמופיעה כאן, בזמן ש-Cassandra נשארת בגרסה 4.0.13.
- חזרה לגרסה קודמת אחרי שכל אשכול Cassandra שודרג לגרסה 4.0.X: אם כל אשכול Cassandra שודרג לגרסה 4.0.X כחלק מהשדרוג לגרסה 4.53.00 של Private Cloud, מומלץ להמשיך עם הגדרת האשכול הזה ולא לחזור לגרסה קודמת של Cassandra. רכיבים כמו edge-management-server, edge-message-processor, edge-router וכו', בגרסה 4.52.02 של Private Cloud, תואמים לגרסה 4.0.X של Cassandra.
- חזרה לגרסה קודמת של Cassandra במהלך השדרוג של Cassandra: אם נתקלתם בבעיות במהלך השדרוג של Cassandra, כדאי לשקול חזרה לגרסה קודמת. אפשר לפעול לפי אסטרטגיות החזרה לגרסה הקודמת שמפורטות במאמר הזה, בהתאם למצב שבו אתם נמצאים במהלך תהליך השדרוג.
- חזרה לגרסה קודמת באמצעות גיבויים: גיבויים שנוצרו מ-Cassandra 4.0.X לא תואמים לגיבויים של Cassandra 3.11.X. כדי לבצע Rollback של Cassandra באמצעות שחזור גיבוי, צריך ליצור גיבויים של Cassandra 3.11.X לפני שמנסים לבצע את השדרוג.
חזרה לגרסה קודמת של Cassandra באמצעות בנייה מחדש
דרישות מוקדמות
- אתם מפעילים אשכול Edge for Private Cloud 4.52.02 בכמה מרכזי נתונים.
- אתם בתהליך של שדרוג Cassandra מגרסה 3.11.X לגרסה 4.0.X ונתקלתם בבעיות במהלך השדרוג.
- יש לכם לפחות מרכז נתונים אחד עם פונקציונליות מלאה באשכול שעדיין מריץ את הגרסה הישנה יותר של Cassandra (Cassandra 3.11.X).
ההליך הזה מסתמך על סטרימינג של נתונים ממרכז נתונים קיים. התהליך הזה עשוי להימשך זמן רב, בהתאם לכמות הנתונים שמאוחסנים ב-Cassandra. במהלך ההחזרה למצב הקודם, כדאי להפנות את תעבורת זמן הריצה ממרכז הנתונים הזה.
שלבים כלליים
- בוחרים מרכז נתונים אחד (ששודרג חלקית או באופן מלא) שרוצים לבצע בו חזרה לגרסה קודמת. הפניית תנועה בזמן ריצה למרכז נתונים אחר שפועל.
- מזהים את צומת הזרע במרכז הנתונים ומתחילים עם אחד מצמתי הזרע.
- עוצרים את צומת Cassandra, מסירים אותו ומנקים אותו.
- מתקינים את הגרסה הישנה יותר של Cassandra בצומת ומגדירים אותה לפי הצורך.
- מסירים את ההגדרות הנוספות שהוספתם קודם.
- חוזרים על השלבים שלמעלה לכל צומת ראשוני במרכז הנתונים, אחד אחרי השני.
- חוזרים על השלבים שלמעלה לכל צומתי Cassandra שנותרו במרכז הנתונים, אחד אחרי השני.
- בונים מחדש את הצמתים ממרכז הנתונים הקיים והפונקציונלי, אחד אחרי השני.
- מפעילים מחדש את כל רכיבי edge-* במרכז הנתונים שמחוברים ל-Cassandra.
- בודקים ומפנים את התנועה חזרה למרכז הנתונים הזה.
- חוזרים על השלבים לכל מרכז נתונים, אחד אחרי השני.
שלבים מפורטים
-
בוחרים מרכז נתונים אחד שבו כל צמתי Cassandra או חלק מהם ישודרגו. הפניית כל התנועה של שרת proxy בזמן ריצה ותנועת ניהול ממרכז הנתונים הזה בזמן שמבצעים החזרה (rollback) של צמתי Cassandra במרכז הנתונים הזה.
מוודאים שכל הצמתים של Cassandra נמצאים במצב UN (Up/Normal) כשמריצים את הפקודה
nodetool ring
בצמתים. אם צמתים מסוימים מושבתים, פותרים את הבעיה ומפעילים מחדש את הצמתים האלה לפני שממשיכים.דוגמה:
/opt/apigee/apigee-cassandra/bin/nodetool status
Datacenter: dc-1 ================ Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN DC1-1IP1 456.41 KiB 1 100.0% 78fc4ddd-2ed9-4a8c-98a2-63a38c2f1920 ra-1 UN DC1-1IP2 870.93 KiB 1 100.0% 160db01a-64ab-43a7-b9ea-3b7f8f66d52b ra-1 UN DC1-1IP3 824.08 KiB 1 100.0% 21d61543-d59e-403a-bf5d-bfe7f664baa6 ra-1 Datacenter: dc-2 ================ Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN DC2-1IP1 802.08 KiB 1 100.0% 583e0576-336d-4ce7-9729-2ae74e0abde2 ra-1 UN DC2-1IP2 844.4 KiB 1 100.0% fef794d5-f4c2-4a4e-bb05-9adaeb4aea4b ra-1 UN DC2-1IP3 878.12 KiB 1 100.0% 3894b3d9-1f5a-444d-83db-7b1e338bbfc9 ra-1אפשר להריץ את הפקודה
nodetool describecluster
בצמתים כדי להבין את המצב הנוכחי של כל האשכול. לדוגמה, התמונה הבאה מציגה מופע של אשכול עם 2 מרכזי נתונים שבו כל הצמתים של DC-1 הם בגרסה 4 של Cassandra, ואילו כל הצמתים של DC-2 הם בגרסה 3 של Cassandra:# On nodes where Cassandra is upgraded
/opt/apigee/apigee-cassandra/bin/nodetool describecluster
Cluster Information: Name: Apigee Snitch: org.apache.cassandra.locator.PropertyFileSnitch DynamicEndPointSnitch: enabled Partitioner: org.apache.cassandra.dht.RandomPartitioner Schema versions: 2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3] 129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3] Stats for all nodes: Live: 6 Joining: 0 Moving: 0 Leaving: 0 Unreachable: 0 Data Centers: dc-1 #Nodes: 3 #Down: 0 dc-2 #Nodes: 3 #Down: 0 Database versions: 4.0.13: [DC-1-IP1:7000, DC-1-IP2:7000, DC-1-IP3:7000] 3.11.16: [DC-2-IP1:7000, DC-2-IP2:7000, DC-2-IP3:7000] Keyspaces: system_schema -> Replication class: LocalStrategy {} system -> Replication class: LocalStrategy {} auth -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} cache -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} devconnect -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} dek -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} user_settings -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} apprepo -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} kms -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} identityzone -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} audit -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} analytics -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} keyvaluemap -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} counter -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} apimodel_v2 -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3} system_distributed -> Replication class: SimpleStrategy {replication_factor=3} system_traces -> Replication class: SimpleStrategy {replication_factor=2} system_auth -> Replication class: SimpleStrategy {replication_factor=1} # On nodes where Cassandra is not upgraded/opt/apigee/apigee-cassandra/bin/nodetool describecluster
Cluster Information: Name: Apigee Snitch: org.apache.cassandra.locator.PropertyFileSnitch DynamicEndPointSnitch: enabled Partitioner: org.apache.cassandra.dht.RandomPartitioner Schema versions: 2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3] 129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3] - מזהים את צמתי הזרע במרכז הנתונים: מידע נוסף מופיע בקטע איך מזהים צמתי זרע בנספח. מבצעים את השלבים הבאים באחד מצמתי הזרע:
- מפסיקים את הפעולה, מסירים את ההתקנה ומנקים את הנתונים מהצומת של Cassandra.
בוחרים את צומת הזרע הראשון ב-Cassandra גרסה 4 במרכז הנתונים הזה. תפסיק.
# Stop Cassandra service on the node
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
# Uninstall Cassandra software/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
# Wipe out Cassandra datarm -rf /opt/apigee/data/apigee-cassandra
- מתקינים את תוכנת Cassandra מהגרסה הקודמת בצומת ומגדירים כמה הגדרות. מריצים את קובץ ה-bootstrap של Edge for Private Cloud 4.52.02.
- יוצרים או עורכים את הקובץ
/opt/apigee/customer/application/cassandra.properties
. - מוסיפים את התוכן הבא לקובץ.
ipOfNode
היא כתובת ה-IP של הצומת שמשמשת את Cassandra לתקשורת עם צמתי Cassandra אחרים:conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
- מוודאים שמשתמש apigee הוא הבעלים של הקובץ ויש לו הרשאת קריאה:
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
- מתקינים ומגדירים את Cassandra:
# Install cassandra version 3.11.X
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
# Setup cassandra while passing standard configuration file/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
# Ensure Cassandra version is correct and service is running/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status
- מוודאים שהצומת הופעל. בודקים את הפקודה הבאה בצומת הזה ובצמתים אחרים באשכול. הצומת צריך לדווח שהוא במצב UN (פעיל/רגיל):
/opt/apigee/apigee-cassandra/bin/nodetool status
- מסירים מהקובץ
/opt/apigee/customer/application/cassandra.properties
את ההגדרות הנוספות שהוספתם קודם. - חוזרים על שלבים 3 עד 10 בכל אחד מצמתי ה-seed של Cassandra במרכז הנתונים, אחד אחרי השני.
- חוזרים על שלבים 3 עד 10 בכל צומתי Cassandra שנותרו במרכז הנתונים, אחד אחרי השני.
- בנייה מחדש של כל הצמתים במרכז הנתונים ממרכז נתונים שמופעלת בו גרסה ישנה יותר של Cassandra. מבצעים את השלב הזה בצומת אחד בכל פעם:
/opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>
התהליך הזה עשוי להימשך זמן מה. אפשר לשנות את
streamingthroughput
לפי הצורך. בודקים אתnodetool netstats
כדי לראות את סטטוס השלמת הפעולה. - (אופציונלי) מריצים את פקודת התיקון בצומת Cassandra אם הנתונים לא נבנים מחדש.
/opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
- מפעילים מחדש את כל רכיבי edge-* במרכז הנתונים, אחד אחרי השני:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- מאמתים את מרכז הנתונים הזה ומפנים אליו את התנועה. מריצים כמה אימותים של תנועת גולשים בזמן ריצה וממשקי API לניהול במרכז הנתונים הזה, ומתחילים להפנות מחדש את תנועת הגולשים של ה-proxy וממשקי ה-API לניהול בחזרה אליו.
- חוזרים על השלבים שלמעלה לכל מרכז נתונים שרוצים לבצע בו שחזור.
# Download bootstrap of 4.52.02curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u uName:pWord
# Execute bootstrap of 4.52.02sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
חזרה לגרסה קודמת של Cassandra באמצעות גיבוי
דרישות מוקדמות
- אתם בתהליך של שדרוג Cassandra מגרסה 3.11.X לגרסה 4.0.X ונתקלתם בבעיות במהלך השדרוג.
- יש לכם גיבויים של הצומת שאתם מחזירים לגרסה קודמת. הגיבוי בוצע לפני הניסיון לשדרג מגרסה 3.11.X לגרסה 4.0.X.
שלבים
בוחרים צומת אחד שרוצים לבטל את השינויים שבו. אם אתם מבצעים שחזור של כל הצמתים במרכז נתונים באמצעות גיבויים, התחילו עם צמתי ה-seed. אפשר לעיין בקטע 'איך מזהים צמתים ראשוניים' בנספח.
מפסיקים את צומת Cassandra, מסירים אותו ומנקים אותו:
# Stop Cassandra service on the node
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
# Uninstall Cassandra software/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
# Wipe Cassandra datarm -rf /opt/apigee/data/apigee-cassandra
מתקינים את תוכנת Cassandra הישנה יותר בצומת ומגדירים אותה:
- מריצים את קובץ ה-bootstrap ל-Edge for Private Cloud 4.52.02:
- יוצרים או עורכים את הקובץ
/opt/apigee/customer/application/cassandra.properties
: - מוודאים שהקובץ נמצא בבעלות המשתמש של apigee ושהוא ניתן לקריאה:
- מתקינים ומגדירים את Cassandra:
# Download bootstrap for 4.52.02
curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u ‘uName:pWord’
# Execute bootstrap for 4.52.02sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
# Install Cassandra version 3.11.X
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
# Set up Cassandra with the standard configuration file/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
# Verify Cassandra version and check service status/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status
מוודאים שהצומת הופעל. בודקים את הפקודה הבאה בצומת הזה ובצמתים אחרים באשכול. הצמתים צריכים לדווח שהצומת הזה נמצא במצב UN:
/opt/apigee/apigee-cassandra/bin/nodetool status
מפסיקים את שירות Cassandra ומשחזרים את הגיבוי. פרטים נוספים זמינים במסמכי התיעוד בנושא גיבוי ושחזור:
# Stop Cassandra service on the node
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
# Wipe the data directory in preparation for restorerm -rf /opt/apigee/data/apigee-cassandra/data
# Restore the backup taken before the upgrade attempt/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backupFile
אחרי שמשחזרים את הגיבוי, מסירים את ההגדרות הנוספות:
מסירים מהקובץ
/opt/apigee/customer/application/cassandra.properties
את ההגדרה שהוספתם קודם.מפעילים את שירות Cassandra בצומת:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
חוזרים על השלבים בכל צומת של Cassandra שרוצים לשחזר באמצעות גיבויים, אחד בכל פעם.
אחרי שמשחזרים את כל צמתי Cassandra, מפעילים מחדש את כל רכיבי edge-* אחד אחרי השני:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
אופטימיזציות של גיבוי (אפשרות מתקדמת)
אם יש לכם עותקים משוכפלים של הנתונים שכוללים את הנתונים העדכניים ביותר, יכול להיות שתוכלו לצמצם את אובדן הנתונים (או למנוע אותו) במהלך שחזור הגיבויים. אם יש רפליקות זמינות, אחרי שמשחזרים את הגיבוי, מריצים תיקון בצומת ששוחזר.
נספח
איך מזהים צמתים ראשוניים
בכל צומת Cassandra במרכז נתונים, מריצים את הפקודה הבאה:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure -search conf_cassandra_seeds
הפקודה תפיק פלט של כמה שורות. מחפשים את השורה האחרונה בפלט. כתובות ה-IP שמופיעות בשורה האחרונה הן צמתי ה-seed. בדוגמה שלמטה, DC-1-IP1
, DC-1-IP2
, DC-2-IP1
ו-DC-2-IP2
הן כתובות ה-IP של צומתי ה-seed:
Found key conf_cassandra_seeds, with value, "127.0.0.1", in /opt/apigee/apigee-cassandra/token/default.properties Found key conf_cassandra_seeds, with value, 127.0.0.1, in /opt/apigee/apigee-cassandra/token/application/cassandra.properties Found key conf_cassandra_seeds, with value, "DC-1-IP1, DC-1-IP2, DC-2-IP1, DC-2-IP2", in /opt/apigee/token/application/cassandra.properties apigee-configutil: apigee-cassandra: # OK
חזרה לגרסה קודמת של מהדורה ראשית או משנית
כדי לחזור לגרסה קודמת של מהדורה ראשית או משנית, מבצעים את הפעולות הבאות בכל צומת שמארח את הרכיב:
-
מורידים את קובץ
bootstrap.sh
של הגרסה שאליה רוצים לחזור:- כדי לחזור לגרסה 4.52.02, מורידים את
bootstrap_4.52.02.sh
:curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh
- כדי לחזור לגרסה 4.52.02, מורידים את
- כדי להפסיק את הרכיב ולהחזיר אותו לגרסה קודמת:
- כדי לבצע Rollback של אחד מהרכיבים עם קוד משותף בצומת, צריך לעצור את כולם, כמו בדוגמה הבאה:
/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
- כדי לבצע Rollback של אחד מהרכיבים עם קוד משותף בצומת, צריך לעצור את כולם, כמו בדוגמה הבאה:
- אם מבצעים החזרה לאחור של תכונת המונטיזציה, צריך להסיר אותה מכל הצמתים של שרת הניהול ומעבד ההודעות:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- מסירים את הרכיב כדי לחזור אחורה בצומת:
- כדי לבטל את השינויים ברכיבים עם קוד משותף בצומת, צריך להסיר את ההתקנה של כולם על ידי הסרת ההתקנה של קבוצת הרכיבים
edge-gateway
, כמו בדוגמה הבאה:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- כדי לחזור לגרסה הקודמת של Nginx, פועלים לפי השלבים הבאים:
###Find the apigee-nginx RPM rpm -qa | grep -i "apigee-nginx" ###Remove the apigee-nginx RPM dnf remove apigee-nginx-1.26.x
- כדי לבצע Rollback לרכיב אחר בצומת, מסירים את ההתקנה של הרכיב הזה בלבד, כמו בדוגמה הבאה:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
כאשר component הוא שם הרכיב.
- כדי לבצע Rollback של נתב Edge, צריך למחוק את התוכן של הקובץ
/opt/nginx/conf.d
בנוסף להסרת ההתקנה של קבוצת הרכיביםedge-gateway
:cd /opt/nginx/conf.d
rm -rf *
- כדי לבטל את השינויים ברכיבים עם קוד משותף בצומת, צריך להסיר את ההתקנה של כולם על ידי הסרת ההתקנה של קבוצת הרכיבים
- מסירים את גרסה 4.53.00 של
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- מתקינים את גרסה 4.52.02 של כלי השירות
apigee-service
ואת יחסי התלות שלו. בדוגמה הבאה מותקנת גרסה 4.52.02 שלapigee-service
:sudo bash /tmp/bootstrap_4.52.02.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, צריך לנקות את iptables:
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.53.00-0.0.20254 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