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 Cassandra
4.52.00 Zookeeper, Cassandra, Qpid
4.51.00 Zookeeper, Postgres, Cassandra, Qpid

इन दो स्थितियों में आपको रोलबैक करना पड़ सकता है:

  1. पिछली बड़ी या छोटी रिलीज़ पर वापस जाना. उदाहरण के लिए, 4.52.02 से 4.52.00 पर.
  2. एक ही रिलीज़ में, पैच की पिछली रिलीज़ पर वापस जाएं. उदाहरण के लिए, 4.52.00.02 से 4.52.00.01 पर.

ज़्यादा जानकारी के लिए, Apigee Edge रिलीज़ की प्रोसेस देखें.

रोलबैक का क्रम

कॉम्पोनेंट को रोलबैक करने के लिए, अपग्रेड करने के क्रम को उलटा करना चाहिए. हालांकि, मैनेजमेंट सर्वर को Cassandra के बाद रोलबैक किया जाना चाहिए. Cassandra, रनटाइम कॉम्पोनेंट, और मैनेजमेंट सर्वर को एक-एक डेटा सेंटर (डीसी-बाय-डीसी) के हिसाब से रोल-बैक किया जाना चाहिए. इसके लिए, ट्रैफ़िक को कुछ समय के लिए काम करने वाले डेटा सेंटर पर रीडायरेक्ट किया जाना चाहिए.

Private Cloud 4.52.02 के लिए, रोलबैक का सामान्य क्रम कुछ ऐसा दिखेगा:

एक डेटा सेंटर

एक डेटा सेंटर सेटअप के लिए, रोलबैक की प्रोसेस से रनटाइम ट्रैफ़िक और कुछ मैनेजमेंट एपीआई पर काफ़ी असर पड़ेगा.

  1. Qpid और ऐनलिटिक्स से जुड़े अन्य कॉम्पोनेंट को रोलबैक करना
  2. राऊटर और मैसेज प्रोसेसर को रोलबैक करना
  3. Cassandra को रोलबैक करना
  4. रोलबैक मैनेजमेंट सर्वर
  5. Postgres और Zookeeper को रोलबैक करना

एक से ज़्यादा डेटा सेंटर

एक से ज़्यादा डेटा सेंटर वाले सेटअप में, रोलबैक के लिए डेटा सेंटर-दर-डेटा सेंटर (डीसी-दर-डीसी) का तरीका अपनाया जाना चाहिए. इसके लिए, ट्रैफ़िक को कुछ समय के लिए काम करने वाले डेटा सेंटर पर रीडायरेक्ट किया जाना चाहिए. इससे ट्रैफ़िक लगातार बना रहता है, डाउनटाइम से बचा जा सकता है, और Cassandra, मैनेजमेंट सर्वर, और रनटाइम नोड के लिए, रोलबैक की प्रोसेस को कंट्रोल किया जा सकता है.

  1. सभी डीसी में Qpid और आंकड़ों से जुड़े अन्य कॉम्पोनेंट को रोलबैक करें.
  2. पहले डेटा सेंटर में ट्रैफ़िक को ब्लॉक करें और ट्रैफ़िक को दूसरे डीसी पर फिर से रूट करें.
  3. पहले डेटा सेंटर में राउटर और मैसेज प्रोसेसर को रोलबैक करें.
  4. पहले डेटा सेंटर में Cassandra को रोलबैक करें.
  5. पहले डेटा सेंटर में मौजूद रोलबैक मैनेजमेंट सर्वर.
  6. पहले डेटा सेंटर में ट्रैफ़िक को अनब्लॉक करें और दूसरे चरण से लेकर छठे चरण तक तब तक अपनाएं, जब तक आखिरी डेटा सेंटर में रनटाइम नोड, Cassandra, और मैनेजमेंट सर्वर को रोलबैक नहीं कर दिया जाता.
  7. सभी डीसी में Postgres, Zookeeper, और LDAP को रोलबैक करें.

इसे समझने के लिए, मान लें कि आपने अपने पूरे Cassandra क्लस्टर, सभी मैनेजमेंट सर्वर, और कुछ रनटाइम मैसेज प्रोसेसर (आरएमपी) को 4.52.01 से 4.52.02 वर्शन पर अपग्रेड कर दिया है और आपको रोलबैक करना है. इस मामले में, रोलबैक इस तरह किया जाना चाहिए:

  1. पहले डेटा सेंटर (डेटा सेंटर) पर ट्रैफ़िक को ब्लॉक करें और सेवा में किसी तरह की रुकावट न आए, इसके लिए दूसरे चालू डीसी पर ट्रैफ़िक को फिर से रूट करें.
  2. पहले डेटा सेंटर में, राउटर और मैसेज प्रोसेसर को रोलबैक करें.
  3. पहले डेटा सेंटर में, बैकअप या VM स्नैपशॉट से डेटा वापस लाकर, Cassandra को रोलबैक करें.
  4. पहले डेटा सेंटर में, मैनेजमेंट सर्वर को रोलबैक करें.
  5. पहले डेटा सेंटर के लिए ट्रैफ़िक अनब्लॉक करें.
  6. बाकी बचे हर डेटा सेंटर के लिए, पहले से पांचवें चरण तक की प्रक्रिया दोहराएं. ऐसा तब तक करें, जब तक सभी रनटाइम नोड, Cassandra, और मैनेजमेंट सर्वर को रोल बैक नहीं कर दिया जाता.

रोलबैक करने की अनुमति किसे है

रोलबैक करने वाला उपयोगकर्ता वही होना चाहिए जिसने मूल रूप से Edge को अपडेट किया था या ऐसा उपयोगकर्ता होना चाहिए जो रूट के तौर पर काम कर रहा हो.

डिफ़ॉल्ट रूप से, Edge कॉम्पोनेंट "apigee" उपयोगकर्ता के तौर पर चलते हैं. कुछ मामलों में, हो सकता है कि आप Edge के कॉम्पोनेंट को अलग-अलग उपयोगकर्ताओं के तौर पर चला रहे हों. उदाहरण के लिए, अगर राउटर को खास पोर्ट ऐक्सेस करने हैं, जैसे कि 1,000 से कम वाले पोर्ट, तो आपको राउटर को रूट के तौर पर या उन पोर्ट का ऐक्सेस रखने वाले उपयोगकर्ता के तौर पर चलाना होगा. इसके अलावा, एक कॉम्पोनेंट को एक उपयोगकर्ता के तौर पर और दूसरे कॉम्पोनेंट को किसी दूसरे उपयोगकर्ता के तौर पर चलाया जा सकता है.

एक जैसे कोड वाले कॉम्पोनेंट

नीचे दिए गए Edge कॉम्पोनेंट, एक ही कोड शेयर करते हैं. इसलिए, किसी नोड पर इनमें से किसी एक कॉम्पोनेंट को रोल बैक करने के लिए, आपको उस नोड पर मौजूद सभी कॉम्पोनेंट को रोल बैक करना होगा.

  • edge-management-server (मैनेजमेंट सर्वर)
  • edge-message-processor (मैसेज प्रोसेसर)
  • edge-router (राऊटर)
  • edge-postgres-server (Postgres सर्वर)
  • edge-qpid-server (Qpid सर्वर)

उदाहरण के लिए, अगर आपने नोड पर मैनेजमेंट सर्वर, राउटर, और मैसेज प्रोसेसर इंस्टॉल किया है, तो इनमें से किसी एक को रोल बैक करने के लिए, आपको तीनों को रोल बैक करना होगा.

Cassandra का रोलबैक

जब किसी खास Cassandra नोड पर Cassandra का बड़ा अपग्रेड किया जाता है, तो Cassandra, नोड पर सेव किए गए डेटा के स्कीमा में बदलाव करता है. इससे, सीधे तौर पर डेटा को पहले जैसा करना मुमकिन नहीं होता. रोलबैक करने के दो तरीके हैं. आपको अपग्रेड की जिस स्थिति से रोल-बैक करना है उसके आधार पर, इनमें से किसी एक तरीके का इस्तेमाल करना होगा.

रोलबैक करने के तरीके

रोलबैक की स्थितियां

Edge for Private Cloud 4.52.02 में Cassandra और ड्राइवर को अपग्रेड किया गया है. मैसेज प्रोसेसर और मैनेजमेंट सर्वर, Cassandra से कनेक्ट करने के लिए इस ड्राइवर का इस्तेमाल करते हैं. इसलिए, इन तीन कॉम्पोनेंट के अपग्रेड और रोलबैक एक-दूसरे से जुड़े होते हैं. नीचे दी गई टेबल में, इन तीन खास कॉम्पोनेंट के लिए रोलबैक के सामान्य उदाहरण दिए गए हैं. अन्य कॉम्पोनेंट को रोलबैक के क्रम सेक्शन के मुताबिक रोलबैक किया जाना चाहिए.

इस सेक्शन में, रोलबैक की अलग-अलग स्थितियों के बारे में बताया गया है. साथ ही, ऊपर बताए गए तरीकों के आधार पर, रोलबैक करने के लिए सुझाया गया तरीका भी बताया गया है.

स्थिति रोलबैक की रणनीति
एक डेटा सेंटर, कुछ Cassandra नोड अपग्रेड किए गए बैकअप वापस लाना
एक डेटा सेंटर, सभी Cassandra नोड अपग्रेड किए गए बैकअप वापस लाना
एक डेटा सेंटर, सभी नोड (Cassandra, मैनेजमेंट सर्वर, और रनटाइम नोड) अपग्रेड किए गए
एक से ज़्यादा डेटा सेंटर, पहले डेटा सेंटर में कुछ/सभी Cassandra नोड अपग्रेड किए गए मौजूदा डेटा सेंटर से फिर से बनाना
पहले डेटा सेंटर में कई डेटा सेंटर, सभी Cassandra नोड, मैनेजमेंट सर्वर, और रनटाइम नोड अपग्रेड किए गए

इसे एक बार में एक डेटा सेंटर पर ही किया जाना चाहिए.

कई डेटा सेंटर, आखिरी डेटा सेंटर के कुछ/सभी Cassandra नोड अपग्रेड किए गए हैं
  • बैकअप का इस्तेमाल करके, आखिरी डेटा सेंटर को रोलबैक करना
  • बाकी बचे डेटा सेंटर को एक बार में एक डेटा सेंटर, बैकअप या फिर से बनाकर रोलबैक करें.
एक से ज़्यादा डेटा सेंटर, सभी Cassandra नोड, मैनेजमेंट सर्वर, और सभी डीसी में अपग्रेड किए गए रनटाइम नोड

इसे एक बार में एक डेटा सेंटर के लिए ही किया जाना चाहिए.

आम तौर पर, Cassandra को रोल बैक करते समय इन बातों का ध्यान रखें:

  1. रनटाइम या मैनेजमेंट कॉम्पोनेंट को रोलबैक करना

    अगर आपको किसी डेटा सेंटर (डीसी) में, Edge मैनेजमेंट सर्वर या Edge मैसेज प्रोसेसर जैसे कॉम्पोनेंट को Edge Private Cloud के पिछले वर्शन पर वापस रोल-बैक करना है, तो पक्का करें कि उस डेटा सेंटर में Cassandra को भी उसी समय वापस रोल-बैक किया जाए. ट्रैफ़िक मैनेजमेंट और रनटाइम से जुड़ी गड़बड़ियों को रोकने के लिए, यह ज़रूरी है.

  2. बैकअप का इस्तेमाल करके रोलबैक करना

    Cassandra 3.11.x से लिए गए बैकअप, Cassandra 2.1.x से लिए गए बैकअप के साथ काम नहीं करते. बैकअप को वापस लाने की सुविधा चालू करने के लिए, पक्का करें कि अपग्रेड करने से पहले Cassandra 2.1.x का बैकअप लिया गया हो.

  3. रोलबैक के लिए डेटा सेंटर को अलग करना

    डाउनटाइम से बचने के लिए, पक्का करें कि ट्रैफ़िक को पूरी तरह से काम करने वाले डेटा सेंटर पर रीडायरेक्ट किया गया हो. साथ ही, उस डेटा सेंटर से ट्रैफ़िक को ब्लॉक किया गया हो जिस पर रोलबैक की प्रोसेस चल रही हो.

रीबिल्ड का इस्तेमाल करके Cassandra को रोलबैक करना

ज़रूरी शर्तें

  1. आपके पास एक से ज़्यादा डेटा सेंटर में, Edge for Private Cloud 4.51.00 / 4.52.00 / 4.52.01 क्लस्टर का इस्तेमाल किया जा रहा है
  2. आपने Cassandra को 2.1.X से 3.11.X पर अपग्रेड किया है और आपको अपग्रेड के दौरान समस्याएं आ रही हैं
  3. आपके क्लस्टर में कम से कम एक ऐसा डेटा सेंटर हो जो पूरी तरह से काम कर रहा हो और अब भी Cassandra के पुराने वर्शन (Cassandra 2.1.X) पर हो

हाई लेवल के चरण

  1. वह डेटा सेंटर चुनें जिसे आपको रोल-बैक करना है. यह डेटा सेंटर, पूरी तरह या कुछ हद तक अपग्रेड किया गया हो. इस डेटा सेंटर से सभी ऐप्लिकेशन ट्रैफ़िक को, पूरी तरह से काम करने वाले किसी दूसरे डेटा सेंटर पर रीडायरेक्ट करें.
  2. अगर राउटर और मैसेज प्रोसेसर को अपग्रेड किया गया है, तो डेटा सेंटर में मौजूद सभी राउटर और मैसेज प्रोसेसर नोड को एक-एक करके रोलबैक करें.
  3. किसी एक नोड पर Cassandra को बंद करें, उसे अनइंस्टॉल करें, और उससे जुड़ा सारा डेटा मिटाएं.
  4. पिछले वर्शन का बूटस्ट्रैप इंस्टॉल करें और साफ़ किए गए नोड पर Cassandra का 2.1.x वर्शन सेट अप करें.
  5. काम कर रहे मौजूदा डेटा सेंटर से, उस नोड को फिर से बनाएं जो अब भी Cassandra 2.1.x पर चल रहा है.
  6. डेटा सेंटर में बचे हर Cassandra नोड पर, तीसरे से पांचवें चरण को एक बार में एक नोड पर पूरा करें.
  7. डेटा सेंटर में, मैनेजमेंट-सर्वर सेटअप को फिर से चलाएं.
  8. रोलबैक की पुष्टि करने के लिए जांच करें. पुष्टि करने के बाद, ऐप्लिकेशन ट्रैफ़िक को वापस उस डेटा सेंटर पर रीडायरेक्ट करें जिसे वापस लाया गया है.
  9. जिन अन्य डेटा सेंटर में रोलबैक की ज़रूरत है उनके लिए, ऊपर दिया गया तरीका एक-एक करके दोहराएं.

क्लस्टर में मौजूदा नोड को मिटाने और फिर से बनाने के लिए, यहां दिए गए तरीके का पालन करें:

उस नोड से शुरू करें जिसे आपको रोलबैक करना है

  1. अगले चरणों पर जाने से पहले, पक्का करें कि ट्रैफ़िक को पूरी तरह से काम करने वाले डेटा सेंटर पर रीडायरेक्ट किया गया हो.
  2. अगर राउटर और मैसेज प्रोसेसर को अपग्रेड किया गया है, तो डेटा सेंटर में एक-एक करके सभी राउटर और मैसेज प्रोसेसर नोड को पिछले वर्शन पर रोलबैक करें.
  3. नोड पर Cassandra को बंद करना:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  4. नोड से Cassandra सॉफ़्टवेयर को अनइंस्टॉल करने के लिए:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
  5. नोड से डेटा डायरेक्ट्री हटाने के लिए:
    rm -rf /opt/apigee/data/apigee-cassandra
  6. Edge for Private Cloud के उस पुराने वर्शन का बूटस्ट्रैप डाउनलोड और चलाएं जिस पर आपको रोलबैक करना है:

    उदाहरण: 4.52.01 पर रोलबैक करने के लिए

  7. 4.52.01 का बूटस्ट्रैप डाउनलोड करें:
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
  8. 4.52.01 का बूटस्ट्रैप चलाएं:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
  9. नोड पर Cassandra सॉफ़्टवेयर इंस्टॉल करें:
    apigee-service apigee-cassandra install
  10. /opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh फ़ाइल में नीचे दी गई प्रॉपर्टी जोड़ें.
    JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=<cass_ip-address>"

    उदाहरण:

    JVM_OPTS="$JVM_OPTS -Dcassandra.replace_address=10.0.0.1"

  11. नोड पर Cassandra सेटअप करना:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  12. Cassandra के अप और रन होने के बाद, नीचे दी गई फ़ाइल से ऊपर दिया गया CWC हटाएं:/opt/apigee/apigee-cassandra/source/conf/cassandra-env.sh फ़ाइल.
  13. Cassandra नोड को रीस्टार्ट करना
    apigee-service apigee-cassandra restart
  14. काम करने वाले डेटा सेंटर का नाम डालकर, नोड को फिर से बनाएं:
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h <node-IP> <functional-dc>

    उदाहरण:

    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -h 10.0.0.1 dc-2

  15. ऊपर दिया गया तरीका, डेटा सेंटर में हर उस नोड के लिए दोहराएं जिसे आपको रोलबैक करना है.

डेटा सेंटर में मौजूद सभी Cassandra नोड को रोल बैक करने और फिर से बनाने के बाद

  1. जिस डेटा सेंटर को रोल-बैक किया जा रहा है उसमें किसी भी मैनेजमेंट-सर्वर नोड का सेटअप चलाएं. पक्का करें कि मैनेजमेंट सर्वर, रोल-बैक किए गए वर्शन का हो. अगर ऐसा नहीं है, तो मैनेजमेंट सर्वर को भी रोलबैक करें.
  2. मैनेजमेंट सर्वर को पुराने वर्शन पर रोलबैक करना

  3. मैनेजमेंट सर्वर को बंद करने के लिए:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
  4. अगर आपने कमाई करने की सुविधा का इस्तेमाल किया है, तो उसे भी अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  5. edge-gateway और apigee-cassandra-client को अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra-client uninstall
  6. पुराने वर्शन का बूटस्ट्रैप डाउनलोड और चलाएं. उदाहरण के लिए, 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
  7. मैनेजमेंट सर्वर का सेटअप

  8. एक मैनेजमेंट-सर्वर नोड का सेटअप चलाएं:
    /opt/apigee/apigee-setup/bin/setup.sh -p mt -f configFile
  9. ऊपर दिए गए चरणों को पूरा करने के बाद, ट्रैफ़िक को वापस उस डेटा सेंटर पर रीडायरेक्ट करें जिसे रोल-बैक किया गया है.

फिर से बनाने के बाद ऑप्टिमाइज़ेशन

ऊपर दिए गए चरणों में, रीबिल्ड के दौरान नोड में मौजूद सारा डेटा, रिमोट डेटा सेंटर से स्ट्रीम किया जाता है. सभी रिप्लिकेशन को लोकल डेटा सेंटर में स्ट्रीम करने के बाद, रिपेयर का इस्तेमाल करके इस प्रोसेस को ऑप्टिमाइज़ किया जा सकता है. इससे, अलग-अलग डेटा सेंटर में स्ट्रीमिंग करने की ज़रूरत नहीं पड़ती. साथ ही, यह रिमोट डेटा सेंटर से सभी नोड को फिर से बनाने की तुलना में तेज़ी से काम करता है.

उदाहरण: मान लें कि आपके स्थानीय डेटा सेंटर में छह Cassandra नोड हैं. डिफ़ॉल्ट रूप से, Apigee का रिप्लिकेशन फ़ैक्टर तीन होता है. इसलिए, हर नोड में 50% डेटा होता है. इस मामले में, ऊपर दिया गया तरीका अपनाकर, #1 और #4 नंबर वाले नोड फिर से बनाए जा सकते हैं. नोड #2, #3, #5, और #6 के लिए, बैकअप को वापस लाने और उसे ठीक करने के लिए, नीचे दिया गया तरीका अपनाएं.

  1. लोकल डेटा सेंटर में, डुप्लीकेट कॉपी फिर से बनाने के लिए, ऊपर दिए गए चरणों को पूरा करें.
  2. बाकी बचे नोड के लिए, नीचे दिया गया तरीका अपनाएं.
  3. इस नोड पर कैप्चर किया गया बैकअप वापस लाएं (ध्यान दें: इस बैकअप में पुराना डेटा हो सकता है, क्योंकि यह बैकअप Cassandra अपग्रेड शुरू करने से पहले लिया गया था):
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file

    अगर आपके पास नोड का VM स्नैपशॉट है, तो Cassandra बैकअप को वापस लाने के बजाय, स्नैपशॉट को वापस लाया जा सकता है.

  4. बैकअप वापस लाने के बाद, नोड पर Cassandra सेवा शुरू करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  5. नोड को ठीक करें, ताकि मौजूदा डेटा सेंटर से नया डेटा स्ट्रीम किया जा सके:
    /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -dc <local-dc-name>

    उदाहरण:

    /opt/apigee/apigee-cassandra/bin/nodetool -h 10.0.0.1 repair -dc dc-1

  6. आपको जिस नोड को ठीक करना है उसके लिए, दूसरे चरण में बताए गए सभी चरणों को दोहराएं

बैकअप / VM स्नैपशॉट का इस्तेमाल करके Cassandra को रोलबैक करना

अगर आपने पूरे Cassandra क्लस्टर को अपग्रेड किया है और आपको उसे रोलबैक करना है, तो यह तरीका ही उपलब्ध है. इसके अलावा, Apigee के बैकअप, नोड के हिसाब से होते हैं. एक नोड से लिए गए बैकअप को दूसरे नोड में वापस नहीं लाया जा सकता. Cassandra के बैकअप में, नोड मेटाडेटा की जानकारी शामिल होती है. जैसे, आईपी पता, रिंग पोज़िशन वगैरह.

ज़रूरी शर्तें

  1. आपने आखिरी डेटा सेंटर में Cassandra को 2.1.X से 3.11.X पर अपग्रेड करने की प्रोसेस शुरू की है और अपग्रेड के दौरान आपको समस्याएं आ रही हैं.
  2. आपके पास उस नोड के बैकअप हों जिसे आपको रोल-बैक करना है. 2.1.X से 3.11.X पर अपग्रेड करने से पहले बैकअप लिया गया था.

हाई लेवल के चरण

  1. रोल-बैक करने के लिए, कोई डेटा सेंटर चुनें. यह डेटा सेंटर, पूरी तरह या कुछ हद तक अपग्रेड किया गया हो. इस डेटा सेंटर से, रनटाइम के दौरान आने वाले सभी ट्रैफ़िक को किसी ऐसे डेटा सेंटर पर रीडायरेक्ट करें जो पूरी तरह से काम कर रहा हो.
  2. अगर राऊटर और मैसेज प्रोसेसर को अपग्रेड किया गया है, तो डेटा सेंटर में मौजूद सभी राऊटर और मैसेज प्रोसेसर नोड को एक-एक करके रोलबैक करें
  3. किसी एक नोड पर Cassandra को बंद करें, उसे अनइंस्टॉल करें, और उससे जुड़ा सारा डेटा मिटाएं.
  4. पिछले वर्शन का बूटस्ट्रैप इंस्टॉल करें और साफ़ किए गए नोड पर Cassandra का 2.1.x वर्शन सेट अप करें.
  5. Cassandra नोड को बंद करें और उससे जुड़ा सारा डेटा मिटाएं.
  6. अपग्रेड से पहले लिए गए बैकअप से Cassandra नोड को वापस लाएं.
  7. डेटा सेंटर में बचे हुए हर Cassandra नोड के लिए, तीसरे से छठे चरण को दोहराएं. हर बार एक नोड के लिए ऐसा करें.
  8. डेटा सेंटर में, मैनेजमेंट-सर्वर सेटअप को फिर से चलाएं.
  9. रोलबैक की पुष्टि करने के लिए जांच करें. पुष्टि हो जाने के बाद, रनटाइम ट्रैफ़िक को वापस उस डेटा सेंटर पर रीडायरेक्ट करें जिसे वापस लाया गया है.
  10. जिन अन्य डेटा सेंटर में रोलबैक की ज़रूरत है उनके लिए, ऊपर दिया गया तरीका एक-एक करके दोहराएं.
  11. (ज़रूरी नहीं) अगर सभी डेटा सेंटर में डेटा में अंतर है, तो सभी Cassandra नोड में 'ठीक करें' कमांड चलाएं.

बैकअप/वीएम स्नैपशॉट का इस्तेमाल करके, Cassandra को रोलबैक करने का तरीका

क्लस्टर में एक Cassandra नोड से शुरू करना

  1. अगले चरणों पर जाने से पहले, पक्का करें कि ट्रैफ़िक को पूरी तरह से काम करने वाले डेटा सेंटर पर रीडायरेक्ट किया गया हो.
  2. अगर राउटर और मैसेज प्रोसेसर को अपग्रेड किया गया है, तो डेटा सेंटर में एक-एक करके सभी राउटर और मैसेज प्रोसेसर नोड को पिछले वर्शन पर रोलबैक करें.
  3. नोड पर Cassandra को बंद करना:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  4. नोड से Cassandra सॉफ़्टवेयर को अनइंस्टॉल करने के लिए:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
  5. नोड से डेटा डायरेक्ट्री हटाने के लिए:
    rm -rf /opt/apigee/data/apigee-cassandra
  6. Edge for Private Cloud के उस पुराने वर्शन का बूटस्ट्रैप डाउनलोड और चलाएं जिस पर आपको रोलबैक करना है:

    उदाहरण: 4.52.01 पर रोलबैक करने के लिए

  7. 4.52.01 का बूटस्ट्रैप डाउनलोड करें:
    curl https://software.apigee.com/bootstrap_4.52.01.sh -o /tmp/bootstrap_4.52.01.sh -u ‘uName:pWord’
  8. 4.52.01 का बूटस्ट्रैप चलाएं:
    sudo bash /tmp/bootstrap_4.52.01.sh apigeeuser=uName apigeepassword=pWord
  9. नोड पर Cassandra सेटअप करना:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
  10. नोड पर Cassandra को बंद करना:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
  11. नोड पर डेटा डायरेक्ट्री मिटाएं:
    rm -rf /opt/apigee/data/apigee-cassandra/data
  12. बैकअप वापस लाने के लिए:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backup_file
  13. नोड पर Cassandra सेवा शुरू करना
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  14. हर Cassandra नोड पर, एक-एक करके ये चरण दोहराएं.
  15. जिस डेटा सेंटर को रोल-बैक किया जा रहा है उसमें किसी भी मैनेजमेंट-सर्वर नोड का सेटअप चलाएं. पक्का करें कि मैनेजमेंट सर्वर, रोल-बैक किए गए वर्शन का हो. अगर ऐसा नहीं है, तो मैनेजमेंट सर्वर को भी रोलबैक करें.
  16. ऊपर दिए गए चरणों को पूरा करने के बाद, ट्रैफ़िक को वापस उस डेटा सेंटर पर रीडायरेक्ट करें जिसे रोल-बैक किया गया है.
  17. (ज़रूरी नहीं) अगर सभी डेटा सेंटर में डेटा में अंतर है, तो सभी Cassandra नोड में 'ठीक करें' कमांड चलाएं.
    /opt/apigee/apigee-cassandra/bin/nodetool -h <node-IP> repair -pr

Zookeeper 3.8.3 अपडेट को रोलबैक करना

अगर आपको 4.52.00 या 4.51.00 वर्शन पर वापस जाना है, तो Zookeeper को वापस रोल करने से पहले, आपको कुछ खास चरणों को देखना होगा. इन चरणों के बारे में रोलबैक में बताया गया है.

अगर आपको 4.52.01 वर्शन पर वापस जाना है, तो Zookeeper को उसी तरह वापस लाएं जिस तरह किसी भी सॉफ़्टवेयर को वापस लाया जाता है. इसके बारे में ज़्यादा जानने के लिए, नीचे दिए गए किसी पिछली बड़ी या छोटी रिलीज़ पर वापस जाएं सेक्शन में जाएं.

Qpid को रोलबैक करना

अगर आपको Qpid को 4.52.00 या 4.51.00 वर्शन पर वापस रोल बैक करना है, तो आपको कुछ खास तरीके अपनाने होंगे. इन चरणों के बारे में रोलबैक में बताया गया है.

अगर आपको 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 डाउनलोड करें
  2. रोल बैक करने के लिए कॉम्पोनेंट को रोकें:
    1. नोड पर मौजूद कॉमन कोड वाले किसी भी कॉम्पोनेंट को रोल बैक करने के लिए, आपको सभी कॉम्पोनेंट को रोकना होगा, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है:
      /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 और apigee-cassandra-client कॉम्पोनेंट ग्रुप को अनइंस्टॉल करके, सभी कॉम्पोनेंट को अनइंस्टॉल करना होगा. इसका उदाहरण यहां दिया गया है:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra-client uninstall
    2. नोड पर मौजूद किसी भी अन्य कॉम्पोनेंट को रोल बैक करने के लिए, सिर्फ़ उस कॉम्पोनेंट को अनइंस्टॉल करें, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है:
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      यहां component, कॉम्पोनेंट का नाम है.

    3. Edge Router को रोल बैक करने के लिए, आपको edge-gateway कॉम्पोनेंट ग्रुप को अनइंस्टॉल करने के साथ-साथ, /opt/nginx/conf.d फ़ाइल का कॉन्टेंट भी मिटाना होगा:
      cd /opt/nginx/conf.d
      rm -rf *
  5. apigee-setup का 4.52.02 वर्शन अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. apigee-service की सुविधा और उसकी डिपेंडेंसी का 4.51.00 वर्शन इंस्टॉल करें. यहां दिए गए उदाहरण में, apigee-service का 4.51.00 वर्शन इंस्टॉल किया गया है:
    sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord

    यहां uName और pWord, Apigee से मिले उपयोगकर्ता नाम और पासवर्ड हैं. अगर pWord को शामिल नहीं किया जाता है, तो आपसे उसे डालने के लिए कहा जाएगा.

    अगर आपको कोई गड़बड़ी मिलती है, तो पक्का करें कि आपने पहले चरण में bootstrap.sh फ़ाइल डाउनलोड की हो.

  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.51.05-0.0.3749 install

    अगर Apigee के ऑनलाइन रिपॉज़िटरी का इस्तेमाल किया जा रहा है, तो उपलब्ध कॉम्पोनेंट के वर्शन का पता लगाने के लिए, यह कमांड इस्तेमाल करें:

    yum --showduplicates list component

    उदाहरण के लिए:

    yum --showduplicates list edge-ui
  2. कॉम्पोनेंट इंस्टॉल करने के लिए, apigee-setup का इस्तेमाल करें:
    /opt/apigee/apigee-setup/bin/setup.sh -p component -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