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 कassandra
4.52.00 Cassandra, Zookeeper, Qpid
4.51.00 Cassandra, Zookeeper, 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. Cassandra, Zookeeper को रोलबैक करना
  4. रोलबैक मैनेजमेंट सर्वर

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

  1. सभी आरएमपी को एक-एक करके रोलबैक करना
  2. बैकअप का इस्तेमाल करके, पूरे Cassandra क्लस्टर को रोलबैक करना
  3. Edge Management सर्वर नोड को एक-एक करके रोलबैक करना

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

रोलबैक करने वाला उपयोगकर्ता वही होना चाहिए जिसने मूल रूप से 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, नोड पर सेव किए गए डेटा के स्कीमा में बदलाव करता है. इससे, सीधे तौर पर डेटा को पहले जैसा करना मुमकिन नहीं होता. रोलबैक करने के दो तरीके हैं. आपको अपग्रेड की जिस स्थिति से रोल-बैक करना है उसके आधार पर, इनमें से किसी एक तरीके का इस्तेमाल करना होगा.

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

क्लस्टर में मौजूदा नोड को मिटाकर, नोड को फिर से बनाने के लिए उनका इस्तेमाल करना

यह तरीका तब अपनाया जा सकता है, जब आपके क्लस्टर में कम से कम एक ऐसा डेटा सेंटर हो जो पूरी तरह से काम कर रहा हो और 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 for Private Cloud के उस पुराने वर्शन का बूटस्ट्रैप डाउनलोड और चलाएं जिस पर आपको रोलबैक करना है.

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

    • 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
    • पुराने वर्शन का बूटस्ट्रैप डाउनलोड और चलाएं. उदाहरण के लिए, 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

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

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

उदाहरण: मान लें कि आपके स्थानीय डेटा सेंटर में छह 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>
    • आपको जिस नोड को ठीक करना है उसके लिए, तीसरे से छठे चरण तक दोहराएं.

बैकअप/वीएम स्नैपशॉट मिटाना और उसे वापस लाना

अगर आपने पूरे Cassandra क्लस्टर को अपग्रेड किया है और आपको उसे रोलबैक करना है, तो यह तरीका ही उपलब्ध है.

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

  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 for Private Cloud के उस पुराने वर्शन का बूटस्ट्रैप डाउनलोड और चलाएं जिस पर आपको रोलबैक करना है.

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

    • 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

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 डाउनलोड करें:
      curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/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 कॉम्पोनेंट ग्रुप को अनइंस्टॉल करके, सभी कॉम्पोनेंट को अनइंस्टॉल करना होगा. इसका उदाहरण यहां दिया गया है:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway 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 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