افزودن مرکز داده

Edge for Private Cloud نسخه 4.18.01

این سند نحوه افزودن یک مرکز داده (که منطقه نیز نامیده می شود) را به یک مرکز داده موجود توضیح می دهد.

ملاحظات قبل از افزودن مرکز داده

قبل از نصب افزودن یک مرکز داده، باید نحوه پیکربندی سرورهای OpenLDAP، ZooKeeper، Cassandra و Postgres را در مراکز داده بدانید. همچنین باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند.

  • OpenLDAP
    هر مرکز داده سرور OpenLDAP مخصوص به خود را دارد که با قابلیت تکرار پیکربندی شده است. هنگامی که مرکز داده جدید را نصب می کنید، باید OpenLDAP را برای استفاده از Replication پیکربندی کنید، و باید سرور OpenLDAP را در مرکز داده موجود دوباره پیکربندی کنید تا از Replication استفاده کند.
  • نگهبان باغ وحش
    برای ویژگی ZK_HOSTS برای هر دو مرکز داده، آدرس‌های IP یا نام‌های DNS همه گره‌های ZooKeeper از هر دو مرکز داده را به یک ترتیب مشخص کنید و هر گره‌ای را با اصلاح‌کننده “:observer” علامت‌گذاری کنید. گره های بدون اصلاح کننده “:observer” “رای دهنده” نامیده می شوند. شما باید تعداد فرد "رای دهنده" را در پیکربندی خود داشته باشید.

    در این توپولوژی، میزبان ZooKeeper در میزبان 9 ناظر است:



    در فایل پیکربندی مثالی که در زیر نشان داده شده است، گره 9 با تعدیل کننده “:observer” برچسب گذاری شده است تا شما پنج رای دهنده داشته باشید: گره های 1، 2، 3، 7 و 8.

    برای ویژگی ZK_CLIENT_HOSTS برای هر مرکز داده، آدرس‌های IP یا نام‌های DNS فقط گره‌های ZooKeeper در مرکز داده را به همان ترتیب برای همه گره‌های ZooKeeper در مرکز داده مشخص کنید.
  • کاساندرا
    همه مراکز داده باید به همان تعداد گره کاساندرا داشته باشند.

    برای CASS_HOSTS برای هر مرکز داده، مطمئن شوید که تمام آدرس‌های IP Cassandra (نه نام‌های DNS) را برای هر دو مرکز داده مشخص کرده‌اید. برای مرکز داده 1، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. برای مرکز داده 2، ابتدا گره های Cassandra را در آن مرکز داده فهرست کنید. گره های کاساندرا را به ترتیب برای همه گره های کاساندرا در مرکز داده فهرست کنید.

    همه گره های کاساندرا باید پسوند ":<d>،<r>" داشته باشند، به عنوان مثال "<ip>:1،1 = مرکز داده 1 و رک/منطقه در دسترس بودن 1 و "<ip>:2،1 = مرکز داده" 2 و قفسه/منطقه در دسترس 1.
    برای مثال، "192.168.124.201:1,1 192.168.124.202:1،1 192.168.124.203:1،1 192.168.124.204:2،1 192.168.124.202:121. 1"

    اولین گره در رک/منطقه دسترسی 1 هر مرکز داده به عنوان سرور اولیه استفاده خواهد شد. در این مدل استقرار، تنظیمات Cassandra به شکل زیر خواهد بود:


  • Postgres
    به طور پیش فرض، Edge تمام گره های Postgres را در حالت اصلی نصب می کند. با این حال، هنگامی که چندین مرکز داده دارید، گره‌های Postgres را برای استفاده از تکرار در حالت آماده به کار پیکربندی می‌کنید تا اگر گره اصلی از کار بیفتد، گره آماده به کار بتواند به ترافیک سرور ادامه دهد. به طور معمول، سرور اصلی Postgres را در یک مرکز داده و سرور آماده به کار را در مرکز داده دوم پیکربندی می‌کنید.

    اگر مرکز داده موجود از قبل به گونه‌ای پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، به عنوان بخشی از این روش، گره آماده به کار موجود را لغو ثبت کنید و آن را با یک گره آماده به کار در مرکز داده جدید جایگزین کنید.

    جدول زیر تنظیمات قبل و بعد از Postgres را برای هر دو سناریو نشان می دهد:

    قبل از

    بعد از

    Single Master Postgres node در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Master Postgres در dc-1

    گره آماده به کار Postgres در dc-1

    گره Master Postgres در dc-1

    گره Standby Postgres در dc-2

    گره Standby Postgres قدیمی را در dc-1 لغو ثبت کنید

  • الزامات بندر
    باید اطمینان حاصل کنید که پورت های لازم بین گره های دو مرکز داده باز هستند. برای نمودار پورت، به الزامات نصب مراجعه کنید.

به روز رسانی مرکز داده موجود

افزودن مرکز داده مستلزم انجام مراحل نصب و پیکربندی گره‌های مرکز داده جدید است، اما همچنین باید گره‌ها را در مرکز داده اصلی به‌روزرسانی کنید. این تغییرات ضروری هستند زیرا گره‌های Cassandra و ZooKeeper جدیدی را در مرکز داده جدید اضافه می‌کنید که باید برای مرکز داده موجود قابل دسترسی باشند، و باید OpenLDAP را برای استفاده از Replication پیکربندی مجدد کنید.

ایجاد فایل های پیکربندی

در زیر فایل های پیکربندی بی صدا برای دو مرکز داده نشان داده شده است، جایی که هر مرکز داده دارای 6 گره است که در توپولوژی های نصب نشان داده شده است. توجه داشته باشید که فایل پیکربندی برای dc-1 تنظیمات اضافی را به:

  • OpenLDAP را با تکرار در دو گره OpenLDAP پیکربندی کنید.
  • گره های جدید Cassandra و ZooKeeper را از dc-2 به فایل پیکربندی dc-1 اضافه کنید.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

مراحل افزودن مرکز داده جدید

در این روش، مراکز داده نامگذاری می شوند:

  • dc-1 : مرکز داده موجود
  • dc-2 : مرکز داده جدید
  1. در dc-1 ، setup.sh را روی گره‌های اصلی کاساندرا با فایل پیکربندی جدید dc-1 که شامل گره‌های Cassandra از dc-2 است، مجدداً اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. در dc-1 ، setup.sh را در گره مدیریت سرور اجرا کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. در dc-2 ، apigee-setup را روی همه گره ها نصب کنید. برای اطلاعات بیشتر به نصب ابزار Edge apigee-setup مراجعه کنید.
  4. در dc-2 ، Cassandra و ZooKeeper را روی گره های مناسب نصب کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. در dc-2 ، دستور rebuild را روی تمام گره‌های Cassandra اجرا کنید و نام منطقه dc-1 را مشخص کنید:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP rebuild dc-1
  6. در dc-2 ، سرور مدیریت را در گره مناسب نصب کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. در گره مدیریت سرور در dc-2 ، apigee-provision را نصب کنید، که ابزار apigee-adminapi.sh را نصب می کند:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-provision install
  8. در dc-2 ، Routes and Message Processors را روی گره های مناسب نصب کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. در dc-2 ، Qpid را روی گره های مناسب نصب کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. در dc-2 ، Postgres را روی گره مناسب نصب کنید:
    > /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Postgres master/standby را برای گره های Postgres تنظیم کنید. گره Postgres در dc-1 اصلی است و گره Postgres در dc-2 سرور آماده به کار است.

    توجه : اگر dc-1 از قبل به گونه‌ای پیکربندی شده است که دو گره Postgres در حالت Master/Standby اجرا شوند، به عنوان بخشی از این روش، از گره اصلی Postgres موجود در dc-1 به عنوان اصلی و از گره Postgres در dc-2 استفاده کنید. به عنوان سرور آماده به کار بعداً در این روش، سرور آماده به کار Postgres موجود را در dc-1 لغو ثبت خواهید کرد.
    1. در گره اصلی در dc-1 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER= IPorDNSofDC1Master
      PG_STANDBY= IPorDNSofDC2Standby
    2. فعال کردن تکرار در استاد جدید:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
    3. در گره آماده به کار در dc-2 ، فایل پیکربندی را ویرایش کنید تا تنظیم کنید:
      PG_MASTER= IPorDNSofDC1Master
      PG_STANDBY= IPorDNSofDC2Standby
    4. در گره آماده به کار در dc-2 ، سرور را متوقف کنید و سپس داده های موجود Postgres را حذف کنید:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
      > rm -rf /opt/apigee/data/apigee-postgresql/

      توجه : در صورت لزوم، می توانید قبل از حذف از این داده ها نسخه پشتیبان تهیه کنید.
    5. گره آماده به کار را در dc-2 پیکربندی کنید:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
  12. در dc-1، پیکربندی تجزیه و تحلیل را به روز کنید و سازمان ها را پیکربندی کنید.
    1. در گره مدیریت سرور dc-1 ، UUID گره Postgres را دریافت کنید:
      > لیست سرورهای apigee-adminapi.sh -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      UUID در انتهای داده های برگشتی ظاهر می شود. آن مقدار را ذخیره کنید.

      توجه : اگر dc-1 طوری پیکربندی شده باشد که دو گره Postgres در حالت اصلی/استندبای اجرا شوند، دو آدرس IP و UUID را در خروجی مشاهده خواهید کرد. هر دو UUID را ذخیره کنید. از IP ها، باید بتوانید تعیین کنید که کدام UUID برای Master و کدام برای گره آماده به کار است.
    2. همانطور که در مرحله قبل نشان داده شده است، در گره مدیریت سرور dc-2 ، UUID گره Postgres را دریافت کنید. آن مقدار را ذخیره کنید.
    3. در گره مدیریت سرور dc-1 ، نام گروه های تجزیه و تحلیل و مصرف کننده را تعیین کنید. بسیاری از دستورات زیر به این اطلاعات نیاز دارند.
      به طور پیش فرض، نام گروه تجزیه و تحلیل axgroup-001 و نام گروه مصرف کننده مصرف کننده-گروه-001 است. در فایل پیکربندی بی صدا برای یک منطقه، می توانید با استفاده از ویژگی AXGROUP نام گروه تجزیه و تحلیل را تنظیم کنید.

      اگر از نام گروه های تجزیه و تحلیل و مصرف کننده مطمئن نیستید، از دستور زیر برای نمایش آنها استفاده کنید:
      > فهرست گروه های تحلیلی apigee-adminapi.sh --admin adminEmail --pwd adminPword --host localhost

      این دستور نام گروه تجزیه و تحلیل را در قسمت نام و نام گروه مصرف کننده را در قسمت گروه های مصرف کننده برمی گرداند.
    4. در گره مدیریت سرور dc-1 ، سرور Postgres موجود را از گروه تجزیه و تحلیل حذف کنید:
      1. گره Postgres را از گروه مصرف کننده حذف کنید:
        > گروه‌های تجزیه و تحلیل apigee-adminapi.sh ذخیره‌گاه‌های داده مصرف‌کننده_گروه‌ها حذف -g axgroup-001 -c customers-group-001 -u UUID -Y -admin adminEmail -pwd adminPword -host localhost

        اگر dc-1 طوری پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، هر دو را حذف کنید:
        > گروه‌های تحلیلی apigee-adminapi.sh ذخیره‌گاه‌های داده مصرف‌کننده_گروه‌ها حذف -g axgroup-001 -c customers-group-001 -u " UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. گره Postgres را از گروه تجزیه و تحلیل حذف کنید:
        > گروه های تحلیلی apigee-adminapi.sh postgres_server حذف -g axgroup-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        اگر dc-1 طوری پیکربندی شده است که دو گره Postgres در حالت اصلی/آماده به کار اجرا شوند، هر دو را حذف کنید:
        > گروه های تحلیلی apigee-adminapi.sh postgres_server حذف -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail --pwd adminPword --host localhost
    5. در گره مدیریت سرور dc-1 ، سرورهای جدید Master/Standby Postgres را به گروه تجزیه و تحلیل اضافه کنید:
      1. هر دو سرور Postgres را به گروه تجزیه و تحلیل اضافه کنید:
        > گروه‌های تحلیلی apigee-adminapi.sh postgres_server add -g axgroup-001 -u " UUID_1,UUID_2 " --admin adminEmail --pwd adminPword --host localhost

        که در آن UUID_1 مربوط به گره اصلی Postgres در dc-1 ، و UUID_2 مربوط به گره آماده به کار Postgres در dc-2 است.
      2. سرورهای PG را به عنوان Master/Standby به گروه مصرف کننده اضافه کنید:
        > گروه‌های تجزیه و تحلیل apigee-adminapi.sh ذخیره‌گاه‌های داده مصرف‌کننده_گروه‌ها افزودن -g axgroup-001 -c customers-group-001 -u " UUID_1,UUID_2 " --admin adminEmail --pwd adminPword --host localhost
    6. سرورهای Qpid را از dc-2 به گروه تجزیه و تحلیل اضافه کنید:
      1. در گره مدیریت سرور dc-1 ، UUID گره های Qpid در dc-2 را دریافت کنید:
        > لیست سرورهای apigee-adminapi.sh -r dc-2 -p central -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.
      2. در گره مدیریت سرور dc-1 ، گره های Qpid را به گروه تجزیه و تحلیل اضافه کنید (هر دو دستور را اجرا کنید):
        >apigee-adminapi.sh گروه های تحلیلی qpid_server add -g axgroup-001 -u " UUID_1 --admin adminEmail --pwd adminPword --host localhost

        >apigee-adminapi.sh گروه های تحلیلی qpid_server add -g axgroup-001 -u " UUID_2" --admin adminEmail --pwd adminPword --host localhost
      3. در گره مدیریت سرور dc-1 ، گره های Qpid را به گروه مصرف کننده اضافه کنید (هر دو دستور را اجرا کنید):
        > گروه‌های تحلیلی apigee-adminapi.sh مصرف‌کنندگان گروه‌های مصرف کننده -g axgroup-001 -c customers-group-001 -u " UUID_1" --admin adminEmail --pwd adminPword --host localhost

        > گروه‌های تحلیلی apigee-adminapi.sh مصرف‌کنندگان گروه‌های مصرف کننده -g axgroup-001 -c customers-group-001 -u " UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. سرور آماده به کار قدیمی Postgres را از dc-1 حذف و حذف کنید:
      1. سرور آماده به کار dc-1 Postgres موجود را لغو ثبت کنید:
        > سرورهای apigee-adminapi.sh لغو ثبت -u UUID -r dc-1 -p analytics -t postgres-server -Y --admin adminEmail --pwd adminPword --host localhost

        که در آن UUID گره آماده به کار قدیمی Postgres در dc-1 است.
      2. سرور آماده به کار dc-1 Postgres موجود را حذف کنید:
        توجه : این دستور گره سرور Postgres را حذف نمی کند. فقط آن را از لیست گره های Edge حذف می کند. بعداً می توانید Postgres را در صورت لزوم از گره حذف نصب کنید.
        > سرورهای apigee-adminapi.sh حذف -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. فضاهای کلیدی Cassandra را با ضریب تکرار صحیح برای دو مرکز داده به روز کنید. شما فقط باید این مرحله را یک بار روی هر سرور کاساندرا در هر مرکز داده اجرا کنید:

    توجه : دستورات زیر همگی ضریب تکرار را روی "3" تنظیم می کنند که نشان دهنده سه گره کاساندرا در خوشه است. این مقدار را در صورت لزوم برای نصب خود تغییر دهید.
    1. ابزار Cassandra cqlsh را راه اندازی کنید:
      > /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. دستورات CQL زیر را در اعلان "cqlsh>" برای تنظیم سطوح تکرار برای فضاهای کلیدی Cassandra اجرا کنید:
      1. cqlsh> ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      2. cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. فضاهای کلیدی را با استفاده از دستور مشاهده کنید:
        cqlsh> * را از system.schema_keyspace انتخاب کنید.
      4. خروج از cqlsh:
        cqlsh> خروج
  14. دستور nodetool زیر را روی تمام گره‌های Cassandra در dc-1 اجرا کنید تا حافظه آزاد شود:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP پاکسازی
  15. برای هر سازمان و برای هر محیطی که می خواهید در مراکز داده پشتیبانی کنید:
    1. در گره مدیریت سرور dc-1 ، MP_POD جدید را به سازمان اضافه کنید:
      > apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      جایی که gateway-2 نام gateway pod است که توسط ویژگی MP_POD در فایل پیکربندی dc-2 تعریف شده است.
    2. پردازشگرهای پیام جدید را به سازمان و محیط اضافه کنید:
      1. در گره مدیریت سرور dc-2 ، UUID گره های پردازشگر پیام را در dc-2 دریافت کنید:
        > لیست سرورهای apigee-adminapi.sh -r dc-2 -p gateway-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID ها در انتهای داده های برگشتی ظاهر می شوند. آن مقادیر را ذخیره کنید.
      2. در گره مدیریت سرور dc-1 ، برای هر پردازشگر پیام در dc-2، پردازشگر پیام را به محیطی برای سازمان اضافه کنید:
        > apigee-adminapi.sh orgs envs servers add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. در گره مدیریت سرور dc-1 ، سازمان را بررسی کنید:
      > apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      که در آن apiProxyName نام یک پراکسی API است که در سازمان مستقر شده است.