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

گاهی اوقات، ممکن است نیاز به ازکار انداختن یک مرکز داده داشته باشید. برای مثال، اگر درحال ارتقا دادن سیستم‌عامل خود هستید، باید سیستم‌عامل جدید را در مرکز داده جدیدی نصب کنید و سپس مرکز داده قدیمی را ازکار بیندازید. بخش‌های زیر نمونه‌ای از برچیدن مرکز داده را ارائه می‌دهد که در آن دو مرکز داده، 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 را روی آن گره‌ها به ترتیب زیر ازکار بیندازید:

  1. میانای کاربر Edge (edge-ui)
  2. سرور مدیریت (edge-management-server)
  3. OpenLDAP (apigee-openldap)
  4. رهیاب (رهیاب لبه)
  5. پردازشگر پیام (edge-message-processor)
  6. سرور Qpid و Qpidd (edge-qpid-server و apigee-qpidd)
  7. پایگاه داده Postgres و PostgreSQL (edge-postgres-server و apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. 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، مراحل زیر را انجام دهید:

  1. «سرور مدیریت» را در dc-1 متوقف کنید:
    apigee-service edge-management-server stop
  2. «شناسه یکتای» «سرور مدیریت» ثبت‌شده در 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. سرور را حذف کنید. توجه: اگر دیگر عناصر نیز روی این سرور نصب شده‌اند، ابتدا همه آن‌ها را لغو ثبت کنید و سپس «شناسه جهانی یکتا» را حذف کنید.
    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

ال‌دپ باز

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

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

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

  1. با دنبال کردن مراحل در نحوه پشتیبان‌گیری، از گره dc-1 OpenLDAP پشتیبان‌گیری کنید.
  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. می‌توانید با ایجاد ورودی در dc-2 LDAP و اطمینان از اینکه در LDAP dc-1 نشان داده نمی‌شود، تأیید کنید که dc-2 دیگر در dc-1 تکثیر نمی‌شود.

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

    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 پیکربندی شده است، مراحل را در همه گره‌های «مسیریاب» یکی‌یکی انجام دهید

توجه: در اینجا فرض می‌شود که درگاه بررسی سلامت رهیاب (۱۵۹۹۹) در ترازکننده بار شما پیکربندی شده است و مسدود کردن درگاه ۱۵۹۹۹ باعث می‌شود رهیاب غیرقابل‌دسترس شود. برای مسدود کردن درگاه، ممکن است به دسترسی ریشه نیاز داشته باشید.

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

  1. با مسدود کردن درگاه ۱۵۹۹۹، درگاه بررسی سلامت، دسترسی‌پذیری مسیریاب‌ها را غیرفعال کنید. مطمئن شوید که ترافیک زمان اجرا در این مرکز داده مسدود شده است:

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

    درباره «گروه‌های همیاری» را ببینید.

  6. لغو ثبت نوع سرور:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;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. برای فعال کردن درگاه مسدودشده ۱۵۹۹۹، iptables قانون را پاک کنید:
    iptables -F

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

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

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

  1. «شناسه‌های یکتای» «پردازنده‌های پیام» را طبق آنچه در دریافت شناسه‌های یکتا توضیح داده شده است دریافت کنید.
  2. توقف «پردازشگر پیام»:
    apigee-service edge-message-processor stop
  3. لغو ثبت نوع سرور:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. 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"
  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. شناسه منحصربه‌فرد جهانی 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

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

ازکار انداختن سرور اصلی Postgres

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

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

  1. با دنبال کردن دستورالعمل‌های پیوندهای زیر، از گره اصلی dc-1 Postgres پشتیبان‌گیری کنید:
  2. طبق آنچه در دریافت UUID توضیح داده شده است، UUID سرورهای Postgres را دریافت کنید.
  3. در 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
  4. در گره آماده‌به‌کار در 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 باقی‌مانده را به کارگزار اصلی ارتقا دادید. گره آماده به‌کار باقی‌مانده را با مراحل زیر پیکربندی کنید:

    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&region=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

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

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

    1. با دنبال کردن دستورالعمل‌های دریافت UUID، شناسه UUID سرورهای Postgres را دریافت کنید.
    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 حذف کنید. گره‌های باقی‌مانده Cassandra باید در ترتیب اصلی CASS_HOSTS باقی بمانند.

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

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

    1. با دنبال کردن دستورالعمل‌های پیوندهای زیر، از گره‌های dc-1 Cassandra و ZooKeeper پشتیبان‌گیری کنید:
    2. شناسه‌های یکتای جهانی سرورهای 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. فایل پیکربندی بی‌صدا (اصلاح‌شده در مرحله ه) را با پروتکل‌های اینترنتی گره‌های برداشته‌شده ازکارافتاده به‌روز کنید و نمایه سرور «مدیریت» را در همه گره‌های میزبان «سرورهای مدیریت» اجرا کنید:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. فایل پیکربندی را با پروتکل‌های اینترنتی گره‌های برداشته‌شده ازکارافتاده به‌روز کنید و نمایه‌های 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
    8. همه گره‌های Qpid را با برداشتن نشانی‌های IP گره‌های ازکارافتاده از «فایل پاسخ» پیکربندی مجدد کنید:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. همه گره‌های Postgres را با برداشتن پروتکل‌های اینترنتی گره‌های ازکارافتاده از «فایل پاسخ» بازپیکربندی کنید:
      /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 در خوشه است. این مقدار را درصورت لزوم تغییر دهید.

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

    11. گره‌های Cassandra را در dc-1 یکی‌یکی ازکار بیندازید.

      برای ازکار انداختن گره‌های Cassandra، فرمان زیر را وارد کنید:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
    12. بااستفاده از یکی از فرمان‌های زیر، اتصال گره‌های Cassandra را از 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. همه پیوندهای سرور را برای «شناسه‌های یکتای جهانی» به‌دست‌آمده در مرحله قبلی بردارید:
        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

    توجه: اگر یکی از مراحل حذف سرورها را ازدست بدهید، مرحله بالا پیام خطایی برمی‌گرداند که سرور خاصی در واحد هنوز وجود دارد. بنابراین، با دنبال کردن مراحل عیب‌یابی زیر، آن‌ها را حذف کنید و درعین‌حال انواع را در فرمان curl سفارشی‌سازی کنید.

    در این مرحله، برچیدن 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

    اعتبارسنجی

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

    سرور مدیریت

    فرمان‌های زیر را از «سرورهای مدیریت» در همه مناطق اجرا کنید.

    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

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

    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؛

    گزارش‌ها

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