گاهی اوقات، ممکن است نیاز به از رده خارج کردن یک مرکز داده داشته باشید. به عنوان مثال، اگر در حال ارتقاء سیستم عامل خود هستید، باید سیستم عامل جدید را در یک مرکز داده جدید نصب کنید و سپس مرکز داده قدیمی را از رده خارج کنید. بخشهای زیر مثالی از از رده خارج کردن یک مرکز داده را ارائه میدهند که در آن دو مرکز داده، dc-1 و dc-2، در یک نصب خوشهای 12 گرهای وجود دارد:
- dc-1 مرکز دادهای است که قرار است از رده خارج شود.
- dc-2 مرکز داده دوم است که در فرآیند از رده خارج کردن استفاده میشود.
اگر در حال ارتقاء سیستم عامل خود هستید، dc-2 میتواند مرکز دادهای باشد که نسخه جدید سیستم عامل (OS) را در آن نصب کردهاید. با این حال، نصب یک سیستم عامل جدید برای از رده خارج کردن یک مرکز داده الزامی نیست.
ملاحظات قبل از برچیدن یک مرکز داده
هنگام از رده خارج کردن یک مرکز داده، نکات زیر را در نظر داشته باشید:
- تمام ترافیک زمان اجرا و مدیریت به مرکز دادهای که در حال از رده خارج شدن است را مسدود کرده و آنها را به مراکز داده دیگر هدایت کنید.
- پس از از رده خارج کردن مرکز داده، ظرفیت کمتری در خوشه Apigee خود خواهید داشت. برای جبران آن، افزایش ظرفیت در مراکز داده باقی مانده یا اضافه کردن مراکز داده پس از از رده خارج کردن را در نظر بگیرید.
- در طول فرآیند از رده خارج کردن، بسته به اینکه کدام اجزای تحلیلی در مرکز دادهای که از رده خارج میشود نصب شده باشند، احتمال از دست رفتن دادههای تحلیلی وجود دارد. میتوانید جزئیات بیشتر را در بخش افزودن یا حذف گرههای Qpid بیابید.
- قبل از اینکه یک مرکز داده را از رده خارج کنید، باید نحوه پیکربندی تمام اجزا در تمام مراکز داده، به ویژه سرورهای SymasLDAP، ZooKeeper، Cassandra و Postgres را درک کنید. همچنین باید از تمام اجزا و پیکربندیهای آنها پشتیبان تهیه کنید.
قبل از شروع
- سرور مدیریت: تمام مراحل غیرفعالسازی به شدت به سرور مدیریت وابسته هستند. اگر فقط یک سرور مدیریت در دسترس دارید، توصیه میکنیم قبل از غیرفعالسازی سرور مدیریت در dc-1، یک جزء سرور مدیریت جدید را در مرکز دادهای غیر از dc-1 نصب کنید و مطمئن شوید که یکی از سرورهای مدیریت همیشه در دسترس است.
- روتر: قبل از غیرفعال کردن یک روتر، با مسدود کردن پورت ۱۵۹۹۹، دسترسی به روترها را غیرفعال کنید. اطمینان حاصل کنید که هیچ ترافیکی در زمان اجرا به سمت روترهایی که غیرفعال میشوند، هدایت نمیشود.
- کاساندرا و زوکیپر: بخشهای زیر نحوهی از رده خارج کردن dc-1 را در یک مجموعهی دو مرکز داده شرح میدهند.
اگر بیش از دو مرکز داده دارید، مطمئن شوید که تمام ارجاعات به گرهای که قرار است از سرویس خارج شود (در این مورد dc-1) را از تمام فایلهای پیکربندی خاموش در تمام مراکز داده باقیمانده حذف کردهاید. برای گرههای کاساندرا که قرار است از سرویس خارج شوند، آن میزبانها را از
CASS_HOSTSحذف کنید. گرههای کاساندرا باقیمانده باید در ترتیب اصلیCASS_HOSTSباقی بمانند. - Postgres: اگر Postgres master را غیرفعال میکنید، حتماً هر یک از گرههای آماده به کار موجود را به عنوان یک postgres master جدید ارتقا دهید. در حالی که سرور QPID یک بافر را در صف نگه میدارد، اگر Postgres master برای مدت طولانیتری در دسترس نباشد، خطر از دست دادن دادههای تحلیلی وجود دارد.
پیشنیازها
قبل از غیرفعال کردن هر مؤلفهای، توصیه میکنیم از تمام گرهها یک نسخه پشتیبان کامل تهیه کنید. برای انجام پشتیبانگیری از رویه مربوط به نسخه فعلی Edge خود استفاده کنید. برای اطلاعات بیشتر در مورد پشتیبانگیری، به بخش پشتیبانگیری و بازیابی مراجعه کنید.
- قبل از غیرفعال کردن، با استفاده از دستور زیر، مطمئن شوید که Edge فعال و در حال اجرا است:
/opt/apigee/apigee-service/bin/apigee-all status
- مطمئن شوید که در حال حاضر هیچ ترافیک زمان اجرا به مرکز دادهای که در حال از رده خارج کردن آن هستید، نمیرسد.
ترتیب از رده خارج کردن اجزا
اگر Edge را برای Private Cloud روی چندین گره نصب میکنید، باید اجزای Edge را در آن گرهها به ترتیب زیر غیرفعال کنید:
- رابط کاربری لبه (edge-ui)
- سرور مدیریت (سرور مدیریت لبه)
- سایماس LDAP (apigee-openldap)
- روتر (روتر لبهای)
- پردازنده پیام (پردازنده پیام لبهای)
- سرور Qpid و Qpidd (سرور-qpid-edge و qpidd-apigee)
- پایگاه داده Postgres و PostgreSQL (edge-postgres-server و apigee-postgresql)
- نگهبان باغ وحش (نگهدارنده میمون-باغ وحش)
- کاساندرا (apigee-cassandra)
بخشهای بعدی نحوهی از رده خارج کردن هر جزء را توضیح میدهند.
رابط کاربری اج
برای متوقف کردن و حذف نصب کامپوننت رابط کاربری 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
- 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} - کامپوننت Management Server را از روی dc-1 حذف نصب کنید:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
سایماس 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"
- بررسی وضعیت فعلی:
شما میتوانید با ایجاد یک ورودی در LDAP مربوط به dc-2 و اطمینان از عدم نمایش آن در 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 پیکربندی شده است، مراحل را در تمام گرههای روتر یکی یکی انجام دهید.
توجه: در اینجا فرض بر این است که پورت بررسی سلامت روتر ۱۵۹۹۹ در متعادلکننده بار شما پیکربندی شده است و مسدود کردن پورت ۱۵۹۹۹ باعث میشود روتر غیرقابل دسترس شود. ممکن است برای مسدود کردن پورت به دسترسی root نیاز داشته باشید.
برای از کار انداختن روتر، مراحل زیر را انجام دهید:
با مسدود کردن پورت ۱۵۹۹۹، پورت بررسی سلامت، دسترسی به روترها را غیرفعال کنید. اطمینان حاصل کنید که ترافیک زمان اجرا در این مرکز داده مسدود شده است:
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
- با دستور زیر، گیتوی پادهای (Pods) موجود در سازمان را فهرست کنید:
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®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 های پردازندههای پیام را، همانطور که در Get 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 Server ( edge-qpid-server ) و Qpidd ( apigee-qpidd ) را توضیح میدهد. دو گره Qpid در dc-1 پیکربندی شدهاند، بنابراین باید مراحل زیر را برای هر دو گره انجام دهید:
- همانطور که در بخش «دریافت UUIDها» توضیح داده شده است، UUID مربوط به 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 master یا یک Postgres standby باشد. بخشهای زیر نحوه از رده خارج کردن آنها را توضیح میدهند:
از رده خارج کردن Postgres master
توجه: اگر Postgres master را غیرفعال میکنید، حتماً هر یک از گرههای آماده به کار موجود را به عنوان یک postgres master جدید ارتقا دهید. در حالی که QPID دادهها را در بافر صف میکند، اگر Postgres master برای مدت طولانی در دسترس نباشد، خطر از دست دادن دادههای تحلیلی وجود دارد.
برای غیرفعال کردن Postgres master:
- با دنبال کردن دستورالعملهای موجود در لینکهای زیر، از گره اصلی Postgres در dc-1 نسخه پشتیبان تهیه کنید:
- UUID های سرورهای Postgres را همانطور که در Get 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را تغییر دهید و فیلد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 و گروه consumer حذف و اضافه کنید.
- سرور قدیمی Postgres را با دنبال کردن دستورالعملهای موجود در بخش «حذف سرور Postgres از یک گروه تحلیلی» از گروه تحلیلی حذف کنید.
- با دنبال کردن دستورالعملهای موجود در بخش «افزودن یک سرور Postgres موجود به یک گروه تحلیلی»، یک سرور postgres جدید به گروه analytics اضافه کنید.
- سرور قدیمی 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 در حالت آماده به کار
نکته: مستندات مربوط به نصب خوشهای ۱۲ گرهای، گره postgresql مربوط به dc-1 را به عنوان گره اصلی (master) نشان میدهد، اما برای راحتی، در این بخش فرض بر این است که گره postgresql مربوط به dc-1 آماده به کار و گره postgresql مربوط به dc-2 اصلی است.
برای غیرفعال کردن Postgres در حالت آماده به کار، مراحل زیر را انجام دهید:
- با دنبال کردن دستورالعملهای موجود در Get UUIDs ، شناسههای کاربری (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 و گروه consumer حذف و اضافه کنید.
- سرور قدیمی Postgres را با دنبال کردن دستورالعملهای موجود در بخش «حذف سرور Postgres از یک گروه تحلیلی» از گروه تحلیلی حذف کنید.
- با دنبال کردن دستورالعملهای موجود در بخش «افزودن یک سرور Postgres موجود به یک گروه تحلیلی»، یک سرور postgres جدید به گروه analytics اضافه کنید.
- سرور قدیمی 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 را در یک مجموعهی دو مرکز داده توضیح میدهد.
اگر بیش از دو مرکز داده دارید، مطمئن شوید که تمام ارجاعات به گرهای که قرار است از سرویس خارج شود (در این مورد dc-1) را از تمام فایلهای پیکربندی خاموش در تمام مراکز داده باقیمانده حذف کردهاید. برای گرههای کاساندرا که قرار است از سرویس خارج شوند، آن میزبانها را از CASS_HOSTS حذف کنید. گرههای کاساندرا باقیمانده باید در ترتیب اصلی 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"
- ورودیهای فایل پیکربندی موجود:
- فایل پیکربندی بیصدا (اصلاحشده در مرحلهی e) را با IPهای گرههای حذفشده و از رده خارجشده بهروزرسانی کنید و پروفایل سرور مدیریت را روی تمام گرههایی که سرورهای مدیریت را میزبانی میکنند، اجرا کنید:
/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 را مجدداً پیکربندی کنید، به طوری که 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 auth را روی یک گره Cassandra موجود فعال کردهاید، با اجرای دستور زیر، ضریب تکثیر فضای کلیدsystem_authرا بهروزرسانی کنید:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};این دستور ضریب تکثیر را روی
'3'تنظیم میکند که نشاندهنده سه گره کاساندرا در خوشه است. در صورت لزوم، این مقدار را تغییر دهید.پس از تکمیل این مرحله، توپولوژی کاساندرا نباید در هیچ یک از فضاهای کلید،
dc-1داشته باشد. - گرههای کاساندرا را روی dc-1، یکی یکی از کار بیندازید.
برای غیرفعال کردن گرههای کاساندرا، دستور زیر را وارد کنید:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- اتصال گرههای کاساندرا از 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
- جدا کردن 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
در این مرحله، شما از رده خارج کردن 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 - در تمام گرههای کاساندرا، دستور زیر را وارد کنید:
/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;
گرههای کاساندرا/باغوحش
سیاههها
لاگهای مربوط به قطعات را بررسی کنید تا مطمئن شوید خطایی وجود ندارد.