কখনও কখনও, আপনাকে কোনও ডেটা সেন্টার ডিকমিশন করতে হতে পারে। যেমন, আপনি যদি অপারেটিং সিস্টেম আপগ্রেড করেন, তাহলে আপনাকে নতুন ডেটা সেন্টারে নতুন অপারেটিং সিস্টেম ইনস্টল করতে হবে এবং তারপর পুরনো ডেটা সেন্টারটি বন্ধ করে দিতে হবে। নিম্নলিখিত বিভাগে ডেটা সেন্টার বন্ধ করার একটি উদাহরণ দেওয়া হল, যেখানে দুটি ডেটা সেন্টার, dc-1 ও dc-2, একটি ১২-নোড ক্লাস্টার ইনস্টলেশন-এ আছে:
- dc-1 হল সেই ডেটা সেন্টার যা ডিকমিশন করা হবে।
- dc-2 হল দ্বিতীয় ডেটা সেন্টার, যা ডিসকমিশনিং প্রসিডিউরে ব্যবহার করা হয়।
আপনি যদি নিজের অপারেটিং সিস্টেম আপগ্রেড করে থাকেন, তাহলে dc-2 হল সেই ডেটা সেন্টার যেখানে আপনি অপারেটিং সিস্টেমের নতুন ভার্সন (OS) ইনস্টল করেছেন। তবে, ডেটা সেন্টার ডিকমিশন করার জন্য নতুন OS ইনস্টল করার প্রয়োজন নেই।
ডেটা সেন্টার ডিকমিশন করার আগে যেসব বিষয় বিবেচনা করতে হবে
কোনও ডেটা সেন্টার ডিকমিশন করার সময় নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
- যে ডেটা সেন্টার বন্ধ করা হচ্ছে সেখানে সমস্ত রানটাইম এবং ম্যানেজমেন্ট ট্রাফিক ব্লক করুন এবং সেগুলিকে অন্য ডেটা সেন্টারে রিডাইরেক্ট করুন।
- ডেটা সেন্টার ডিকমিশন করার পরে, আপনার Apigee ক্লাস্টারে ক্ষমতা কমে যাবে। এর ক্ষতিপূরণ করতে, বাকি ডেটা সেন্টারের ক্ষমতা বাড়ানোর কথা বিবেচনা করুন অথবা ডিকমিশন করার পরে ডেটা সেন্টার যোগ করুন।
- ডিকমিশন করার প্রসেস চলাকালীন, অ্যানালিটিক্স ডেটা হারানোর সম্ভাবনা থাকে, যা নির্ভর করে ডিকমিশন করা ডেটা সেন্টারে কোন অ্যানালিটিক্স কম্পোনেন্ট ইনস্টল করা আছে তার উপর। আপনি Qpid নোড যোগ করা বা সরানো থেকে আরও বিবরণ জানতে পারবেন।
- কোনও ডেটা সেন্টার বন্ধ করার আগে, আপনাকে বুঝতে হবে যে কীভাবে সব ডেটা সেন্টার জুড়ে সব কম্পোনেন্ট কনফিগার করা হয়, বিশেষ করে SymasLDAP, ZooKeeper, Cassandra, এবং Postgres সার্ভার। এছাড়াও, আপনাকে সব কম্পোনেন্ট ও সেগুলির কনফিগারেশনের ব্যাক-আপ নিতে হবে।
শুরু করার আগে
- ম্যানেজমেন্ট সার্ভার: ডিকমিশন করার সব ধাপ ম্যানেজমেন্ট সার্ভারের উপর অত্যন্ত নির্ভরশীল। আপনার কাছে শুধুমাত্র একটি ম্যানেজমেন্ট সার্ভার উপলভ্য থাকলে, আমরা সাজেস্ট করি যে আপনি dc-1-এ ম্যানেজমেন্ট সার্ভার ডিকমিশন করার আগে dc-1 ছাড়া অন্য কোনও ডেটা সেন্টারে একটি নতুন ম্যানেজমেন্ট সার্ভার কম্পোনেন্ট ইনস্টল করুন এবং নিশ্চিত করুন যে ম্যানেজমেন্ট সার্ভারগুলির মধ্যে একটি সর্বদা উপলভ্য থাকে।
- রাউটার: কোনও রাউটার ডিকমিশন করার আগে, ১৫৯৯৯ পোর্ট ব্লক করে রাউটারের রিচেবিলিটি বন্ধ করুন। নিশ্চিত করুন যে কোনও রানটাইম ট্রাফিককে ডিকমিশন করা রাউটারে নির্দেশ করা হচ্ছে না।
- Cassandra এবং ZooKeeper:
দুটি ডেটা সেন্টার সেট-আপে dc-1 কীভাবে ডিকমিশন করতে হয় তা নিচের বিভাগে বর্ণনা করা হয়েছে।
আপনার যদি দুইটির বেশি ডেটা সেন্টার থাকে, তাহলে নিশ্চিত করুন যে বন্ধ করা হচ্ছে এমন নোডের (এই ক্ষেত্রে dc-1) সমস্ত রেফারেন্স বাকি সব ডেটা সেন্টারের সমস্ত সাইলেন্ট কনফিগারেশন ফাইল থেকে সরিয়ে দেওয়া হয়েছে। Cassandra নোড যেগুলি ডিকমিশন করা হবে,
CASS_HOSTSথেকে সেইসব হোস্ট ড্রপ করুন। বাকি Cassandra নোডCASS_HOSTS-এর আসল অর্ডারে থাকতে হবে। - Postgres: আপনি Postgres মাস্টার ডিকমিশন করলে, উপলভ্য স্ট্যান্ডবাই নোডের যেকোনও একটিকে নতুন postgres মাস্টার হিসেবে প্রোমোট করতে ভুলবেন না। QPID সার্ভার সারিতে বাফার রাখলেও, Postgres মাস্টার দীর্ঘ সময় উপলভ্য না থাকলে, আপনার অ্যানালিটিক্স ডেটা হারানোর ঝুঁকি থাকে।
পূর্বশর্ত
কোনও কম্পোনেন্ট বন্ধ করার আগে, আমরা সাজেস্ট করি যে আপনি সব নোডের সম্পূর্ণ ব্যাক-আপ নিন। ব্যাক-আপ নেওয়ার জন্য Edge-এর বর্তমান ভার্সনের পদ্ধতি ব্যবহার করুন। ব্যাক-আপ সম্পর্কে আরও জানতে, ব্যাক-আপ নেওয়া ও ফিরিয়ে আনা দেখুন।
- ডিকমিশন করার আগে, এই কমান্ড ব্যবহার করে নিশ্চিত করুন যে Edge চালু আছে এবং চলছে:
/opt/apigee/apigee-service/bin/apigee-all status
- আপনি যে ডেটা সেন্টারটি ডিকমিশন করছেন সেখানে বর্তমানে কোনও রানটাইম ট্রাফিক আসছে না তা নিশ্চিত করুন।
কম্পোনেন্ট ডি-কমিশন করার ক্রম
আপনি একাধিক নোডে Private Cloud-এর জন্য Edge ইনস্টল করলে, আপনাকে নিম্নলিখিত ক্রমে সেইসব নোডে Edge কম্পোনেন্ট ডিকমিশন করতে হবে:
- নতুন Edge UI (
edge-management-uiএবংedge-management-ui-static) - ম্যানেজমেন্ট সার্ভার (edge-management-server)
- Symas LDAP (apigee-openldap)
- রাউটার (এজ-রাউটার)
- মেসেজ প্রসেসর (edge-message-processor)
- Qpid Server এবং Qpidd (edge-qpid-server এবং apigee-qpidd)
- Postgres এবং PostgreSQL ডেটাবেস (edge-postgres-server এবং apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
নিম্নলিখিত বিভাগগুলি প্রতিটি কম্পোনেন্ট কীভাবে ডিকমিশন করতে হয় তা ব্যাখ্যা করে।
নতুন Edge UI
dc-1-এর New Edge UI কম্পোনেন্ট বন্ধ করতে ও আনইনস্টল করতে, নিম্নলিখিত কমান্ড লিখুন:
/opt/apigee/apigee-service/bin/apigee-service edge-management-ui stop/opt/apigee/apigee-service/bin/apigee-service edge-management-ui uninstall/opt/apigee/apigee-service/bin/apigee-service edge-management-ui-static uninstall
ম্যানেজমেন্ট সার্ভার
dc-1-এ ম্যানেজমেন্ট সার্ভার ডিকমিশন করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- dc-1-এ ম্যানেজমেন্ট সার্ভার বন্ধ করুন:
apigee-service edge-management-server stop
- dc-1-এ রেজিস্টার করা ম্যানেজমেন্ট সার্ভারের UUID খুঁজুন:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server” - সার্ভারের ধরন থেকে রেজিস্ট্রেশন সরিয়ে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove" - সার্ভার মুছে দিন। মনে রাখবেন: এই সার্ভারে অন্যান্য কম্পোনেন্টও ইনস্টল করা থাকলে,
UUID মুছে দেওয়ার আগে সেগুলিকে প্রথমে ডি-রেজিস্টার করুন।
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID} - dc-1-এ ম্যানেজমেন্ট সার্ভার কম্পোনেন্ট আনইনস্টল করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Symas LDAP
dc-1-এ SymasLDAP কীভাবে ডিকমিশন করতে হয় তা এই বিভাগে ব্যাখ্যা করা হয়েছে।
মনে রাখবেন: আপনার কাছে দুটির বেশি ডেটা সেন্টার থাকলে, নিচে দুটির বেশি ডেটা সেন্টার সহ সেট-আপ দেখুন।
dc-1-এ SymasLDAP বন্ধ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- কীভাবে ব্যাক-আপ নেবেন লিঙ্কে দেওয়া ধাপগুলি অনুসরণ করে dc-1 SymasLDAP নোডের ব্যাক-আপ নিন।
দুটি ডেটা সেন্টারে নিম্নলিখিত ধাপগুলি অনুসরণ করে, dc-1 এবং dc-2, এই দুটি ডেটা সেন্টারের মধ্যে ডেটা রেপ্লিকেশন বন্ধ করুন।
- বর্তমান অবস্থা চেক করুন:
/opt/symas/bin/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 - নিম্নলিখিত কমান্ড সহ একটি ফাইল
break_repl.ldifতৈরি করুন:dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}mdb,cn=config changetype: modify delete: olcMirrorMode ldapmodifyকমান্ড রান করুন:/opt/symas/bin/ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldifআউটপুটটি নিম্নলিখিতগুলির মতো হতে হবে:
modifying entry "olcDatabase={2}mdb,cn=config" modifying entry "olcDatabase={2}mdb,cn=config"
- বর্তমান অবস্থা চেক করুন:
dc-2 LDAP-তে একটি এন্ট্রি তৈরি করে এবং dc-1-এর LDAP-তে এটি দেখা যাচ্ছে না তা নিশ্চিত করে আপনি যাচাই করতে পারেন যে dc-2 আর dc-1-এ রেপ্লিকেট করছে না।
বিকল্প হিসেবে, আপনি নিচের ধাপগুলি অনুসরণ করতে পারেন, যা dc-2 SymasLDAP নোডে কেবল-পঠনযোগ্য ব্যবহারকারী তৈরি করে এবং তারপর ব্যবহারকারী রেপ্লিকেট করা হয়েছে কিনা তা চেক করে। ব্যবহারকারীকে পরে মুছে দেওয়া হয়।
- 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} - dc-2-এ `ldapadd` কমান্ডের সাহায্যে ব্যবহারকারীকে যোগ করুন:
/opt/symas/bin/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"
- ব্যবহারকারী রেপ্লিকেট করা হয়নি তা নিশ্চিত করতে dc-1-এ ব্যবহারকারীকে সার্চ করুন। ব্যবহারকারী
dc-1-এ না থাকলে, আপনি নিশ্চিত হবেন যে দুটি LDAP আর রেপ্লিকেট করছে না:
/opt/symas/bin/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
- আপনি আগে যে কেবল-পঠনযোগ্য ব্যবহারকারীকে যোগ করেছিলেন তাকে সরিয়ে দিন:
/opt/symas/bin/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"
- dc-2-এ নিম্নলিখিত কন্টেন্ট সহ
- dc-1-এ SymasLDAP বন্ধ করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- dc-1-এ SymasLDAP কম্পোনেন্ট আনইনস্টল করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
রাউটার
এই বিভাগে রাউটার কীভাবে ডিকমিশন করতে হয় তা ব্যাখ্যা করা হয়েছে। রাউটার সরানোর ব্যাপারে আরও জানতে সার্ভার সরান বিকল্প দেখুন।
নিম্নলিখিত ধাপগুলি dc-1 থেকে রাউটার ডিকমিশন করে। dc-1-এ একাধিক রাউটার নোড কনফিগার করা থাকলে, সব রাউটার নোডে এক এক করে ধাপগুলি সম্পূর্ণ করুন
মনে রাখবেন: এখানে ধরে নেওয়া হয়েছে যে আপনার লোড ব্যালেন্সারে রাউটারের হেলথ-চেক পোর্ট ১৫৯৯৯ কনফিগার করা আছে এবং পোর্ট ১৫৯৯৯ ব্লক করলে রাউটার আর অ্যাক্সেস করা যাবে না। পোর্ট ব্লক করার জন্য আপনার রুট অ্যাক্সেস প্রয়োজন হতে পারে।
কোনও রাউটার বন্ধ করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
হেলথ চেক পোর্ট ১৫৯৯৯ ব্লক করে রাউটারের রিচেবিলিটি বন্ধ করুন। এই ডেটা সেন্টারে রানটাইম ট্রাফিক ব্লক করা আছে কিনা তা নিশ্চিত করুন:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
রাউটার অ্যাক্সেস করা যাচ্ছে কিনা তা যাচাই করুন:
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
- UUID পান-এ যেভাবে বর্ণনা করা হয়েছে, সেইভাবে রাউটারের UUID পান।
- রাউটার বন্ধ করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- নিম্নলিখিত কমান্ডের মাধ্যমে সংস্থায় উপলভ্য গেটওয়ে পডের তালিকা তৈরি করুন:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"Pods সম্পর্কে দেখুন।
- সার্ভারের ধরনকে রেজিস্টার তালিকা থেকে সরিয়ে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove" - সার্ভারের রেজিস্ট্রেশন সরিয়ে দিন:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID edge-routerআনইনস্টল করুন: সার্ভার সরান বিকল্প দেখুন।/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- ব্লক করা পোর্ট ১৫৯৯৯ চালু করতে
iptablesনিয়ম ফ্ল্যাশ করুন:iptables -F
মেসেজ প্রসেসর
dc-1 থেকে মেসেজ প্রসেসর কীভাবে ডিকমিশন করতে হয় তা এই বিভাগে বর্ণনা করা হয়েছে। মেসেজ প্রসেসর সরানোর ব্যাপারে আরও বিবরণ পেতে, সার্ভার সরান দেখুন।
আমরা যেহেতু ধরে নিচ্ছি যে dc-1-এ একটি ১২-নোড ক্লাস্টার ইনস্টলেশন আছে, তাই dc-1-এ দুটি মেসেজ প্রসেসর নোড কনফিগার করা আছে। দুটি নোডেই নিম্নলিখিত কমান্ডগুলি চালান।
- মেসেজ প্রসেসরদের UUID পান, যেমন UUID পান-এ বর্ণনা করা হয়েছে।
- মেসেজ প্রসেসর বন্ধ করা:
apigee-service edge-message-processor stop
- সার্ভারের ধরন রেজিস্টার থেকে সরিয়ে দেওয়া:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove" - মেসেজ প্রসেসর থেকে কোনও এনভায়রনমেন্ট ডিসঅ্যাসোসিয়েট করুন।
curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’ \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID" - সার্ভারের ধরনকে রেজিস্টার তালিকা থেকে সরিয়ে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove" - মেসেজ প্রসেসর আনইনস্টল করুন:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- সার্ভার থেকে রেজিস্ট্রেশন সরিয়ে দিন:
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 নোড কনফিগার করা আছে, তাই আপনাকে দুটি নোডের জন্যই নিম্নলিখিত ধাপগুলি অনুসরণ করতে হবে:
- UUID পান-এ যেমন বর্ণনা করা হয়েছে, সেই অনুযায়ী Qpidd-এর জন্য UUID পান।
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- Analytics এবং গ্রাহক গ্রুপের তালিকা পান:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax - গ্রাহক গ্রুপ থেকে 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}" - অ্যানালিটিক্স গ্রুপ থেকে Qpid সরান:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server" - Edge ইনস্টলেশন থেকে Qpid সার্ভারকে ডিরেজিস্টার করুন:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove" - Edge ইনস্টলেশন থেকে Qpid সার্ভার সরান:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - পরিবর্তনটি যাতে সেইসব কম্পোনেন্ট গ্রহণ করে তা নিশ্চিত করতে সব নোডে সব edge-qpid-server কম্পোনেন্ট রিস্টার্ট করুন:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- 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 মাস্টার বন্ধ করে দিলে, উপলভ্য স্ট্যান্ডবাই নোডের মধ্যে যেকোনও একটিকে নতুন Postgres মাস্টার হিসেবে প্রমোট করতে ভুলবেন না। QPID কিউ বাফার ডেটা, Postgres মাস্টার দীর্ঘ সময়ের জন্য উপলভ্য না হলে, আপনি অ্যানালিটিক্স ডেটা হারানোর ঝুঁকিতে থাকবেন।
Postgres মাস্টার ডিকমিশন করতে:
- নিম্নলিখিত লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে dc-1 Postgres মাস্টার নোডের ব্যাক-আপ নিন:
- Postgres সার্ভারের UUID পান, যেমনটি UUID পান-এ বর্ণনা করা হয়েছে।
- 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 - dc-2-এর স্ট্যান্ডবাই নোডে, এটিকে মাস্টার নোড করতে নিম্নলিখিত কমান্ড লিখুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
মনে রাখবেন: আপনার যদি একাধিক স্ট্যান্ডবাই Postgres নোড থাকে, তাহলে আপনাকে অবশ্যই নতুন মাস্টার নোডে হোস্ট এন্ট্রি যোগ করতে হবে এবং উপলভ্য সব Postgres স্ট্যান্ডবাই নোডের জন্য রেপ্লিকেশন সেটিং আপডেট করতে হবে।
নতুন Postgres মাস্টার সার্ভারে হোস্ট এন্ট্রি যোগ করতে: নিচে দেওয়া উপযুক্ত বিভাগে উল্লেখ করা ধাপগুলি অনুসরণ করুন:
শুধুমাত্র একটি স্ট্যান্ডবাই নোড বাকি থাকলে
যেমন, ধরুন ডিকমিশন করার আগে তিনটি Postgres নোড কনফিগার করা ছিল। আপনি আগে থেকে থাকা মাস্টার ডিকমিশন করেছেন এবং বাকি Postgres স্ট্যান্ডবাই নোডের মধ্যে একটিকে মাস্টার হিসেবে প্রোমোট করেছেন। নিম্নলিখিত ধাপগুলি অনুসরণ করে বাকি স্ট্যান্ডবাই নোড কনফিগার করুন:
- নতুন মাস্টার সার্ভারে, কনফিগারেশন
ফাইল এডিট করে এগুলি সেট করুন:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- নতুন মাস্টার সার্ভারে রেপ্লিকেশন চালু করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
একাধিক স্ট্যান্ডবাই নোড বাকি থাকলে
/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
- /opt/apigee/customer/application/postgresql.properties ফাইলটি যে
apigee ব্যবহারকারীর মালিকানাধীন তা নিশ্চিত করুন:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
apigee-postgresqlরিস্টার্ট করুন:apigee-service apigee-postgresql restart
/opt/silent.confকনফিগারেশন ফাইলটি পরিবর্তন করুন এবং নতুন Postgres মাস্টারের IP অ্যাড্রেস দিয়েPG_MASTERফিল্ডটি আপডেট করুন।- নিম্নলিখিত কমান্ডের সাহায্যে যেকোনও পুরনো Postgres ডেটা সরিয়ে দিন:
rm -rf /opt/apigee/data/apigee-postgresql/
- স্ট্যান্ডবাই নোডে রেপ্লিকেশন সেট-আপ করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- dc-2-তে নিম্নলিখিত কমান্ড লিখে Postgres মাস্টার সঠিকভাবে সেট-আপ করা হয়েছে কিনা তা যাচাই করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- অ্যানালিটিক্স গ্রুপ এবং কনজিউমার গ্রুপ থেকে Postgresql সার্ভার সরান এবং যোগ করুন।
- অ্যানালিটিক্স গ্রুপ থেকে Postgres সার্ভার সরান-এ দেওয়া নির্দেশাবলী অনুসরণ করে অ্যানালিটিক্স গ্রুপ থেকে পুরনো Postgres সার্ভার সরান।
- অ্যানালিটিক্স গ্রুপে আগে থেকে থাকা Postgres সার্ভার যোগ করুন-এ দেওয়া নির্দেশাবলী অনুসরণ করে অ্যানালিটিক্স গ্রুপে নতুন postgres সার্ভার যোগ করুন।
- dc-1 থেকে পুরনো postgres সার্ভার ডি-রেজিস্টার করুন:
curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove" - dc-1 থেকে পুরনো postgres সার্ভার মুছে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - পুরনো 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 স্ট্যান্ডবাই বন্ধ করা
মনে রাখবেন: ১২-নোড ক্লাস্টারড ইনস্টলেশনের ডকুমেন্টেশনে dc-1 postgresql নোডকে মাস্টার হিসেবে দেখানো হয়েছে, কিন্তু সুবিধার জন্য, এই বিভাগে ধরে নেওয়া হয়েছে যে dc-1 postgresql নোডটি স্ট্যান্ডবাই এবং dc-2 postgresql নোডটি মাস্টার।
Postgres স্ট্যান্ডবাই ডিকমিশন করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- UUID পান লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে Postgres সার্ভারের UUID পান।
- 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 - অ্যানালিটিক্স গ্রুপ এবং কনজিউমার গ্রুপ থেকে Postgresql সার্ভার সরান এবং যোগ করুন।
- অ্যানালিটিক্স গ্রুপ থেকে Postgres সার্ভার সরানো লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে অ্যানালিটিক্স গ্রুপ থেকে পুরনো Postgres সার্ভার সরিয়ে দিন।
- অ্যানালিটিক্স গ্রুপে আগে থেকেই আছে এমন Postgres সার্ভার যোগ করুন লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে অ্যানালিটিক্স গ্রুপে নতুন Postgres সার্ভার যোগ করুন।
- dc-1 থেকে পুরনো postgres সার্ভার ডি-রেজিস্টার করুন:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove" - dc-1 থেকে পুরনো postgres সার্ভার মুছে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - পুরনো 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
ZooKeeper ও Cassandra
এই বিভাগে, দুটি ডেটা সেন্টার সেট-আপে কীভাবে ZooKeeper এবং Cassandra সার্ভার বন্ধ করতে হয় তা ব্যাখ্যা করা হয়েছে।
আপনার যদি দুইটির বেশি ডেটা সেন্টার থাকে, তাহলে নিশ্চিত করুন যে বন্ধ করা হচ্ছে এমন নোডের (এই ক্ষেত্রে dc-1) সমস্ত রেফারেন্স বাকি সব ডেটা সেন্টারের সমস্ত সাইলেন্ট কনফিগারেশন ফাইল থেকে সরিয়ে দেওয়া হয়েছে। Cassandra নোড যেগুলি ডিকমিশন করা হবে,
CASS_HOSTSথেকে সেইসব হোস্ট ড্রপ করুন। বাকি Cassandra নোডগুলিCASS_HOSTS-এর আসল ক্রমে থাকতে হবে।ZooKeeper সম্পর্কে মনে রাখবেন: কনফিগারেশন ফাইলে
ZK_HOSTপ্রপার্টি পরিবর্তন করার সময় আপনাকে ভোটার নোডের কোরাম বজায় রাখতে হবে, যাতে ZooKeeper এনসেম্বল কাজ করে। আপনার কনফিগারেশনে অবশ্যই বিজোড় সংখ্যক ভোটার নোড থাকতে হবে। আরও তথ্যের জন্য, Apache ZooKeeper রক্ষণাবেক্ষণ টাস্ক দেখুন।ZooKeeper এবং Cassandra সার্ভার ডিকমিশন করতে:
- নিম্নলিখিত লিঙ্কে দেওয়া নির্দেশাবলী অনুসরণ করে dc-1 Cassandra এবং ZooKeeper নোডের ব্যাক-আপ নিন:
যে ডেটা সেন্টারে Cassandra নোডগুলি ডিকমিশন করা হবে সেখানে ZooKeeper এবং Cassandra সার্ভারের UUID তালিকাভুক্ত করুন।
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- সার্ভারের ধরন রেজিস্টার থেকে সরিয়ে দেওয়া:
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®ion=dc-1&pod=central&uuid=UUID&action=remove"
- সার্ভারের রেজিস্ট্রেশন সরিয়ে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
-
ZK_HOSTSওCASS_HOSTSথেকে সরানো ডিসকমিশন করা নোডের IP সহ কনফিগারেশন ফাইল আপডেট করুন।যেমন: ধরুন, আপনার কাছে dc-1-এ
$IP1 $IP2 $IP3এবং dc-2-এ$IP4 $IP5 $IP6IP আছে এবং আপনি dc-1 বন্ধ করে দিচ্ছেন। তাহলে আপনাকে কনফিগারেশন ফাইল থেকে IP$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"
- আগে থেকে থাকা কনফিগারেশন ফাইলের এন্ট্রি:
- সরিয়ে দেওয়া ডিকমিশন করা নোডের IP দিয়ে সাইলেন্ট কনফিগারেশন ফাইল (ধাপ e-তে পরিবর্তন করা হয়েছে) আপডেট করুন এবং
ম্যানেজমেন্ট সার্ভার হোস্ট করা সব নোডে ম্যানেজমেন্ট
সার্ভার প্রোফাইল রান করুন:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- সরিয়ে দেওয়া ডিকমিশন করা নোডের IP দিয়ে কনফিগারেশন ফাইল আপডেট করুন এবং সব রাউটার ও মেসেজ প্রসেসর নোডে
MP/RMP প্রোফাইল রান করুন:
- Edge Router ও Message Processor একই নোডে কনফিগার করা থাকলে, এগুলি লিখুন:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
এজ রাউটার এবং মেসেজ প্রসেসর আলাদা নোডে কনফিগার করা থাকলে, নিম্নলিখিত তথ্য লিখুন:
রাউটারের জন্য:
/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
- Edge Router ও Message Processor একই নোডে কনফিগার করা থাকলে, এগুলি লিখুন:
- রেসপন্স ফাইল থেকে ডিকমিশন করা নোডের আইপি সরিয়ে দিয়ে সব Qpid নোড আবার কনফিগার করুন:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- রেসপন্স ফাইল থেকে বাতিল করা নোডের IP সরিয়ে দিয়ে সব Postgres নোড আবার কনফিগার করুন:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
system_authকীস্পেস পরিবর্তন করুন। আগে থেকে থাকা Cassandra নোডে Cassandra auth চালু করা থাকলে,system_authkeyspace-এর রেপ্লিকেশন ফ্যাক্টর আপডেট করতে, নিম্নলিখিত কমান্ড চালান:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};এই কমান্ড রেপ্লিকেশন ফ্যাক্টরকে
'3'-এ সেট করে, যা ক্লাস্টারে তিনটি Cassandra নোডকে নির্দেশ করে। প্রয়োজন অনুযায়ী এই ভ্যালু পরিবর্তন করুন।এই ধাপটি সম্পূর্ণ করার পরে, Cassandra টপোলজিতে কোনও কীস্পেসে
dc-1থাকা উচিত নয়।- dc-1-এ Cassandra নোডগুলি এক এক করে ডিকমিশন করুন।
Cassandra নোড বন্ধ করতে, নিম্নলিখিত কমান্ড লিখুন:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- নিম্নলিখিত কমান্ডগুলির মধ্যে একটি ব্যবহার করে dc-1 থেকে Cassandra নোডের কানেকশন চেক করুন:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
অথবা বন্ধ করে দেওয়া নোডে সেকেন্ডারি যাচাইকরণ কমান্ড রান করতে হবে:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
উপরের কমান্ডের উত্তরে এটি দেখানো উচিত:
Mode: DECOMMISSIONED
- dc-2-এ সব Cassandra ও ZooKeeper নোডের জন্য DS প্রোফাইল রান করুন:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- dc-1-এ
apigee-cassandraএবংapigee-zookeeperবন্ধ করুন:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop - dc-1-এ
apigee-cassandraএবংapigee-zookeeperআনইনস্টল করুন:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
dc-1 থেকে বাইন্ডিং মুছে দিন
dc-1 থেকে বাইন্ডিং মুছে দিতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- dc-1 থেকে বাইন্ডিং মুছে দিন।
- সংস্থার অধীনে উপলভ্য সব পডের তালিকা তৈরি করুন:
curl -v -u <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- সব বাইন্ডিং সরিয়ে দেওয়া হয়েছে কিনা তা চেক করতে, পডের সাথে যুক্ত সার্ভারের
UUID পান:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
এই কমান্ড কোনও UUID না দেখালে, আগের ধাপগুলি সব বাইন্ডিং সরিয়ে দিয়েছে, এবং আপনি পরের ধাপটি এড়িয়ে যেতে পারেন। অন্যথায়, পরবর্তী ধাপটি সম্পূর্ণ করুন।
- আগের ধাপে পাওয়া UUID-এর জন্য সব সার্ভার বাইন্ডিং সরিয়ে দিন:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- পড থেকে সংস্থা আলাদা করা:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- সংস্থার অধীনে উপলভ্য সব পডের তালিকা তৈরি করুন:
- পড মুছে দিন:
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- অঞ্চলটি মুছে দিন।
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
এই পর্যায়ে আপনি dc-1-এর ডিকমিশনিং সম্পূর্ণ করেছেন।
পরিশিষ্ট
সমস্যার সমাধান
আগের ধাপগুলি সম্পূর্ণ করার পরেও যদি কিছু পডে সার্ভার থেকে যায়, তাহলে সার্ভারগুলি ডিরেজিস্টার ও মুছে ফেলতে নিচের ধাপগুলি অনুসরণ করুন। মনে রাখবেন: প্রয়োজন অনুযায়ী ধরন ও পড পরিবর্তন করুন।
- এই কমান্ড ব্যবহার করে UUID পান:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- সার্ভারের ধরন রেজিস্ট্রেশনমুক্ত করা:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- সার্ভারগুলি একটি একটি করে মুছুন:
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®ion=dc-1
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1 - সব ম্যানেজমেন্ট পোর্টের জন্য পোর্ট সংক্রান্ত প্রয়োজনীয়তা চেক করতে সব কম্পোনেন্টে নিম্নলিখিত কমান্ড রান করুন।
curl -v http://MS_IP:8080/v1/servers/self
- অ্যানালিটিক্স গ্রুপ চেক করুন।
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 -
সব Cassandra নোডে, এটি লিখুন:
/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)।তারপরে, সর্বাধিক
client_received_start_timestampচেক করতে নিম্নলিখিত কোয়েরি চালান:SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;
Cassandra/ZooKeeper নোড
লগ
কোনও সমস্যা নেই তা নিশ্চিত করতে কম্পোনেন্টের লগ চেক করুন।
- নতুন মাস্টার সার্ভারে, কনফিগারেশন
ফাইল এডিট করে এগুলি সেট করুন: