डेटा सेंटर बंद करना

कभी-कभी, आपको डेटा सेंटर बंद करना पड़ सकता है. उदाहरण के लिए, अगर आपको अपना ऑपरेटिंग सिस्टम अपग्रेड करना है, तो आपको नए डेटा सेंटर में नया ऑपरेटिंग सिस्टम इंस्टॉल करना होगा. इसके बाद, पुराने डेटा सेंटर को बंद करना होगा. नीचे दिए सेक्शन में डेटा सेंटर को बंद करने का उदाहरण दिया गया है. इसमें 12-नोड क्लस्टर वाले इंस्टॉलेशन पर दो डेटा सेंटर, dc-1 और dc-2 हैं:

  • dc-1 बंद किया जाने वाला डेटा सेंटर है.
  • dc-2 एक दूसरा डेटा सेंटर है. इसका इस्तेमाल, डिकेशन की प्रोसेस में किया जाता है.

अगर आपका ऑपरेटिंग सिस्टम अपग्रेड हो रहा है, तो dc-2 वह डेटा सेंटर हो सकता है जिसमें आपने ऑपरेटिंग सिस्टम (ओएस) का नया वर्शन इंस्टॉल किया है. हालांकि, डेटा सेंटर को बंद करने के लिए, नया ओएस इंस्टॉल करना ज़रूरी नहीं है.

डेटा सेंटर के बंद होने से पहले ध्यान देने वाली बातें

डेटा सेंटर बंद करते समय इन बातों का ध्यान रखें:

  • डेटा सेंटर के सभी रनटाइम और मैनेजमेंट ट्रैफ़िक को बंद किए जाने से रोकें और उन्हें दूसरे डेटा सेंटर पर रीडायरेक्ट करें.
  • डेटा सेंटर को बंद करने के बाद, आपके Apigee क्लस्टर की क्षमता कम हो जाएगी. इसकी भरपाई करने के लिए, आप बचे हुए डेटा सेंटर की क्षमता बढ़ाएं या बंद होने के बाद डेटा सेंटर जोड़ें.
  • डेटा सेंटर को बंद करने की प्रोसेस के दौरान, आंकड़ों का डेटा मिट सकता है. यह इस बात पर निर्भर करता है कि डेटा सेंटर में इंस्टॉल किए गए किन कॉम्पोनेंट को बंद किया जा रहा है. आपको क्यूपीआईडी नोड जोड़ना या हटाना पेज पर ज़्यादा जानकारी मिल सकती है.
  • किसी डेटा सेंटर को बंद करने से पहले, आपको यह समझना चाहिए कि सभी डेटा सेंटर में सभी कॉम्पोनेंट कैसे कॉन्फ़िगर किए जाते हैं. खास तौर पर, OpenLDAP, ZooKeeper, कैसेंड्रा, और Postgres सर्वर पर. आपको सभी कॉम्पोनेंट और उनके कॉन्फ़िगरेशन का बैकअप भी लेना चाहिए.

शुरू करने से पहले

  • मैनेजमेंट सर्वर: इसे बंद करने के सभी चरण, मैनेजमेंट सर्वर पर निर्भर करते हैं. अगर आपके पास सिर्फ़ एक मैनेजमेंट सर्वर उपलब्ध है, तो हमारा सुझाव है कि dc-1 पर मैनेजमेंट सर्वर बंद करने से पहले, dc-1 के अलावा किसी दूसरे डेटा सेंटर में मैनेजमेंट सर्वर का नया कॉम्पोनेंट इंस्टॉल करें. साथ ही, यह पक्का करें कि कोई एक मैनेजमेंट सर्वर हमेशा उपलब्ध रहे.
  • राऊटर: राऊटर को बंद करने से पहले, पोर्ट 15999 को ब्लॉक करके राऊटर से कनेक्ट होने की सुविधा बंद करें. पक्का करें कि बंद किए जा रहे राऊटर पर कोई रनटाइम ट्रैफ़िक न भेजा जाए.
  • कैसेंड्रा और ज़ूकीपर: नीचे दिए गए सेक्शन में, दो डेटा सेंटर सेटअप में dc-1 को बंद करने का तरीका बताया गया है. अगर आपके पास दो से ज़्यादा डेटा सेंटर हैं, तो पक्का करें कि बंद किए जा रहे नोड के सभी रेफ़रंस (इस मामले में dc-1) सभी बाकी डेटा सेंटर के लिए, सभी साइलेंट कॉन्फ़िगरेशन फ़ाइलों से हटा दिए जाएं. कैसंड्रा नोड को बंद करने के लिए, उन होस्ट को CASS_HOSTS से हटाएं. बाकी केसांद्रा नोड, CASS_HOSTS के मूल क्रम में ही रहने चाहिए.

  • Postgres: अगर आपने Postgres मास्टर को बंद कर दिया है, तो किसी भी मौजूदा स्टैंडबाय नोड को नए पोस्टग्रेट मास्टर के तौर पर प्रमोट करें. QPID सर्वर सूची में एक बफ़र बनाए रखता है. हालांकि, अगर Postgres मास्टर ज़्यादा समय तक उपलब्ध नहीं रहता है, तो आपके आंकड़ों का डेटा खोने का जोखिम रहता है.

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

  • किसी भी कॉम्पोनेंट को बंद करने से पहले, हमारा सुझाव है कि आप सभी नोड का पूरा बैकअप लें. बैकअप करने के लिए, अपने EDGE के मौजूदा वर्शन की प्रक्रिया का इस्तेमाल करें. बैकअप लेने के बारे में ज़्यादा जानकारी के लिए, बैकअप लें और डेटा वापस लाएं देखें.

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

  • इस निर्देश का इस्तेमाल करके, पक्का करें कि Edge चालू है और बंद होने से पहले चल रहा है:
    /opt/apigee/apigee-service/bin/apigee-all status
  • पक्का करें कि जिस डेटा सेंटर को बंद किया जा रहा है उस पर फ़िलहाल, कोई रनटाइम ट्रैफ़िक न आ रहा हो.

बंद किए जाने वाले कॉम्पोनेंट का क्रम

अगर एक से ज़्यादा नोड पर Edge के कॉम्पोनेंट को एक से ज़्यादा नोड पर इंस्टॉल किया जाता है, तो आपको उन नोड पर Edge के कॉम्पोनेंट को इस क्रम में बंद करना चाहिए:

  1. Edge यूज़र इंटरफ़ेस (यूआई) (edge-ui)
  2. मैनेजमेंट सर्वर (एज-मैनेजमेंट-सर्वर)
  3. OpenLDAP (apigee-openldap)
  4. राउटर (एज-राउटर)
  5. मैसेज प्रोसेसर (एज-मैसेज-प्रोसेसर)
  6. Qpid सर्वर और Qpidd (edge-qpid-server और apigee-qpidd)
  7. Postgres और PostgreSQL डेटाबेस (edge-postgres-server और apigee-postgresql)
  8. ज़ूकीपर (apigee-zookeeper)
  9. कैसांड्रा (apigee-cassandra)

नीचे दिए सेक्शन में, हर कॉम्पोनेंट को बंद करने का तरीका बताया गया है.

Edge यूज़र इंटरफ़ेस (यूआई)

dc-1 के Edge यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट को बंद और अनइंस्टॉल करने के लिए, ये निर्देश डालें:

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

मैनेजमेंट सर्वर

dc-1 पर मैनेजमेंट सर्वर बंद करने के लिए, यह तरीका अपनाएं:

  1. dc-1 पर मैनेजमेंट सर्वर बंद करें:
    apigee-service edge-management-server stop
  2. dc-1 में रजिस्टर किया गया मैनेजमेंट सर्वर का यूयूआईडी ढूंढें:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. सर्वर के रजिस्ट्रेशन को रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. सर्वर को मिटाएं. ध्यान दें: अगर इस सर्वर पर अन्य कॉम्पोनेंट भी इंस्टॉल किए गए हैं, तो यूयूआईडी को मिटाने से पहले उन सभी का रजिस्ट्रेशन रद्द कर दें.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. dc-1 पर मैनेजमेंट सर्वर कॉम्पोनेंट अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

LDAP खोलें

इस सेक्शन में, dc-1 पर OpenLDAP को बंद करने का तरीका बताया गया है.

ध्यान दें: अगर आपके पास दो से ज़्यादा डेटा सेंटर हैं, तो नीचे दो से ज़्यादा डेटा सेंटर वाले सेटअप देखें.

dc-1 पर OpenLDAP को बंद करने के लिए, यह तरीका अपनाएं:

  1. बैक अप लेने का तरीका लेख में दिए गए तरीके से, dc-1 OpenLDAP नोड का बैक अप लें.
  2. dc-1 और dc-2 नाम के दो डेटा सेंटर के बीच, डेटा को डुप्लीकेट करने के लिए, दोनों डेटा सेंटर में यह तरीका अपनाएं.

    1. मौजूदा स्थिति देखें:
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      आउटपुट इनके जैसा होना चाहिए:

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    2. नीचे दिए गए निर्देशों वाली फ़ाइल break_repl.ldif बनाएं:
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. ldapmodify निर्देश चलाएं:
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      आउटपुट इनके जैसा होना चाहिए:

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. आप इस बात की पुष्टि कर सकते हैं कि dc-2 अब dc-2 LDAP में एक एंट्री बनाकर और यह पक्का करके dc-1 की नकल नहीं कर रहा है कि वह dc-1 के LDAP में न दिखे.

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

    1. dc-2 में इन कॉन्टेंट के साथ readonly-user.ldif फ़ाइल बनाएं:
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. dc-2 में `ldapadd` कमांड का इस्तेमाल करके, उपयोगकर्ता को जोड़ें:
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      आउटपुट इससे मिलता-जुलता होगा:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. dc-1 में उपयोगकर्ता को खोजें और यह सुनिश्चित करें कि वह उपयोगकर्ता डुप्लीकेट न हो. अगर उपयोगकर्ता dc-1 में मौजूद नहीं है, तो आपको यह पक्का करना होगा कि दोनों LDAP अब डुप्लीकेट नहीं हो रहे हैं:
      ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      आउटपुट इनके जैसा होना चाहिए:

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. उस रीड-ओनली उपयोगकर्ता को हटाएं जिसे आपने पहले जोड़ा था:
      ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. dc-1 में OpenLDAP को बंद करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. dc-1 पर OpenLDAP कॉम्पोनेंट अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

राऊटर

इस सेक्शन में, राऊटर को बंद करने का तरीका बताया गया है. राऊटर हटाने के बारे में ज़्यादा जानने के लिए सर्वर हटाना देखें.

इन निर्देशों का पालन करने पर, राऊटर को dc-1 से बंद किया जा सकता है. अगर dc-1 में कई राऊटर नोड कॉन्फ़िगर किए गए हैं, तो सभी राऊटर नोड पर एक-एक करके तरीका अपनाएं

ध्यान दें: यहां यह माना जाता है कि राऊटर के हेल्थ-चेक पोर्ट 15999 को आपके लोड बैलेंसर में कॉन्फ़िगर किया गया है. पोर्ट 15999 को ब्लॉक करने से राऊटर से कनेक्ट नहीं किया जा सकेगा. पोर्ट ब्लॉक करने के लिए आपको रूट ऐक्सेस की ज़रूरत पड़ सकती है.

किसी राऊटर को बंद करने के लिए, यह तरीका अपनाएं:

  1. हेल्थ चेक पोर्ट यानी कि पोर्ट 15999 को ब्लॉक करके, राऊटर के इस्तेमाल की सुविधा बंद करें. पक्का करें कि इस डेटा सेंटर पर रनटाइम ट्रैफ़िक ब्लॉक है:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. पुष्टि करें कि राऊटर से कनेक्ट किया जा सकता है:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    आउटपुट इनके जैसा होना चाहिए:

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused

  3. यूयूआईडी पाएं में बताए गए तरीके के हिसाब से राऊटर का यूयूआईडी पाएं.
  4. राऊटर बंद करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. नीचे दिए गए निर्देश की मदद से, संगठन में उपलब्ध गेटवे पॉड की सूची बनाएं:
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    पॉड के बारे में जानकारी देखें.

  6. सर्वर के इस टाइप का रजिस्ट्रेशन रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. सर्वर का रजिस्ट्रेशन रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. edge-router को अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    सर्वर हटाना देखें.
  9. ब्लॉक किए गए पोर्ट 15999 को चालू करने के लिए, iptables नियमों को हटाएं:
    iptables -F

मैसेज प्रोसेसर

इस सेक्शन में, मैसेज प्रोसेसर को dc-1 से बंद करने का तरीका बताया गया है. मैसेज प्रोसेसर को हटाने के बारे में ज़्यादा जानने के लिए, सर्वर हटाएं देखें.

हम यह मान रहे हैं कि dc-1 में 12-नोड क्लस्टर वाला इंस्टॉलेशन है, इसलिए dc-1 में दो मैसेज प्रोसेसर नोड कॉन्फ़िगर किए जाते हैं. दोनों नोड में ये निर्देश दें.

  1. यूयूआईडी पाएं में बताए गए तरीके के हिसाब से मैसेज प्रोसेसर के यूयूआईडी पाएं.
  2. मैसेज प्रोसेसर को बंद करें:
    apigee-service edge-message-processor stop
  3. सर्वर के इस टाइप का रजिस्ट्रेशन रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. सर्वर के इस टाइप का रजिस्ट्रेशन रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. मैसेज प्रोसेसर को अनइंस्टॉल करें:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. सर्वर का रजिस्ट्रेशन रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Qpid सर्वर और Qpidd

इस सेक्शन में, Qpid सर्वर (edge-qpid-server) और Qpidd को बंद करने का तरीका बताया गया है (apigee-qpidd). dc-1 में दो Qpid नोड कॉन्फ़िगर किए जाते हैं. इसलिए, आपको दोनों नोड के लिए ये चरण पूरे करने होंगे:

  1. यूयूआईडी पाएं के हिसाब से, Qpidd के लिए यूयूआईडी पाएं.
  2. edge-qpid-server और apigee-qpidd रोकें:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Analytics और उपभोक्ता ग्रुप की सूची पाएं:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. उपभोक्ता ग्रुप से Qpid हटाएं:
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Qpid को Analytics ग्रुप से हटाएं:
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Edge इंस्टॉलेशन से Qpid सर्वर का रजिस्ट्रेशन रद्द करें:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Edge इंस्टॉलेशन से Qpid सर्वर हटाएं:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. सभी नोड पर सभी एज-qpid-सर्वर कॉम्पोनेंट को रीस्टार्ट करें, ताकि यह पक्का किया जा सके कि इन कॉम्पोनेंट को बदलाव सही लग रहे हैं:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Edge-qpid-server और apigee-qpidd को अनइंस्टॉल करें:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres और Postgresql

जिस डेटा सेंटर को बंद किया जा रहा है उसमें Postgres मास्टर या Postgres स्टैंडबाय हो सकता है. नीचे दिए सेक्शन में, इन्हें बंद करने का तरीका बताया गया है:

Postgres मास्टर को बंद किया जा रहा है

ध्यान दें: अगर आपने Postgres मास्टर को बंद कर दिया है, तो किसी भी उपलब्ध स्टैंडबाय नोड को नए पोस्टग्रेट मास्टर के तौर पर प्रमोट करें. वहीं, QPID कतार से बफ़र डेटा का इस्तेमाल होने के बावजूद अगर Postgres मास्टर लंबे समय तक उपलब्ध नहीं है, तो आपके Analytics डेटा का ऐक्सेस मिट सकता है.

Postgres मास्टर को बंद करने के लिए:

  1. नीचे दिए गए लिंक में दिए गए निर्देशों का पालन करके, dc-1 Postgres मास्टर नोड का बैक अप लें:
  2. यूयूआईडी पाएं में बताए गए तरीके से Postgres सर्वर के यूयूआईडी पाएं.
  3. dc-1 पर, मौजूदा मास्टर पर edge-postgres-server और apigee-postgresql को रोकें:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. dc-2 के स्टैंडबाय नोड पर, इसे मास्टर नोड बनाने के लिए नीचे दिया गया निर्देश डालें:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    ध्यान दें: अगर आपके पास एक से ज़्यादा स्टैंडबाय Postgres नोड हैं, तो आपको नए मास्टर पर होस्ट एंट्री को जोड़ना होगा. साथ ही, सभी उपलब्ध पोस्टग्रेस स्टैंडबाय नोड के लिए दोहराव की सेटिंग अपडेट करनी होगी.

    नए Postgres मास्टर में होस्ट एंट्री जोड़ने के लिए: नीचे सही सेक्शन में बताया गया तरीका अपनाएं:

    अगर सिर्फ़ एक स्टैंडबाय नोड बचा हो

    उदाहरण के लिए, मान लें कि इस सुविधा को बंद करने से पहले, तीन Postgres नोड कॉन्फ़िगर किए गए थे. आपने मौजूदा मास्टर को बंद कर दिया है और बाकी पोस्टग्रेस स्टैंडबाय नोड में से एक को मास्टर करने के लिए प्रमोट किया है. बाकी बचे स्टैंडबाय नोड को कॉन्फ़िगर करने के लिए, यह तरीका अपनाएं:

    1. नए मास्टर पर, कॉन्फ़िगरेशन फ़ाइल में बदलाव करके, इसे सेट करें:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. नए मास्टर पर कॉपी करने की सुविधा चालू करें:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    अगर एक से ज़्यादा स्टैंडबाय नोड बचे हैं

    1. /opt/apigee/customer/application/postgresql.properties में यह कॉन्फ़िगरेशन जोड़ें:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. पक्का करें कि फ़ाइल /opt/apigee/customer/application/postgresql.properties का apigee उपयोगकर्ता के पास मालिकाना हक हो:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. apigee-postgresql को रीस्टार्ट करें:
      apigee-service apigee-postgresql restart
    4. स्टैंडबाय नोड पर प्रतिरूप सेटिंग अपडेट करने के लिए:

      1. कॉन्फ़िगरेशन फ़ाइल /opt/silent.conf में बदलाव करें और नए Postgres मास्टर के आईपी पते के साथ PG_MASTER फ़ील्ड को अपडेट करें.
      2. नीचे दिए गए निर्देश की मदद से, सभी पुराने Postgres डेटा को हटाएं:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. स्टैंडबाय नोड पर प्रतिरूप सेट करें:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. dc-2 में यह कमांड डालकर पुष्टि करें कि Postgres मास्टर सही तरीके से सेट अप है:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Analytics ग्रुप और उपभोक्ता ग्रुप से Postgresql सर्वर हटाएं और जोड़ें.
      1. Analytics ग्रुप से Postgres सर्वर हटाना लेख में दिए गए निर्देशों का पालन करके, पुराने Postgres सर्वर को Analytics ग्रुप से हटाएं.
      2. Analytics ग्रुप में मौजूदा Postgres सर्वर जोड़ना में दिए गए निर्देशों का पालन करके, Analytics ग्रुप में एक नया पोस्टग्रेस सर्वर जोड़ें.
    7. dc-1 से पुराने Postgres सर्वर का रजिस्ट्रेशन रद्द करें:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. dc-1 से पुराना Postgres सर्वर मिटाएं:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. पुराने Postgres मास्टर को अब बंद किया जा सकता है. edge-postgres-server और apigee-postgresql को अनइंस्टॉल करें:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Postgres स्टैंडबाय को बंद किया जा रहा है

    ध्यान दें: किसी 12-नोड क्लस्टर किए गए इंस्टॉलेशन के दस्तावेज़ में, dc-1 postgresql नोड, मास्टर के तौर पर दिखाया जाता है. हालांकि, सुविधा के हिसाब से, इस सेक्शन में यह माना जाता है कि dc-1 postgresql नोड स्टैंडबाय है और dc-2 postgresql नोड मास्टर है.

    Postgres स्टैंडबाय को बंद करने के लिए, यह तरीका अपनाएं:

    1. यूयूआईडी पाएं में दिए गए निर्देशों का पालन करके, Postgres सर्वर के यूयूआईडी पाएं.
    2. dc-1 में मौजूदा स्टैंडबाय नोड पर apigee-postgresql को रोकें:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Analytics ग्रुप और उपभोक्ता ग्रुप से Postgresql सर्वर हटाएं और जोड़ें.
      1. Analytics ग्रुप से Postgres सर्वर हटाना लेख में दिए गए निर्देशों का पालन करके, पुराने Postgres सर्वर को Analytics ग्रुप से हटाएं.
      2. Analytics ग्रुप में मौजूदा Postgres सर्वर जोड़ना में दिए गए निर्देशों का पालन करके, Analytics ग्रुप में एक नया पोस्टग्रेस सर्वर जोड़ें.
    4. dc-1 से पुराने Postgres सर्वर का रजिस्ट्रेशन रद्द करें:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. dc-1 से पुराना Postgres सर्वर मिटाएं:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. पुराने Postgres मास्टर को अब बंद किया जा सकता है. edge-postgres-server और apigee-postgresql को अनइंस्टॉल करें:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ज़ूकीपर और कसांद्रा

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

    अगर आपके पास दो से ज़्यादा डेटा सेंटर हैं, तो पक्का करें कि बंद किए जा रहे नोड के सभी रेफ़रंस (इस मामले में dc-1) सभी बाकी डेटा सेंटर के लिए, सभी साइलेंट कॉन्फ़िगरेशन फ़ाइलों से हटा दिए जाएं. कैसंड्रा नोड को बंद करने के लिए, उन होस्ट को CASS_HOSTS से हटाएं. बाकी केसांद्रा नोड, CASS_HOSTS के मूल क्रम में ही रहने चाहिए.

    ज़ूकीपर के बारे में जानकारी: आपको कॉन्फ़िगरेशन फ़ाइल में मौजूद ZK_HOST प्रॉपर्टी में बदलाव करते समय, वोटर नोड की संख्या बरकरार रखनी होगी. इससे यह पक्का किया जा सकेगा कि छोटा-सा रखने वाला चिड़ियाघर चालू रहे. आपके कॉन्फ़िगरेशन में विषम संख्या में वोटर नोड होने चाहिए. ज़्यादा जानकारी के लिए, Apache ZoomKeeper के रखरखाव के टास्क देखें.

    ज़ूकीपर और कैसंड्रा सर्वर को बंद करने के लिए:

    1. नीचे दिए गए लिंक में दिए गए निर्देशों का पालन करके, dc-1 कैसेंड्रा और ज़ूकीपर नोड का बैक अप लें:
    2. डेटा सेंटर में 'ज़ूकीपर' और 'कैसांड्रा' सर्वर के यूयूआईडी की सूची बनाएं, जहां कैसांड्रा नोड बंद होने वाले हैं.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. सर्वर के इस टाइप का रजिस्ट्रेशन रद्द करें:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. सर्वर का रजिस्ट्रेशन रद्द करें:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. कॉन्फ़िगरेशन फ़ाइल को ZK_HOSTS और CASS_HOSTS से हटाए गए नोड के आईपी के साथ अपडेट करें.

      उदाहरण: मान लें कि आपके पास dc-1 में $IP1 $IP2 $IP3 आईपी और dc-2 में $IP4 $IP5 $IP6 हैं और आप dc-1 को बंद कर रहे हैं. इसके बाद, आपको कॉन्फ़िगरेशन फ़ाइलों से आईपी $IP1 $IP2 $IP3 को हटाना होगा.

      • कॉन्फ़िगरेशन फ़ाइल की मौजूदा एंट्री:
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • नई कॉन्फ़िगरेशन फ़ाइल एंट्री:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. हटाए गए बंद किए गए नोड के आईपी के साथ साइलेंट कॉन्फ़िगरेशन फ़ाइल अपडेट करें और मैनेजमेंट सर्वर होस्ट करने वाले सभी नोड पर मैनेजमेंट सर्वर प्रोफ़ाइल चलाएं:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. हटाए गए नोड के आईपी के साथ कॉन्फ़िगरेशन फ़ाइल अपडेट करें. साथ ही, सभी राऊटर और मैसेज प्रोसेसर नोड पर MP/RMP प्रोफ़ाइल चलाएं:
      • अगर Edge राऊटर और मैसेज प्रोसेसर को एक ही नोड पर कॉन्फ़िगर किया गया है, तो यह डालें:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • अगर Edge राऊटर और मैसेज प्रोसेसर को अलग-अलग नोड पर कॉन्फ़िगर किया गया है, तो यह डालें:

        राऊटर के लिए:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        मैसेज प्रोसेसर के लिए:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. रिस्पॉन्स फ़ाइल से हटाए गए नोड के आईपी के साथ, सभी Qpid नोड को फिर से कॉन्फ़िगर करें:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. रिस्पॉन्स फ़ाइल से हटाए गए नोड के आईपी के साथ, सभी Postgres नोड को फिर से कॉन्फ़िगर करें:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. system_auth कीस्पेस बदलें. अगर आपने मौजूदा Cassandra नोड पर Cassandra की पुष्टि करने की सुविधा चालू की है, तो यह निर्देश चलाकर system_auth कीस्पेस के दोहराव वाले फ़ैक्टर को अपडेट करें:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      यह निर्देश, दोहराए जाने वाले फ़ैक्टर को '3' पर सेट करता है. इससे क्लस्टर में तीन कैसंड्रा नोड दिखते हैं. ज़रूरत के हिसाब से, इस वैल्यू में बदलाव करें.

      इस चरण को पूरा करने के बाद, कैसंड्रा टोपोलॉजी में किसी भी कीस्पेस में dc-1 नहीं होना चाहिए.

    11. कैसंड्रा नोड को dc-1 पर एक-एक करके बंद करें.

      Cassandra नोड को बंद करने के लिए, यह निर्देश डालें:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. इनमें से किसी एक निर्देश का इस्तेमाल करके, dc-1 से कैसंड्रा नोड के कनेक्शन की जांच करें:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      या बंद किए गए नोड पर पुष्टि करने का दूसरा निर्देश:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      ऊपर दिए गए निर्देश से:

      Mode: DECOMMISSIONED

    13. dc-2 में सभी कैसेंड्रा और ज़ूकीपर नोड के लिए DS प्रोफ़ाइल चलाएं:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. dc-1 में apigee-cassandra और apigee-zookeeper को बंद करें:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. dc-1 में apigee-cassandra और apigee-zookeeper को अनइंस्टॉल करें:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    dc-1 से बाइंडिंग मिटाएं

    dc-1 से बाइंडिंग मिटाने के लिए, यह तरीका अपनाएं:

    1. dc-1 से बाइंडिंग मिटाएं.
      1. संगठन के तहत उपलब्ध सभी पॉड की सूची बनाएं:
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. यह देखने के लिए कि सभी बाइंडिंग हटा दी गई हैं या नहीं, पॉड से जुड़े सर्वर के यूयूआईडी पाएं:
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        अगर इस निर्देश से कोई यूयूआईडी नहीं मिलता, तो इसका मतलब है कि पिछले चरणों ने सभी बाइंडिंग हटा दी हैं. अब अगले चरण को छोड़ा जा सकता है. या फिर, अगला चरण पूरा करें.

      3. पिछले चरण में मिले यूयूआईडी के लिए, सभी सर्वर बाइंडिंग हटाएं:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. संगठन को पॉड से अलग करें:
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. पॉड मिटाएं:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. चुना गया इलाका मिटाएं.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    ध्यान दें: अगर सर्वर को मिटाने के किसी भी चरण को पूरा नहीं किया जाता है, तो ऊपर दिए गए तरीके से गड़बड़ी का मैसेज मिलेगा. इसमें बताया जाएगा कि पॉड में कोई खास सर्वर अब भी मौजूद है. इसलिए, इस समस्या को हल करने के लिए नीचे दिया गया तरीका अपनाएं. इसके लिए, curl कमांड में बताए गए टाइप को अपनी पसंद के मुताबिक बनाएं.

    इस समय आपने dc-1 को हटा दिया है.

    अन्य जानकारी

    समस्या हल करना

    अगर पिछले चरण पूरे करने के बाद भी कुछ पॉड में सर्वर मौजूद हैं, तो सर्वर का रजिस्ट्रेशन रद्द करने और उसे मिटाने के लिए, यह तरीका अपनाएं. ध्यान दें: ज़रूरत के हिसाब से टाइप और पॉड बदलें.

    1. नीचे दिए गए निर्देश का इस्तेमाल करके UUID पाएं:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. सर्वर के रजिस्ट्रेशन को रद्द करें:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. सर्वर को एक-एक करके मिटाएं:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    पुष्टि

    इन निर्देशों का इस्तेमाल करके, इस सुविधा के बंद होने की पुष्टि की जा सकती है.

    मैनेजमेंट सर्वर

    सभी क्षेत्रों पर मैनेजमेंट सर्वर से इन निर्देशों को चलाएं.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    सभी मैनेजमेंट पोर्ट के लिए पोर्ट से जुड़ी ज़रूरी शर्तें देखने के लिए, सभी कॉम्पोनेंट पर नीचे दिया गया निर्देश चलाएं.

    curl -v http://MS_IP:8080/v1/servers/self

    Analytics ग्रुप देखें.

    curl  -v  -u  <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus"
    curl -v  -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/analytics/groups/ax

    कैसेंड्रा/ज़ूकीपर नोड

    सभी कैसेंड्रा नोड में यह डालें:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    यह उस खास नोड के लिए running या not running स्टेटस दिखाएगा.

    एक नोड पर यह डालें:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    ऊपर दिए गए निर्देशों से, डेटा सेंटर की चालू जानकारी दिखेगी.

    ZooKeeper नोड पर, पहले यह डालें:

    echo ruok | nc <host> 2181

    यह निर्देश imok दिखाएगा.

    फिर यह डालें:

    echo stat | nc <host> 2181 | grep Mode

    ऊपर दिए गए निर्देश से, Mode की वैल्यू इनमें से एक होगी: observer, leader या follower.

    एक ZooKeeper नोड में:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    Postgres मास्टर नोड पर, चलाएं:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    पुष्टि करें कि रिस्पॉन्स के हिसाब से नोड मास्टर है.

    स्टैंडबाय नोड पर:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    पुष्टि करें कि रिस्पॉन्स में यह बताया गया है कि नोड स्टैंडबाय है.

    कमांड का इस्तेमाल करके, PostgreSQL डेटाबेस में लॉगिन करें

    psql -h localhost -d apigee -U postgres

    जब कहा जाए, तब 'postgres' के तौर पर 'postgres' उपयोगकर्ता पासवर्ड डालें. Analytics से max(client_received_start_timestamp) चुनें.

    ”$org.$env.fact” limit 1;

    लॉग

    कॉम्पोनेंट के लॉग की जांच करके पक्का करें कि कोई गड़बड़ी नहीं है.