החזרה לגרסה הקודמת של Apigee Edge 4.53.00

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

אפשר לחזור מגרסה Edge 4.53.00 לגרסה הבאה:

  • גרסה 4.52.02

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

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

  1. חזרה לגרסה קודמת (גרסה ראשית או משנית) לדוגמה, מגרסה 4.53.00 לגרסה 4.52.02.
  2. חזרה לגרסת תיקון קודמת באותה גרסה. לדוגמה, מ-4.53.00.01 ל-4.53.00.00.

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

סדר הביטול

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

סדר טיפוסי כללי של חזרה לגרסה קודמת ב-Private Cloud 4.53.00 ייראה כך:

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

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

  1. החזרה של כל ה-RMP בנפרד
  2. ביצוע Rollback של כל אשכול Cassandra באמצעות גיבויים
  3. ביצוע 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 משנה את הסכימה של הנתונים שמאוחסנים באותו צומת. לכן, אי אפשר לבצע שחזור ישיר במקום.

תרחישי ביטול

‫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. במהלך ההחזרה למצב הקודם, כדאי להפנות את תעבורת זמן הריצה ממרכז הנתונים הזה.

שלבים כלליים

  1. בוחרים מרכז נתונים אחד (ששודרג חלקית או באופן מלא) שרוצים לבצע בו חזרה לגרסה קודמת. הפניית תנועה בזמן ריצה למרכז נתונים אחר שפועל.
  2. מזהים את צומת הזרע במרכז הנתונים ומתחילים עם אחד מצמתי הזרע.
  3. עוצרים את צומת Cassandra, מסירים אותו ומנקים אותו.
  4. מתקינים את הגרסה הישנה יותר של Cassandra בצומת ומגדירים אותה לפי הצורך.
  5. מסירים את ההגדרות הנוספות שהוספתם קודם.
  6. חוזרים על השלבים שלמעלה לכל צומת ראשוני במרכז הנתונים, אחד אחרי השני.
  7. חוזרים על השלבים שלמעלה לכל צומתי Cassandra שנותרו במרכז הנתונים, אחד אחרי השני.
  8. בונים מחדש את הצמתים ממרכז הנתונים הקיים והפונקציונלי, אחד אחרי השני.
  9. מפעילים מחדש את כל רכיבי edge-* במרכז הנתונים שמחוברים ל-Cassandra.
  10. בודקים ומפנים את התנועה חזרה למרכז הנתונים הזה.
  11. חוזרים על השלבים לכל מרכז נתונים, אחד אחרי השני.

שלבים מפורטים

  1. בוחרים מרכז נתונים אחד שבו כל צמתי 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]
            
  2. מזהים את צמתי הזרע במרכז הנתונים: מידע נוסף מופיע בקטע איך מזהים צמתי זרע בנספח. מבצעים את השלבים הבאים באחד מצמתי הזרע:
  3. מפסיקים את הפעולה, מסירים את ההתקנה ומנקים את הנתונים מהצומת של 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 data
    rm -rf /opt/apigee/data/apigee-cassandra
            
  4. מתקינים את תוכנת Cassandra מהגרסה הקודמת בצומת ומגדירים כמה הגדרות. מריצים את קובץ ה-bootstrap של Edge for Private Cloud 4.52.02.
  5. # Download bootstrap of 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 of 4.52.02
    sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
        
  6. יוצרים או עורכים את הקובץ /opt/apigee/customer/application/cassandra.properties.
  7. מוסיפים את התוכן הבא לקובץ. ‫ipOfNode היא כתובת ה-IP של הצומת שמשמשת את Cassandra לתקשורת עם צמתי Cassandra אחרים:
    conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
  8. מוודאים שמשתמש apigee הוא הבעלים של הקובץ ויש לו הרשאת קריאה:
    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  9. מתקינים ומגדירים את 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
  10. מוודאים שהצומת הופעל. בודקים את הפקודה הבאה בצומת הזה ובצמתים אחרים באשכול. הצומת צריך לדווח שהוא במצב UN (פעיל/רגיל):
    /opt/apigee/apigee-cassandra/bin/nodetool status
  11. מסירים מהקובץ /opt/apigee/customer/application/cassandra.properties את ההגדרות הנוספות שהוספתם קודם.
  12. חוזרים על שלבים 3 עד 10 בכל אחד מצמתי ה-seed של Cassandra במרכז הנתונים, אחד אחרי השני.
  13. חוזרים על שלבים 3 עד 10 בכל צומתי Cassandra שנותרו במרכז הנתונים, אחד אחרי השני.
  14. בנייה מחדש של כל הצמתים במרכז הנתונים ממרכז נתונים שמופעלת בו גרסה ישנה יותר של Cassandra. מבצעים את השלב הזה בצומת אחד בכל פעם:
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>

    התהליך הזה עשוי להימשך זמן מה. אפשר לשנות את streamingthroughput לפי הצורך. בודקים את nodetool netstats כדי לראות את סטטוס השלמת הפעולה.

  15. (אופציונלי) מריצים את פקודת התיקון בצומת Cassandra אם הנתונים לא נבנים מחדש.
    /opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
  16. מפעילים מחדש את כל רכיבי 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
  17. מאמתים את מרכז הנתונים הזה ומפנים אליו את התנועה. מריצים כמה אימותים של תנועת גולשים בזמן ריצה וממשקי API לניהול במרכז הנתונים הזה, ומתחילים להפנות מחדש את תנועת הגולשים של ה-proxy וממשקי ה-API לניהול בחזרה אליו.
  18. חוזרים על השלבים שלמעלה לכל מרכז נתונים שרוצים לבצע בו שחזור.

חזרה לגרסה קודמת של Cassandra באמצעות גיבוי

דרישות מוקדמות

  1. אתם בתהליך של שדרוג Cassandra מגרסה 3.11.X לגרסה 4.0.X ונתקלתם בבעיות במהלך השדרוג.
  2. יש לכם גיבויים של הצומת שאתם מחזירים לגרסה קודמת. הגיבוי בוצע לפני הניסיון לשדרג מגרסה 3.11.X לגרסה 4.0.X.

שלבים

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

  2. מפסיקים את צומת 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 data
    rm -rf /opt/apigee/data/apigee-cassandra
  3. מתקינים את תוכנת Cassandra הישנה יותר בצומת ומגדירים אותה:

    • מריצים את קובץ ה-bootstrap ל-Edge for Private Cloud 4.52.02:
    • # 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.02
      sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
    • יוצרים או עורכים את הקובץ /opt/apigee/customer/application/cassandra.properties:
    • 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
      
      # 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
  4. מפסיקים את שירות Cassandra ומשחזרים את הגיבוי. פרטים נוספים זמינים במסמכי התיעוד בנושא גיבוי ושחזור:

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Wipe the data directory in preparation for restore
    rm -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
            
  5. אחרי שמשחזרים את הגיבוי, מסירים את ההגדרות הנוספות:

    מסירים מהקובץ /opt/apigee/customer/application/cassandra.properties את ההגדרה שהוספתם קודם.

  6. מפעילים את שירות Cassandra בצומת:

    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  7. חוזרים על השלבים בכל צומת של Cassandra שרוצים לשחזר באמצעות גיבויים, אחד בכל פעם.

  8. אחרי שמשחזרים את כל צמתי 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

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

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

  1. מורידים את קובץ 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 
  2. כדי להפסיק את הרכיב ולהחזיר אותו לגרסה קודמת:
    1. כדי לבצע 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
    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. כדי לחזור לגרסה הקודמת של Nginx, פועלים לפי השלבים הבאים:
      ###Find the apigee-nginx RPM 
      rpm -qa | grep -i "apigee-nginx"
      
      ###Remove the apigee-nginx RPM
      dnf remove apigee-nginx-1.26.x
      
    3. כדי לבצע Rollback לרכיב אחר בצומת, מסירים את ההתקנה של הרכיב הזה בלבד, כמו בדוגמה הבאה:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

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

    4. כדי לבצע Rollback של נתב Edge, צריך למחוק את התוכן של הקובץ /opt/nginx/conf.d בנוסף להסרת ההתקנה של קבוצת הרכיבים edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. מסירים את גרסה 4.53.00 של apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. מתקינים את גרסה 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.

  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, צריך לנקות את iptables:
    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.53.00-0.0.20254 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