گاهی اوقات ممکن است لازم باشد یک مرکز داده را از کار بیندازید. برای مثال، اگر درحال ارتقا دادن سیستمعامل هستید، باید سیستمعامل جدید را در مرکز داده جدید نصب کنید و سپس مرکز داده قدیمی را از رده خارج کنید. بخشهای زیر نمونهای از ازکاراندازی مرکز داده را ارائه میدهند که در آن دو مرکز داده، dc-1 و dc-2، در نصب خوشهای ۱۲ گرهای وجود دارد:
- dc-1 مرکز دادهای است که باید از رده خارج شود.
- dc-2 مرکز داده دوم است که در فرایند ازکاراندازی استفاده میشود.
اگر سیستمعاملتان را ارتقا میدهید، dc-2 میتواند مرکز دادهای باشد که نسخه جدید سیستمعامل (OS) را در آن نصب کردهاید. بااینحال، نصب سیستمعامل جدید برای ازکار انداختن مرکز داده لازم نیست.
ملاحظات قبلاز ازکار انداختن مرکز داده
هنگام ازکار انداختن مرکز داده، ملاحظات زیر را درنظر داشته باشید:
- همه ترافیک زمان اجرا و مدیریت را به مرکز دادهای که درحال ازکار افتادن است مسدود کنید و آنها را به مراکز داده دیگر هدایت کنید.
- پساز برچیدن مرکز داده، ظرفیت در خوشه Apigee شما کاهش خواهد یافت. برای جبران این موضوع، ظرفیت را در مراکز داده باقیمانده افزایش دهید یا پساز برچیدن مراکز داده، مراکز داده جدیدی اضافه کنید.
- درطول فرایند برچیدن، بسته به اینکه کدام عناصر Analytics در مرکز دادهای که درحال برچیده شدن است نصب شدهاند، احتمال ازدست رفتن دادههای Analytics وجود دارد. جزئیات بیشتر را میتوانید در افزودن یا برداشتن گرههای 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 برای مدت طولانی دردسترس نباشد، خطر ازدست دادن دادههای Analytics وجود دارد.
پیشنیازها
قبلاز ازکار انداختن هر مؤلفهای، توصیه میکنیم از همه گرهها نسخه پشتیبان کامل تهیه کنید. برای انجام پشتیبانگیری، از روش مربوط به نسخه کنونی Edge استفاده کنید. برای اطلاعات بیشتر درباره پشتیبانگیری، به پشتیبانگیری و بازیابی مراجعه کنید.
- قبلاز غیرفعال کردن، مطمئن شوید که Edge درحال اجرا است، بااستفاده از این فرمان:
/opt/apigee/apigee-service/bin/apigee-all status
- مطمئن شوید که درحالحاضر هیچ ترافیک زمان اجرایی به مرکز دادهای که میخواهید از رده خارج کنید وارد نمیشود.
ترتیب ازکار انداختن اجزا
اگر Edge for Private Cloud را روی چند گره نصب کنید، باید اجزای Edge را روی آن گرهها به ترتیب زیر ازکار بیندازید:
- میانای کاربر Edge جدید (
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
برای متوقف کردن و حذف نصب کردن عناصر واسط کاربر «لبه جدید» dc-1، فرمانهای زیر را وارد کنید:
/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
- 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
Symas LDAP
این بخش نحوه ازکار انداختن SymasLDAP را در dc-1 توضیح میدهد.
توجه: اگر بیشاز دو مرکز داده دارید، راهاندازی با بیشاز دو مرکز داده در زیر را ببینید.
برای ازکار انداختن SymasLDAP در dc-1، مراحل زیر را انجام دهید:
- با دنبال کردن مراحل موجود در نحوه پشتیبانگیری، از گره 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 و اطمینان از اینکه در LDAP مربوط به dc-1 نشان داده نمیشود، میتوانید درستیسنجی کنید که dc-2 دیگر در dc-1 تکرار نمیشود.
اختیاراً میتوانید مراحل زیر را دنبال کنید که یک کاربر با دسترسی فقط خواندن در گره dc-2 SymasLDAP ایجاد میکند و سپس بررسی میکند که آیا کاربر تکرار شده است یا نه. کاربر متعاقباً حذف میشود.
- فایل
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 اضافه کنید:
/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"
- فایل
- SymasLDAP را در dc-1 متوقف کنید:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- جزء SymasLDAP را در 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®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) را توضیح میدهد.
دو گره 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 اصلی یا Postgres آمادهبهکار باشد. بخشهای زیر نحوه ازکار انداختن آنها را توضیح میدهد:
Decommissioning Postgres master
توجه: اگر Postgres master را از کار میاندازید، حتماً یکی از گرههای آمادهبهکار موجود را بهعنوان postgres master جدید ارتقا دهید. درحالیکه صفهای 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 را از گروه 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
توجه: مستندات مربوط به نصب خوشهای ۱۲ گرهای گره 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 را از گروه تجزیهوتحلیل و گروه مصرفکننده بردارید و اضافه کنید.
- سرور 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
- فایل پیکربندی را با 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
در این مرحله، ازکاراندازی 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
گزارشها
گزارشهای مربوط به عناصر را بررسی کنید تا مطمئن شوید خطایی وجود ندارد.
- در نسخه اصلی جدید، فایل پیکربندی را ویرایش کنید تا موارد زیر را تنظیم کنید: