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

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

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

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

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

اگر 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. پادهای دروازه موجود در سازمان را با دستور زیر فهرست کنید:
    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. برای فعال کردن پورت مسدود شده 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&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. همانطور که در 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 در اصلی فعلی متوقف کنید:
    /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&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

    توجه: مستندات نصب خوشه ای 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 گره های از کار افتاده از فایل پاسخ:
      /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

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

    در تمام گره های کاساندرا وارد کنید:

    /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) از تجزیه و تحلیل انتخاب کنید.

    ”$org.$env.fact” limit 1 ;

    سیاههها

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