گاهی اوقات ممکن است لازم باشد یک مرکز داده را از کار بیندازید. برای مثال، اگر درحال ارتقا دادن سیستمعامل هستید، باید سیستمعامل جدید را در مرکز داده جدید نصب کنید و سپس مرکز داده قدیمی را از رده خارج کنید. بخشهای زیر نمونهای از ازکاراندازی مرکز داده را ارائه میدهند که در آن دو مرکز داده، dc-1 و dc-2، در نصب خوشهای ۱۲ گرهای وجود دارد:
- dc-1 مرکز دادهای است که باید از رده خارج شود.
- dc-2 مرکز داده دوم است که در فرایند ازکاراندازی استفاده میشود.
اگر سیستمعاملتان را ارتقا میدهید، dc-2 میتواند مرکز دادهای باشد که نسخه جدید سیستمعامل (OS) را در آن نصب کردهاید. بااینحال، نصب سیستمعامل جدید برای ازکار انداختن مرکز داده لازم نیست.
ملاحظات قبلاز ازکار انداختن مرکز داده
هنگام ازکار انداختن مرکز داده، ملاحظات زیر را درنظر داشته باشید:
- همه ترافیک زمان اجرا و مدیریت را به مرکز دادهای که درحال ازکار افتادن است مسدود کنید و آنها را به مراکز داده دیگر هدایت کنید.
- پساز ازکار انداختن مرکز داده، ظرفیت خوشه Apigee شما کاهش خواهد یافت. برای جبران آن، افزایش ظرفیت در مراکز داده باقیمانده یا افزودن مراکز داده پساز ازکاراندازی را درنظر بگیرید.
- درطول فرایند ازکاراندازی، احتمال ازدست رفتن دادههای تجزیهوتحلیل وجود دارد، که این امر به این بستگی دارد که کدام مؤلفههای تجزیهوتحلیل در مرکز دادهای که درحال ازکاراندازی است نصب شده باشد. جزئیات بیشتر را میتوانید در افزودن یا برداشتن گرههای Qpid پیدا کنید.
- قبلاز اینکه مرکز دادهای را از کار بیندازید، باید بدانید که همه مؤلفهها در همه مراکز داده چگونه پیکربندی شدهاند، بهویژه سرورهای OpenLDAP، ZooKeeper، Cassandra، و Postgres. همچنین باید از همه مؤلفهها و پیکربندیهای آنها نسخه پشتیبان تهیه کنید.
قبلاز شروع
- سرور مدیریت: همه مراحل ازکاراندازی بهشدت به «سرور مدیریت» وابسته است. اگر فقط یک «سرور مدیریت» دردسترس دارید، توصیه میکنیم که مؤلفه «سرور مدیریت» جدیدی در مرکز دادهای غیراز dc-1 نصب کنید و سپس «سرور مدیریت» را در dc-1 از رده خارج کنید، و مطمئن شوید که یکی از «سرورهای مدیریت» همیشه دردسترس است.
- Router: Before decommissioning a Router, disable reachability of Routers by blocking the port 15999. مطمئن شوید هیچ ترافیک زمان اجرایی به «رهیابهایی» که از رده خارج میشوند هدایت نمیشود.
Cassandra و ZooKeeper: بخشهای زیر نحوه ازکار انداختن dc-1 را در راهاندازی دو مرکز داده شرح میدهند. اگر بیشاز دو مرکز داده دارید، حتماً همه ارجاعها به گرهای را که از رده خارج میشود (در این مورد dc-1) از همه فایلهای پیکربندی بیصدا در همه مراکز داده باقیمانده بردارید. برای گرههای Cassandra که قرار است از کار انداخته شوند، آن میزبانها را از
CASS_HOSTSحذف کنید. گرههای Cassandra باقیمانده باید در ترتیب اصلیCASS_HOSTSباقی بمانند.Postgres: اگر Postgres master را از کار میاندازید، حتماً یکی از گرههای آمادهبهکار دردسترس را بهعنوان postgres master جدید ارتقا دهید. درحالیکه سرور QPID میانگیری را در صف نگه میدارد، اگر Postgres master برای مدت طولانیتری دردسترس نباشد، ممکن است دادههای Analytics را ازدست بدهید.
پیشنیازها
قبلاز ازکار انداختن هر مؤلفهای، توصیه میکنیم از همه گرهها نسخه پشتیبان کامل تهیه کنید. برای انجام پشتیبانگیری، از روال مربوط به نسخه کنونی Edge استفاده کنید. برای اطلاعات بیشتر درباره پشتیبانگیری، به پشتیبانگیری و بازیابی مراجعه کنید.
توجه: اگر چند گره Cassandra یا ZooKeeper دارید، آنها را یکییکی پشتیبانگیری کنید، زیرا فرایند پشتیبانگیری ZooKeeper را موقتاً خاموش میکند.
- بااستفاده از فرمان زیر، مطمئن شوید Edge قبلاز ازکاراندازی فعال و درحال اجرا است:
/opt/apigee/apigee-service/bin/apigee-all status
- مطمئن شوید که درحالحاضر هیچ ترافیک زمان اجرایی به مرکز دادهای که میخواهید از رده خارج کنید وارد نمیشود.
ترتیب ازکار انداختن اجزا
اگر Edge for Private Cloud را در چندین گره نصب میکنید، باید مؤلفههای 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
برای متوقف کردن و حذف نصب مؤلفه Edge UI مربوط به dc-1، فرمانهای زیر را وارد کنید:
/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
- UUID «سرور مدیریت» ثبتشده در dc-1 را پیدا کنید:
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
الدپ باز
این بخش نحوه ازکار انداختن OpenLDAP را در dc-1 توضیح میدهد.
توجه: اگر بیشاز دو مرکز داده دارید، راهاندازی با بیشاز دو مرکز داده را در زیر ببینید.
برای ازکار انداختن OpenLDAP در dc-1، مراحل زیر را انجام دهید:
- با دنبال کردن مراحل موجود در نحوه پشتیبانگیری، از گره 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 و اطمینان از اینکه در LDAP مربوط به dc-1 نشان داده نمیشود، میتوانید درستیسنجی کنید که dc-2 دیگر در dc-1 تکرار نمیشود.
درصورت تمایل، میتوانید مراحل زیر را دنبال کنید که یک کاربر با دسترسی فقط خواندن در گره dc-2 OpenLDAP ایجاد میکند و سپس بررسی میکند که آیا کاربر تکرار شده است یا نه. کاربر متعاقباً حذف میشود.
- فایل
readonly-user.ldifرا در dc-2 با محتوای زیر ایجاد کنید: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} - افزودن کاربر با فرمان `ldapadd` در dc-2:
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-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- مؤلفه OpenLDAP را در dc-1 حذف نصب کنید:
/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"
- حذف نصب Message Processor:
/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) را توضیح میدهد.
دو گره Qpid در dc-1 پیکربندی شده است، بنابراین باید مراحل زیر را برای هر دو گره انجام دهید:
- شناسه منحصربهفرد جهانی را برای Qpidd دریافت کنید، همانطور که در دریافت شناسههای منحصربهفرد جهانی شرح داده شده است.
- توقف
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" - لغو ثبت سرور Qpid از نصب Edge:
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" - سرور Qpid را از نصب Edge بردارید:
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
- Uninstall edge-qpid-server and 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 master یا Postgres standby داشته باشد. بخشهای زیر نحوه ازکار انداختن آنها را توضیح میدهد:
Decommissioning Postgres master
توجه: اگر Postgres master را از کار میاندازید، حتماً یکی از گرههای آمادهبهکار موجود را بهعنوان postgres master جدید ارتقا دهید. درحالیکه صفهای QPID دادهها را بافر میکنند، اگر Postgres master برای مدت طولانی دردسترس نباشد، ممکن است دادههای تجزیهوتحلیل را ازدست بدهید.
برای ازکار انداختن Postgres master:
- با دنبال کردن دستورالعملهای موجود در پیوندهای زیر، از گره اصلی dc-1 Postgres پشتیبانگیری کنید:
- همانطور که در دریافت UUID شرح داده شده است، UUID سرورهای Postgres را دریافت کنید.
- در 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را اصلاح کنید و فیلدPG_MASTERرا با نشانی IP سرور اصلی Postgres جدید بهروز کنید. - هرگونه داده قدیمی 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 master بهدرستی راهاندازی شده باشد:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- سرورهای Postgresql را از گروه Analytics و گروه مصرفکننده بردارید و اضافه کنید.
- سرور Postgres قدیمی را طبق دستورالعملهای موجود در برداشتن سرور Postgres از گروه تجزیهوتحلیل از گروه تجزیهوتحلیل بردارید.
- با دنبال کردن دستورالعملهای افزودن سرور Postgres موجود به گروه تجزیهوتحلیل، سرور Postgres جدیدی به گروه تجزیهوتحلیل اضافه کنید.
- لغو ثبتنام سرور postgres قدیمی از dc-1:
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"< - سرور postgres قدیمی را از dc-1 حذف کنید:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - اکنون میتوان Postgres master قدیمی را بهطور ایمن از رده خارج کرد. حذف نصب
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 standby
توجه: اسناد مربوط به نصب خوشهای۱۲ گرهای گره dc-1 postgresql را بهعنوان گره اصلی نشان میدهد، اما برای راحتی کار، در این بخش فرض میشود که گره dc-1 postgresql گره آمادهبهکار و گره dc-2 postgresql گره اصلی است.
برای ازکار انداختن Postgres standby، مراحل زیر را انجام دهید:
- با دنبال کردن دستورالعملهای موجود در دریافت UUID، UUID سرورهای Postgres را دریافت کنید.
apigee-postgresqlرا در گره آمادهبهکار فعلی در dc-1 متوقف کنید:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop- سرورهای Postgresql را از گروه Analytics و گروه مصرفکننده بردارید و اضافه کنید.
- سرور Postgres قدیمی را طبق دستورالعملهای موجود در برداشتن سرور Postgres از گروه تجزیهوتحلیل از گروه تجزیهوتحلیل بردارید.
- با دنبال کردن دستورالعملهای افزودن سرور Postgres موجود به گروه تجزیهوتحلیل، سرور Postgres جدیدی به گروه تجزیهوتحلیل اضافه کنید.
- لغو ثبتنام سرور postgres قدیمی از dc-1:
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"< - سرور postgres قدیمی را از dc-1 حذف کنید:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - اکنون میتوان Postgres master قدیمی را بهطور ایمن از رده خارج کرد. حذف نصب
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 پشتیبانگیری کنید:
UUIDهای سرورهای ZooKeeper و Cassandra را در مرکز دادهای که گرههای Cassandra در آن قرار است از رده خارج شوند، فهرست کنید.
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
- فایل پیکربندی را با IP گرههای ازکارافتاده حذفشده از
ZK_HOSTSوCASS_HOSTSبهروز کنید.مثال: فرض کنید IPهای
$IP1 $IP2 $IP3را در dc-1 و$IP4 $IP5 $IP6را در dc-2 دارید و میخواهید 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های گرههای ازکارافتاده حذفشده بهروز کنید و نمایه سرور «مدیریت» را در همه گرههای میزبان «سرورهای مدیریت» اجرا کنید:
/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
اگر Edge Router و Message Processor در گرههای جداگانه پیکربندی شدهاند، موارد زیر را وارد کنید:
برای رهیاب:
/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 را دوباره پیکربندی کنید و IP گرههای ازکارافتاده را از «فایل پاسخ» بردارید:
/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 موجود فعال کردهاید، با اجرای فرمان زیر، ضریب تکرار فضای کلیدsystem_authرا بهروز کنید:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};این فرمان ضریب تکرار را روی
'3'تنظیم میکند که نشاندهنده سه گره Cassandra در خوشه است. این مقدار را درصورت لزوم تغییر دهید.پساز تکمیل این مرحله، توپولوژی Cassandra نباید
dc-1را در هیچیک از فضاهای کلید داشته باشد. - گرههای Cassandra را در dc-1 یکییکی از کار بیندازید.
برای ازکار انداختن گرههای Cassandra، فرمان زیر را وارد کنید:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- اتصال گرههای Cassandra را از dc-1 بااستفاده از یکی از فرمانهای زیر بررسی کنید:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
یا فرمان درستیسنجی ثانویه برای اجرا در گره ازکارافتاده:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
فرمان بالا باید این را برگرداند:
Mode: DECOMMISSIONED
- نمایه DS را برای همه گرههای Cassandra و ZooKeeper در dc-2 اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- توقف
apigee-cassandraوapigee-zookeeperدر dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop - حذف نصب
apigee-cassandraوapigee-zookeeperدر dc-1: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
توجه: اگر یکی از مراحل حذف سرورها را ازدست بدهید، مرحله بالا پیام خطایی برمیگرداند که نشان میدهد سرور خاصی در پاد هنوز وجود دارد. بنابراین، آنها را با دنبال کردن مراحل عیبیابی زیر حذف کنید و درعینحال انواع را در فرمان
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'وارد کنید.max(client_received_start_timestamp)را از Analytics انتخاب کنید.”$org.$env.fact” limit 1؛گزارشها
گزارشهای مربوط به قطعات را بررسی کنید تا مطمئن شوید خطایی وجود ندارد.
- در نسخه اصلی جدید، فایل پیکربندی را ویرایش کنید تا موارد زیر را تنظیم کنید: