از کار انداختن مرکز داده

گاهی اوقات ممکن است لازم باشد یک مرکز داده را از کار بیندازید. به عنوان مثال، اگر سیستم عامل خود را ارتقا می دهید، باید سیستم عامل جدید را در یک مرکز داده جدید نصب کنید و سپس مرکز داده قدیمی را از کار بیندازید. بخش‌های زیر نمونه‌ای از از کار انداختن یک مرکز داده را ارائه می‌کنند که در آن دو مرکز داده، dc-1 و dc-2، در یک نصب خوشه‌ای 12 گره وجود دارد:

  • dc-1 مرکز داده ای است که باید از رده خارج شود.
  • dc-2 یک مرکز داده ثانویه است که در روند از کار انداختن استفاده می شود.

اگر سیستم عامل خود را ارتقا می دهید، dc-2 می تواند مرکز داده ای باشد که نسخه جدید سیستم عامل (OS) را در آن نصب کرده اید. با این حال، نصب یک سیستم عامل جدید برای از کار انداختن مرکز داده لازم نیست.

ملاحظات قبل از از کار انداختن یک مرکز داده

هنگام از کار انداختن یک مرکز داده، ملاحظات زیر را در نظر داشته باشید:

  • تمام ترافیک مدیریت و زمان اجرا را به مرکز داده در حال از کار انداختن مسدود کنید و آنها را به مراکز داده دیگر هدایت کنید.
  • پس از از کار انداختن مرکز داده، در خوشه Apigee خود ظرفیت کمتری خواهید داشت. برای جبران آن، افزایش ظرفیت در مراکز داده باقیمانده یا اضافه کردن مراکز داده پس از از کار انداختن را در نظر بگیرید.
  • در طول فرآیند از کار انداختن، بسته به اینکه کدام مؤلفه های تجزیه و تحلیل در مرکز داده در حال از کار افتادن نصب شده باشند، احتمال از دست رفتن داده های تحلیلی وجود دارد. می توانید جزئیات بیشتری را در افزودن یا حذف گره های Qpid بیابید.
  • قبل از اینکه یک مرکز داده را از کار بیندازید، باید بدانید که چگونه همه مؤلفه ها در همه مراکز داده، به ویژه سرورهای OpenLDAP، ZooKeeper، Cassandra و Postgres پیکربندی شده اند. همچنین باید از تمام اجزا و تنظیمات آنها نسخه پشتیبان تهیه کنید.

قبل از شروع

  • مدیریت سرور: تمام مراحل از کار افتادن به شدت به سرور مدیریت وابسته است. اگر فقط یک سرور مدیریت در دسترس دارید، توصیه می کنیم قبل از از کار انداختن سرور مدیریت در dc-1، یک مؤلفه مدیریت سرور جدید را در مرکز داده ای غیر از dc-1 نصب کنید و مطمئن شوید که یکی از سرورهای مدیریت همیشه در دسترس است. .
  • روتر: قبل از از کار انداختن روتر، دسترسی روترها را با مسدود کردن پورت 15999 غیرفعال کنید. مطمئن شوید که هیچ ترافیکی در زمان اجرا به سمت روترهایی که از کار افتاده اند هدایت نمی شود.
  • Cassandra و ZooKeeper: بخش های زیر نحوه از کار انداختن dc-1 را در راه اندازی دو مرکز داده توضیح می دهد.

    اگر بیش از دو مرکز داده دارید، مطمئن شوید که تمام ارجاعات به گره در حال از کار انداختن (در این مورد dc-1) را از تمام فایل‌های پیکربندی بی‌صدا در تمام مراکز داده باقیمانده حذف کنید. برای گره‌های Cassandra که قرار است از رده خارج شوند، آن میزبان‌ها را از CASS_HOSTS حذف کنید. گره های کاساندرا باقی مانده باید در ترتیب اولیه CASS_HOSTS باقی بمانند.

  • Postgres: اگر Master Postgres را از کار انداختید، مطمئن شوید که هر یک از گره های آماده به کار موجود را به عنوان یک Master Postgres جدید تبلیغ کنید. در حالی که سرور QPID یک بافر را در صف نگه می دارد، اگر Postgres Master برای مدت طولانی تری در دسترس نباشد، خطر از دست دادن داده های تجزیه و تحلیل را دارید.

پیش نیازها

  • قبل از از کار انداختن هر کامپوننت، توصیه می کنیم که یک نسخه پشتیبان کامل از تمام گره ها انجام دهید. از رویه نسخه فعلی Edge برای انجام پشتیبان استفاده کنید. برای اطلاعات بیشتر در مورد پشتیبان‌گیری، به پشتیبان‌گیری و بازیابی مراجعه کنید.

  • با استفاده از دستور زیر، مطمئن شوید که Edge قبل از از کار افتادن فعال است:
    /opt/apigee/apigee-service/bin/apigee-all status
  • اطمینان حاصل کنید که در حال حاضر هیچ ترافیکی در زمان اجرا به مرکز داده ای که در حال از کار انداختن آن هستید نمی رسد.

ترتیب قطعات از کار انداختن

اگر Edge را برای Private Cloud روی چندین گره نصب می‌کنید، باید اجزای Edge را در آن گره‌ها به ترتیب زیر از کار بیندازید:

  1. Edge UI (edge-ui)
  2. سرور مدیریت (Edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. روتر (Edge-Router)
  5. پردازشگر پیام (پردازنده پیام لبه)
  6. سرور Qpid و Qpidd (سرور edge-qpid و apigee-qpidd)
  7. پایگاه داده Postgres و PostgreSQL (edge-postgres-server و apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. کاساندرا (apigee-cassandra)

بخش های زیر نحوه از کار انداختن هر جزء را توضیح می دهد.

رابط کاربری لبه

برای توقف و حذف کامپوننت 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، مراحل زیر را انجام دهید:

  1. سرور مدیریت را در dc-1 متوقف کنید:
    apigee-service edge-management-server stop
  2. UUID سرور مدیریت ثبت شده در dc-1 را پیدا کنید:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. نوع سرور لغو ثبت:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. سرور را حذف کنید. توجه: اگر اجزای دیگری نیز روی این سرور نصب شده اند، قبل از حذف UUID ابتدا همه آنها را از ثبت خارج کنید.
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. مولفه مدیریت سرور را در dc-1 حذف نصب کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

LDAP را باز کنید

این بخش نحوه از کار انداختن OpenLDAP در dc-1 را توضیح می دهد.

توجه: اگر بیش از دو مرکز داده دارید، تنظیمات با بیش از دو مرکز داده را در زیر ببینید.

برای از کار انداختن OpenLDAP در dc-1، مراحل زیر را انجام دهید:

  1. با دنبال کردن مراحل در نحوه تهیه نسخه پشتیبان از گره OpenLDAP dc-1 نسخه پشتیبان تهیه کنید.
  2. با اجرای مراحل زیر در هر دو مرکز داده، تکثیر داده بین دو مرکز داده dc-1 و dc-2 را قطع کنید.

    1. وضعیت فعلی را بررسی کنید:
      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
    2. یک فایل break_repl.ldif حاوی دستورات زیر ایجاد کنید:
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. دستور 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"
  3. با ایجاد یک ورودی در LDAP dc-2 و اطمینان از اینکه در LDAP dc-1 نمایش داده نمی شود، می توانید تأیید کنید که dc-2 دیگر به dc-1 تکرار نمی شود.

    به صورت اختیاری، می توانید مراحل زیر را دنبال کنید، که یک کاربر فقط خواندنی در گره OpenLDAP dc-2 ایجاد می کند و سپس بررسی می کند که آیا کاربر تکرار شده است یا خیر. کاربر متعاقبا حذف می شود.

    1. یک فایل 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}
    2. اضافه کردن کاربر با دستور '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"
    3. کاربر را در 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
    4. کاربر فقط خواندنی را که قبلاً اضافه کرده اید حذف کنید:
      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"
  4. توقف OpenLDAP در dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. کامپوننت OpenLDAP را در dc-1 حذف نصب کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

روتر

این بخش نحوه از کار انداختن روتر را توضیح می دهد. برای جزئیات بیشتر در مورد حذف روتر به حذف سرور مراجعه کنید.

مراحل زیر روتر را از dc-1 خارج می کند. اگر چندین گره روتر در dc-1 پیکربندی شده است، مراحل را در تمام گره های روتر یک به یک انجام دهید.

توجه: در اینجا فرض بر این است که پورت بررسی سلامت روتر 15999 در بار متعادل کننده شما پیکربندی شده است و مسدود کردن پورت 15999 روتر را غیرقابل دسترسی می کند. ممکن است برای مسدود کردن پورت به دسترسی روت نیاز داشته باشید.

برای از کار انداختن روتر، مراحل زیر را انجام دهید:

  1. با مسدود کردن پورت 15999، پورت بررسی سلامت، دسترسی روترها را غیرفعال کنید. اطمینان حاصل کنید که ترافیک زمان اجرا در این مرکز داده مسدود شده است:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. بررسی کنید که روتر در دسترس است:

    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
  3. همانطور که در Get UUID ها توضیح داده شد، UUID روتر را دریافت کنید.
  4. روتر را متوقف کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. با دستور زیر gateway pod های موجود در سازمان را فهرست کنید:
    curl -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    درباره Pods را ببینید.

  6. نوع سرور را لغو ثبت کنید:
    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"
  7. حذف ثبت سرور:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. حذف نصب edge-router :
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    به حذف سرور مراجعه کنید.
  9. برای فعال کردن پورت مسدود شده 15999، قوانین iptables فلاش کنید:
    iptables -F

پردازشگر پیام

این بخش نحوه از کار انداختن پردازشگر پیام از dc-1 را شرح می دهد. برای جزئیات بیشتر در مورد حذف پردازشگر پیام، به حذف سرور مراجعه کنید.

از آنجایی که فرض می کنیم dc-1 یک نصب خوشه ای 12 گره ای دارد، دو گره پردازشگر پیام در dc-1 پیکربندی شده اند. دستورات زیر را در هر دو گره انجام دهید.

  1. UUID های پردازشگرهای پیام را همانطور که در Get UUID توضیح داده شده است، دریافت کنید.
  2. متوقف کردن پردازشگر پیام:
    apigee-service edge-message-processor stop
  3. نوع سرور را لغو ثبت کنید:
    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"
  4. یک محیط را از پردازشگر پیام جدا کنید.
    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"
  5. نوع سرور را لغو ثبت کنید:
    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"
  6. پردازشگر پیام را حذف کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. حذف ثبت سرور:
    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 پیکربندی شده است، بنابراین باید مراحل زیر را برای هر دو گره انجام دهید:

  1. همانطور که در Get UUID توضیح داده شد، UUID را برای Qpidd دریافت کنید.
  2. توقف 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
  3. لیستی از Analytics و گروه های مصرف کننده را دریافت کنید:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. 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}"
  5. 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"
  6. سرور Qpid را از نصب Edge حذف کنید:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. سرور Qpid را از نصب Edge حذف کنید:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. همه اجزای 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
  9. حذف نصب 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

مرکز داده ای که شما در حال از کار انداختن آن هستید می تواند یک Master Postgres یا یک Postgres Standby داشته باشد. بخش های زیر نحوه از کار انداختن آنها را توضیح می دهد:

از کار افتادن استاد Postgres

توجه: اگر Master Postgres را از کار انداختید، مطمئن شوید که هر یک از گره‌های آماده به کار موجود را به عنوان یک Master Postgres جدید تبلیغ کنید. در حالی که QPID صف‌های داده‌ها را بافر می‌کند، اگر Master Postgres برای مدت طولانی در دسترس نباشد، خطر از دست دادن داده‌های تحلیلی را دارید.

برای از کار انداختن Master Postgres:

  1. با دنبال کردن دستورالعمل‌های موجود در پیوندهای زیر، از گره اصلی dc-1 Postgres نسخه پشتیبان تهیه کنید:
  2. UUID سرورهای Postgres را همانطور که در Get UUID توضیح داده شده است دریافت کنید.
  3. در dc-1، edge-postgres-server و apigee-postgresql روی master فعلی متوقف کنید:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. در گره آماده به کار در dc-2، دستور زیر را وارد کنید تا آن را به گره اصلی تبدیل کنید:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    توجه: اگر بیش از یک گره آماده به کار Postgres دارید، باید ورودی های میزبان را در اصلی جدید اضافه کنید و تنظیمات تکرار را برای همه گره های آماده به کار postgres موجود به روز کنید.

    برای افزودن ورودی‌های میزبان به Master Postgres جدید: مراحل مربوط به بخش زیر را دنبال کنید:

    اگر فقط یک گره آماده به کار باقی مانده باشد

    به عنوان مثال، فرض کنید قبل از از کار انداختن، سه گره Postgres پیکربندی شده بودند. شما استاد موجود را از کار انداختید و یکی از گره های آماده به کار postgres باقی مانده را به استاد ارتقا دادید. گره آماده به کار باقی مانده را با مراحل زیر پیکربندی کنید:

    1. در اصلی جدید، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. فعال کردن تکرار در استاد جدید:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    اگر بیش از یک گره آماده به کار باقی مانده باشد

    1. پیکربندی زیر را در /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
    2. مطمئن شوید که فایل /opt/apigee/customer/application/postgresql.properties متعلق به کاربر apigee است:
      chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. راه اندازی مجدد apigee-postgresql :
      apigee-service apigee-postgresql restart
    4. برای به روز رسانی تنظیمات تکرار در یک گره آماده به کار:

      1. فایل پیکربندی /opt/silent.conf را تغییر دهید و فیلد PG_MASTER را با آدرس IP استاد جدید Postgres به روز کنید.
      2. با دستور زیر تمام داده های قدیمی Postgres را حذف کنید:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. تکرار را در گره آماده به کار تنظیم کنید:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. با وارد کردن دستور زیر در dc-2 مطمئن شوید که Postgres master به درستی تنظیم شده است:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. سرورهای Postgresql را از گروه تجزیه و تحلیل و گروه مصرف کننده حذف و اضافه کنید.
      1. سرور قدیمی Postgres را از گروه تجزیه و تحلیل به دنبال دستورالعمل های موجود در حذف سرور Postgres از گروه تجزیه و تحلیل حذف کنید.
      2. به دنبال دستورالعمل‌های موجود در افزودن سرور Postgres موجود به یک گروه تجزیه و تحلیل، یک سرور postgres جدید به گروه تجزیه و تحلیل اضافه کنید.
    7. سرور قدیمی 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"
            
    8. سرور postgres قدیمی را از dc-1 حذف کنید:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. استاد قدیمی 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

    توجه: مستندات نصب خوشه ای 12 گره، گره dc-1 postgresql را به عنوان اصلی نشان می دهد، اما برای راحتی، در این بخش فرض می شود که گره dc-1 postgresql آماده به کار است و گره dc-2 postgresql اصلی است.

    برای از کار انداختن حالت آماده به کار Postgres، مراحل زیر را انجام دهید:

    1. UUID سرورهای Postgres را با پیروی از دستورالعمل‌های دریافت UUID دریافت کنید.
    2. توقف 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
    3. سرورهای Postgresql را از گروه تجزیه و تحلیل و گروه مصرف کننده حذف و اضافه کنید.
      1. سرور قدیمی Postgres را از گروه تجزیه و تحلیل به دنبال دستورالعمل های موجود در حذف سرور Postgres از گروه تجزیه و تحلیل حذف کنید.
      2. به دنبال دستورالعمل‌های موجود در افزودن سرور Postgres موجود به یک گروه تجزیه و تحلیل، یک سرور postgres جدید به گروه تجزیه و تحلیل اضافه کنید.
    4. سرور قدیمی postgres را از dc-1 حذف کنید:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"
    5. سرور postgres قدیمی را از dc-1 حذف کنید:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. استاد قدیمی 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 حذف کنید. گره های کاساندرا باقی مانده باید در ترتیب اولیه CASS_HOSTS باقی بمانند.

    نکته در مورد ZooKeeper: شما باید در حین اصلاح ویژگی ZK_HOST در فایل پیکربندی، حد نصاب گره های رای دهنده را حفظ کنید تا اطمینان حاصل کنید که مجموعه ZooKeeper عملکردی باقی می ماند. شما باید تعداد فرد گره رأی دهنده را در پیکربندی خود داشته باشید. برای اطلاعات بیشتر، به وظایف نگهداری Apache ZooKeeper مراجعه کنید.

    برای از کار انداختن سرورهای ZooKeeper و Cassandra:

    1. با دنبال کردن دستورالعمل‌های موجود در پیوندهای زیر، از گره‌های dc-1 Cassandra و ZooKeeper نسخه پشتیبان تهیه کنید:
    2. UUID سرورهای ZooKeeper و Cassandra را در مرکز داده ای که گره های Cassandra در شرف از بین رفتن هستند، فهرست کنید.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. نوع سرور را لغو ثبت کنید:
      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&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. حذف ثبت سرور:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. فایل پیکربندی را با 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"
    6. فایل پیکربندی بی صدا (اصلاح شده در مرحله e) را با IP های گره های از کار افتاده حذف شده به روز کنید و نمایه سرور مدیریت را در تمام گره های میزبان سرورهای مدیریت اجرا کنید:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. فایل پیکربندی را با 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
    8. پیکربندی مجدد تمام گره های Qpid، با حذف IP گره های از کار افتاده از Response File:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. پیکربندی مجدد تمام گره های Postgres، با حذف IP گره های از کار افتاده از Response File:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. فضای کلید system_auth را تغییر دهید. اگر احراز هویت Cassandra را در یک گره Cassandra موجود فعال کرده‌اید، با اجرای دستور زیر، ضریب تکرار فضای کلید system_auth را به‌روزرسانی کنید:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      این دستور ضریب تکرار را روی '3' تنظیم می کند که نشان دهنده سه گره Cassandra در خوشه است. در صورت لزوم این مقدار را تغییر دهید.

      پس از انجام این مرحله، توپولوژی کاساندرا نباید در هیچ یک از فضاهای کلیدی dc-1 داشته باشد.

    11. گره های کاساندرا را در dc-1 تک تک از کار خارج کنید.

      برای از کار انداختن گره های کاساندرا، دستور زیر را وارد کنید:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
    12. اتصال گره های کاساندرا از dc-1 را با استفاده از یکی از دستورات زیر بررسی کنید:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      یا دستور تأیید ثانویه برای اجرا در گره از کار افتاده:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      دستور بالا باید برگردد:

      Mode: DECOMMISSIONED
    13. نمایه DS را برای تمام گره های Cassandra و ZooKeeper در dc-2 اجرا کنید:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. توقف apigee-cassandra و apigee-zookeeper در dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. apigee-cassandra و apigee-zookeeper را در dc-1 حذف نصب کنید:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    اتصالات را از dc-1 حذف کنید

    برای حذف اتصالات از dc-1، مراحل زیر را انجام دهید:

    1. اتصالات را از dc-1 حذف کنید.
      1. فهرست تمام پادهای موجود در سازمان:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. برای بررسی اینکه آیا تمام اتصالات حذف شده اند، UUID سرورهای مرتبط با پادها را دریافت کنید:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        اگر این دستور هیچ UUID را برنگرداند، مراحل قبلی تمام اتصالات را حذف کرده است و می‌توانید از مرحله بعدی رد شوید. در غیر این صورت مرحله بعدی را انجام دهید.

      3. تمام اتصالات سرور برای UUID های به دست آمده در مرحله قبل را حذف کنید:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. سازمان را از غلاف جدا کنید:
        curl -v -u  <AdminEmailID>:'<AdminPassword>'  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. غلاف ها را حذف کنید:
      curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. منطقه را حذف کنید
      curl -v -u <AdminEmailID>:'<AdminPassword>'  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    در این مرحله شما عملیات انحلال dc-1 را کامل کرده اید.

    ضمیمه

    عیب یابی

    اگر پس از انجام مراحل قبلی، هنوز سرور در برخی از پادها وجود دارد، مراحل زیر را برای لغو ثبت و حذف سرورها انجام دهید. توجه: در صورت لزوم انواع و غلاف را تغییر دهید.

    1. UUID ها را با استفاده از دستور زیر دریافت کنید:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. نوع سرور لغو ثبت:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. سرورها را یکی یکی حذف کنید:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    اعتبار سنجی

    با استفاده از دستورات زیر می توانید از کار افتادن را تأیید کنید.

    سرور مدیریت

    1. دستورات زیر را از سرورهای مدیریت در تمام مناطق اجرا کنید.
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
      curl -v -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1
    2. برای بررسی الزامات پورت برای همه پورت های مدیریتی، دستور زیر را بر روی تمام اجزاء اجرا کنید.
      curl -v http://MS_IP:8080/v1/servers/self
    3. گروه تجزیه و تحلیل را بررسی کنید.
      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
    4. گره های Cassandra/ZooKeeper

      1. در تمام گره های کاساندرا، وارد کنید:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

        این یک وضعیت running یا not running آن گره خاص را برمی گرداند.

      2. در یک گره، وارد کنید:
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

        دستورات بالا اطلاعات مرکز داده فعال را برمی گرداند.

      3. در گره های ZooKeeper ابتدا وارد کنید:
        echo ruok | nc <host> 2181
        

        این دستور imok را برمی گرداند.

        بعد وارد کنید:

        echo stat | nc <host> 2181 | grep Mode
        

        مقدار Mode که توسط دستور بالا برگردانده می شود یکی از موارد زیر خواهد بود: observer ، leader یا follower .

      4. در یک گره ZooKeeper، اجرا کنید:
        /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
      5. در گره اصلی Postgres، اجرا کنید:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

        تأیید کنید که پاسخ می گوید گره اصلی است.

      6. در گره آماده به کار، اجرا کنید:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        اطمینان حاصل کنید که پاسخ تأیید می کند که گره در حالت آماده به کار است.

      7. با استفاده از دستور زیر وارد پایگاه داده 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;

      سیاههها

      سیاهههای مربوط به اجزا را بررسی کنید تا مطمئن شوید که خطایی وجود ندارد.