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

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

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

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

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

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

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

قبل‌از شروع

  • سرور مدیریت: همه مراحل ازکاراندازی به‌شدت به «سرور مدیریت» وابسته است. اگر فقط یک «سرور مدیریت» دردسترس دارید، توصیه می‌کنیم که مؤلفه «سرور مدیریت» جدیدی در مرکز داده‌ای غیراز dc-1 نصب کنید و سپس «سرور مدیریت» را در dc-1 از رده خارج کنید، و مطمئن شوید که یکی از «سرورهای مدیریت» همیشه دردسترس است.
  • Router: Before decommissioning a Router, disable reachability of Routers by blocking the port 15999. مطمئن شوید هیچ ترافیک زمان اجرایی به «رهیاب‌هایی» که از رده خارج می‌شوند هدایت نمی‌شود.
  • Cassandra و ZooKeeper: بخش‌های زیر نحوه ازکار انداختن dc-1 را در راه‌اندازی دو مرکز داده شرح می‌دهند. اگر بیش‌از دو مرکز داده دارید، حتماً همه ارجاع‌ها به گره‌ای را که از رده خارج می‌شود (در این مورد dc-1) از همه فایل‌های پیکربندی بی‌صدا در همه مراکز داده باقی‌مانده بردارید. برای گره‌های Cassandra که قرار است از کار انداخته شوند، آن میزبان‌ها را از CASS_HOSTS حذف کنید. گره‌های Cassandra باقی‌مانده باید در ترتیب اصلی CASS_HOSTS باقی بمانند.

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

پیش‌نیازها

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

    توجه: اگر چند گره Cassandra یا ZooKeeper دارید، آن‌ها را یکی‌یکی پشتیبان‌گیری کنید، زیرا فرایند پشتیبان‌گیری ZooKeeper را موقتاً خاموش می‌کند.

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

ترتیب ازکار انداختن اجزا

اگر Edge for Private Cloud را در چندین گره نصب می‌کنید، باید مؤلفه‌های Edge را در آن گره‌ها به‌ترتیب زیر از کار بیندازید:

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

بخش‌های زیر نحوه ازکار انداختن هر مؤلفه را توضیح می‌دهد.

میانای کاربر Edge

برای متوقف کردن و حذف نصب مؤلفه 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

ال‌دپ باز

این بخش نحوه ازکار انداختن 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. متوقف کردن ال‌دپ باز در 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. UUID «رهیاب» را همان‌طور که در دریافت UUID شرح داده شده است دریافت کنید.
  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"

    درباره 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. شناسه‌های UUID مربوط به «پردازشگرهای پیام» را طبق آنچه در دریافت شناسه‌های 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&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. حذف نصب Message Processor:
    /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. 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 master یا Postgres standby داشته باشد. بخش‌های زیر نحوه ازکار انداختن آن‌ها را توضیح می‌دهد:

Decommissioning Postgres master

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

برای ازکار انداختن 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 را از گروه Analytics و گروه مصرف‌کننده بردارید و اضافه کنید.
      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 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 standby

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

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

    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 را از گروه Analytics و گروه مصرف‌کننده بردارید و اضافه کنید.
      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 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

    این بخش نحوه ازکار انداختن سرورهای ZooKeeper و Cassandra را در راه‌اندازی دو مرکز داده توضیح می‌دهد.

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

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

    گزارش‌ها

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