কখনও কখনও, আপনাকে কোনও ডেটা সেন্টার ডিকমিশন করতে হতে পারে। যেমন, আপনি যদি অপারেটিং সিস্টেম আপগ্রেড করেন, তাহলে আপনাকে নতুন ডেটা সেন্টারে নতুন অপারেটিং সিস্টেম ইনস্টল করতে হবে এবং তারপর পুরনো ডেটা সেন্টারটি বন্ধ করে দিতে হবে। নিম্নলিখিত বিভাগে ডেটা সেন্টার ডিকমিশন করার উদাহরণ দেওয়া হয়েছে, যেখানে ১২-নোড ক্লাস্টার্ড ইনস্টলেশনে dc-1 এবং dc-2 নামে দুটি ডেটা সেন্টার আছে:
- dc-1 হল সেই ডেটা সেন্টার যা ডিকমিশন করা হবে।
- dc-2 হল দ্বিতীয় ডেটা সেন্টার, যা ডিকমিশনিং পদ্ধতিতে ব্যবহার করা হয়।
আপনি যদি অপারেটিং সিস্টেম আপগ্রেড করেন, তাহলে dc-2 সেই ডেটা সেন্টার হতে পারে যেখানে আপনি অপারেটিং সিস্টেমের (OS) নতুন ভার্সন ইনস্টল করেছেন। তবে, ডেটা সেন্টার ডিকমিশন করার জন্য নতুন OS ইনস্টল করার প্রয়োজন নেই।
ডেটা সেন্টার ডিকমিশন করার আগে যেসব বিষয় বিবেচনা করতে হবে
কোনও ডেটা সেন্টার ডিকমিশন করার সময় নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
- যে ডেটা সেন্টার বন্ধ করা হচ্ছে সেখানে সমস্ত রানটাইম এবং ম্যানেজমেন্ট ট্রাফিক ব্লক করুন এবং সেগুলিকে অন্য ডেটা সেন্টারে রিডাইরেক্ট করুন।
- ডেটা সেন্টার ডিকমিশন করার পরে, আপনার Apigee ক্লাস্টারে ক্ষমতা কমে যাবে। এর ক্ষতিপূরণ করতে, বাকি ডেটা সেন্টারের ক্ষমতা বাড়ানোর কথা বিবেচনা করুন অথবা ডিকমিশন করার পরে ডেটা সেন্টার যোগ করুন।
- ডিকমিশন করার প্রসেস চলাকালীন, অ্যানালিটিক্স ডেটা হারানোর সম্ভাবনা থাকে, যা নির্ভর করে ডিকমিশন করা ডেটা সেন্টারে কোন অ্যানালিটিক্স কম্পোনেন্ট ইনস্টল করা আছে তার উপর। আপনি Qpid নোড যোগ করা বা সরানো থেকে আরও বিবরণ জানতে পারবেন।
- কোনও ডেটা সেন্টার ডিকমিশন করার আগে, আপনাকে বুঝতে হবে যে সমস্ত ডেটা সেন্টার জুড়ে সমস্ত কম্পোনেন্ট কীভাবে কনফিগার করা হয়েছে, বিশেষ করে OpenLDAP, 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-এর বর্তমান ভার্সনের পদ্ধতি ব্যবহার করুন। ব্যাক-আপ সম্পর্কে আরও জানতে, ব্যাক-আপ নেওয়া ও ফিরিয়ে আনা দেখুন।
মনে রাখবেন: আপনার একাধিক Cassandra বা ZooKeeper নোড থাকলে, একটি একটি করে ব্যাক-আপ নিন, কারণ ব্যাক-আপ প্রসেস সাময়িকভাবে ZooKeeper বন্ধ করে দেয়।
- ডিকমিশন করার আগে, এই কমান্ড ব্যবহার করে নিশ্চিত করুন যে Edge চালু আছে এবং চলছে:
/opt/apigee/apigee-service/bin/apigee-all status
- আপনি যে ডেটা সেন্টারটি ডিকমিশন করছেন সেখানে বর্তমানে কোনও রানটাইম ট্রাফিক আসছে না তা নিশ্চিত করুন।
কম্পোনেন্ট ডিকমিশন করার ক্রম
আপনি একাধিক নোডে Private Cloud-এর জন্য Edge ইনস্টল করলে, আপনাকে নিম্নলিখিত ক্রমে সেইসব নোডে Edge কম্পোনেন্ট ডিকমিশন করতে হবে:
- Edge UI (edge-ui)
- ম্যানেজমেন্ট সার্ভার (edge-management-server)
- OpenLDAP (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-এর Edge UI কম্পোনেন্ট বন্ধ ও আনইনস্টল করতে, নিম্নলিখিত কমান্ড লিখুন:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui 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
Open LDAP
dc-1-এ OpenLDAP কীভাবে ডিকমিশন করতে হয় তা এই বিভাগে ব্যাখ্যা করা হয়েছে।
মনে রাখবেন: আপনার কাছে দুটির বেশি ডেটা সেন্টার থাকলে, নিচে দুটির বেশি ডেটা সেন্টার সহ সেট-আপ দেখুন।
dc-1-এ OpenLDAP ডিকমিশন করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
- কীভাবে ব্যাক-আপ নেবেন লিঙ্কে দেওয়া ধাপ অনুসরণ করে dc-1 OpenLDAP নোডের ব্যাক-আপ নিন।
দুটি ডেটা সেন্টারে নিম্নলিখিত ধাপগুলি অনুসরণ করে, dc-1 এবং dc-2, এই দুটি ডেটা সেন্টারের মধ্যে ডেটা রেপ্লিকেশন বন্ধ করুন।
- বর্তমান অবস্থা চেক করুন:
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}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode 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"
- বর্তমান অবস্থা চেক করুন:
dc-2 LDAP-তে একটি এন্ট্রি তৈরি করে এবং dc-1-এর LDAP-তে এটি দেখা যাচ্ছে না তা নিশ্চিত করে আপনি যাচাই করতে পারেন যে dc-2 আর dc-1-এ রেপ্লিকেট করছে না।
বিকল্প হিসেবে, আপনি নিচে উল্লেখ করা ধাপগুলি অনুসরণ করতে পারেন, যা dc-2 OpenLDAP নোডে কেবল-পঠনযোগ্য ব্যবহারকারী তৈরি করে এবং তারপর ব্যবহারকারী রেপ্লিকেট হয়েছে কিনা তা চেক করে। ব্যবহারকারীকে পরে মুছে ফেলা হয়।
- 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` কমান্ডের সাহায্যে ব্যবহারকারী যোগ করুন:
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 আর রেপ্লিকেট করছে না:
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
- আপনি আগে যে কেবল-পঠনযোগ্য ব্যবহারকারীকে যোগ করেছিলেন তাকে সরিয়ে দিন:
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-এ OpenLDAP বন্ধ করুন:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- dc-1-এ OpenLDAP কম্পোনেন্ট আনইনস্টল করুন:
/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&region=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&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"/pre> - 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" - সার্ভারের ধরন রেজিস্টার থেকে সরিয়ে দেওয়া:
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 প্রোফাইল রান করুন:
- এজ রাউটার এবং মেসেজ প্রসেসর একই নোডে কনফিগার করা থাকলে, লিখুন:
/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
- এজ রাউটার এবং মেসেজ প্রসেসর একই নোডে কনফিগার করা থাকলে, লিখুন:
- রেসপন্স ফাইল থেকে ডিকমিশন করা নোডের আইপি সরিয়ে দিয়ে সব Qpid নোড আবার কনফিগার করুন:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- সব Postgres নোড আবার কনফিগার করুন, রেসপন্স ফাইল থেকে ডিকমিশন করা নোডের IP সরিয়ে দিন:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
system_authকীস্পেস পরিবর্তন করুন। আগে থেকে থাকা Cassandra নোডে Cassandra auth চালু করা থাকলে, নিম্নলিখিত কমান্ড রান করেsystem_authকীস্পেসের রেপ্লিকেশন ফ্যাক্টর আপডেট করুন: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
- পড থেকে Org ডিসঅ্যাসোসিয়েট করুন:
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
মনে রাখবেন: সার্ভার মুছে ফেলার সময় আপনি কোনও ধাপ মিস করলে, উপরের ধাপটি একটি সমস্যার মেসেজ দেখাবে যে পডের একটি নির্দিষ্ট সার্ভার এখনও আছে। তাই,
curlকমান্ডে ধরন কাস্টমাইজ করার সময়, নিচে দেওয়া সমস্যা সমাধানের ধাপ অনুসরণ করে সেগুলি মুছে দিন।এই পর্যায়ে আপনি 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-1 curl -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/ZooKeeper নোড
সব 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'লিখুন। Analytics থেকেmax(client_received_start_timestamp)বেছে নিন।”$org.$env.fact” limit 1;লগ
কোনও সমস্যা নেই তা নিশ্চিত করতে কম্পোনেন্টের লগ চেক করুন।
- নতুন মাস্টারে, কনফিগারেশন ফাইল এডিট করে
সেট করুন: