گاهی اوقات، ممکن است نیاز به ازکار انداختن یک مرکز داده داشته باشید. برای مثال، اگر درحال ارتقا دادن سیستمعامل خود هستید، باید سیستمعامل جدید را در مرکز داده جدیدی نصب کنید و سپس مرکز داده قدیمی را ازکار بیندازید. بخشهای زیر نمونهای از برچیدن مرکز داده را ارائه میدهد که در آن دو مرکز داده، dc-1 و dc-2، در یک نصب خوشهای ۱۲ گرهای وجود دارد:
- dc-1 مرکز دادهای است که باید از رده خارج شود.
- dc-2 مرکز داده دوم است که در فرایند برچیدن استفاده میشود.
اگر درحال ارتقا دادن سیستمعامل خود هستید، dc-2 میتواند مرکز دادهای باشد که در آن نسخه جدید سیستمعامل (OS) را نصب کردهاید. بااینحال، نصب سیستمعامل جدید برای برچیدن مرکز داده الزامی نیست.
ملاحظات قبلاز برچیدن مرکز داده
هنگام ازکار انداختن مرکز داده، ملاحظات زیر را درنظر داشته باشید:
- همه ترافیک زمان اجرا و مدیریت را به مرکز دادهای که از رده خارج میشود مسدود کنید و آنها را به مراکز داده دیگر هدایت کنید.
- پساز برچیدن مرکز داده، ظرفیت در خوشه Apigee شما کاهش خواهد یافت. برای جبران این موضوع، درنظر بگیرید که ظرفیت را در مراکز داده باقیمانده افزایش دهید یا پساز برچیدن مراکز داده، مراکز داده جدیدی اضافه کنید.
- درطول فرایند برچیدن، بسته به اینکه کدام عناصر Analytics در مرکز دادهای که درحال برچیده شدن است نصب شدهاند، احتمال ازدست رفتن دادههای Analytics وجود دارد. جزئیات بیشتر را میتوانید در افزودن یا برداشتن گرههای 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 master برای مدت طولانی دردسترس نباشد، خطر ازدست دادن دادههای Analytics وجود دارد.
پیشنیازها
پیشاز ازکار انداختن هر مؤلفهای، توصیه میکنیم از همه گرهها پشتیبانگیری کامل انجام دهید. برای انجام پشتیبانگیری، از روش مربوط به نسخه فعلی Edge استفاده کنید. برای اطلاعات بیشتر درباره پشتیبانگیری، به پشتیبانگیری و بازیابی مراجعه کنید.
توجه: اگر چندین گره Cassandra یا ZooKeeper دارید، آنها را یکییکی پشتیبانگیری کنید، زیرا فرایند پشتیبانگیری موقتاً ZooKeeper را خاموش میکند.
- قبلاز غیرفعال کردن، مطمئن شوید که Edge درحال اجرا است، بااستفاده از این فرمان:
/opt/apigee/apigee-service/bin/apigee-all status
- مطمئن شوید که درحالحاضر هیچ ترافیک زمان اجرایی به مرکز دادهای که درحال برچیدن آن هستید نمیرسد.
ترتیب ازکار انداختن اجزا
اگر Edge for Private Cloud را روی چند گره نصب کنید، باید اجزای Edge را روی آن گرهها به ترتیب زیر ازکار بیندازید:
- میانای کاربر Edge (edge-ui)
- سرور مدیریت (edge-management-server)
- OpenLDAP (apigee-openldap)
- رهیاب (رهیاب لبه)
- پردازشگر پیام (edge-message-processor)
- سرور Qpid و Qpidd (edge-qpid-server و apigee-qpidd)
- پایگاه داده Postgres و PostgreSQL (edge-postgres-server و apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
بخشهای زیر نحوه ازکار انداختن هریک از اجزا را توضیح میدهد.
میانای کاربر Edge
برای متوقف کردن و حذف نصب کردن عنصر رابط کاربری Edge در 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
- «شناسه یکتای» «سرور مدیریت» ثبتشده در 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" - سرور را حذف کنید. توجه: اگر دیگر عناصر نیز روی این سرور نصب شدهاند،
ابتدا همه آنها را لغو ثبت کنید و سپس «شناسه جهانی یکتا» را حذف کنید.
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"
- فایل
- توقف OpenLDAP در 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
- «شناسه یکتای» «مسیریاب» را، همانطور که در دریافت شناسههای یکتا توضیح داده شده است، دریافت کنید.
- توقف رهیاب:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- بااستفاده از فرمان زیر، غلافهای دروازه دردسترس را در سازمان فهرست کنید:
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/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 پیکربندی شده است. فرمانهای زیر را در هر دو گره اجرا کنید.
- «شناسههای یکتای» «پردازندههای پیام» را طبق آنچه در دریافت شناسههای یکتا توضیح داده شده است دریافت کنید.
- توقف «پردازشگر پیام»:
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) را ازکار بیندازید.
دو گره 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
- حذف نصب 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 master یا Postgres standby باشد. بخشهای زیر نحوه ازکار انداختن آنها را توضیح میدهد:
ازکار انداختن سرور اصلی Postgres
توجه: اگر سرور اصلی Postgres را ازکار میاندازید، حتماً یکی از گرههای آماده بهکار موجود را بهعنوان سرور اصلی جدید Postgres ارتقا دهید. درحالیکه صفهای QPID دادهها را بافر میکند، اگر سرور اصلی Postgres برای مدت طولانی دردسترس نباشد، خطر ازدست دادن دادههای تجزیهوتحلیل وجود دارد.
برای ازکار انداختن 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 را از گروه تجزیهوتحلیل و گروه مصرفکننده بردارید و اضافه کنید.
- سرور قدیمی 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 را بهطور ایمن ازکار انداخت. حذف نصب
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، شناسه 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 را از گروه تجزیهوتحلیل و گروه مصرفکننده بردارید و اضافه کنید.
- سرور قدیمی 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 را بهطور ایمن ازکار انداخت. حذف نصب
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 پشتیبانگیری کنید:
شناسههای یکتای جهانی سرورهای 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"
- ورودیهای فایل پیکربندی موجود:
- فایل پیکربندی بیصدا (اصلاحشده در مرحله ه) را با پروتکلهای اینترنتی گرههای برداشتهشده
ازکارافتاده بهروز کنید و نمایه سرور «مدیریت»
را در همه گرههای میزبان «سرورهای مدیریت» اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- فایل پیکربندی را با پروتکلهای اینترنتی گرههای برداشتهشده ازکارافتاده بهروز کنید و نمایههای 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 را با برداشتن نشانیهای IP گرههای ازکارافتاده از «فایل پاسخ» پیکربندی مجدد کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- همه گرههای Postgres را با برداشتن پروتکلهای اینترنتی گرههای ازکارافتاده از «فایل پاسخ» بازپیکربندی کنید:
/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 برنگرداند، مراحل قبلی همه پیوندها را برداشته است، و میتوانید از مرحله بعدی رد شوید. درغیراینصورت، مرحله بعدی را انجام دهید.
- همه پیوندهای سرور را برای «شناسههای یکتای جهانی» بهدستآمده در مرحله قبلی بردارید:
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؛گزارشها
گزارشهای مربوط به عناصر را بررسی کنید تا مطمئن شوید خطایی وجود ندارد.
- در سرور اصلی جدید، فایل پیکربندی را ویرایش کنید
تا موارد زیر را تنظیم کنید: