Добавление центра обработки данных

Edge для частного облака v. 4.17.05

В этом документе описывается, как добавить центр обработки данных (также называемый регионом) к существующему центру обработки данных.

Что следует учитывать перед добавлением центра обработки данных

Прежде чем приступить к установке добавления центра обработки данных, вы должны понять, как настроить серверы OpenLDAP, ZooKeeper, Cassandra и Postgres в центрах обработки данных. Вы также должны убедиться, что необходимые порты открыты между узлами в двух центрах обработки данных.

  • OpenLDAP
    Каждый центр обработки данных имеет собственный сервер OpenLDAP, настроенный с включенной репликацией. При установке нового центра обработки данных необходимо настроить OpenLDAP для использования репликации, а также перенастроить сервер OpenLDAP в существующем центре обработки данных для использования репликации.
  • смотритель зоопарка
    Для свойства ZK_HOSTS для обоих центров обработки данных укажите IP-адреса или DNS-имена всех узлов ZooKeeper из обоих центров обработки данных в одинаковом порядке и отметьте все узлы модификатором with «:observer». Узлы без модификатора «:observer» называются «избирателями». В вашей конфигурации должно быть нечетное количество «избирателей».

    В этой топологии хост ZooKeeper на хосте 9 является наблюдателем:



    В примере файла конфигурации, показанном ниже, узел 9 помечен модификатором «:observer», так что у вас есть пять избирателей: узлы 1, 2, 3, 7 и 8.

    Для свойства ZK_CLIENT_HOSTS для каждого центра обработки данных укажите IP-адреса или DNS-имена только узлов ZooKeeper в центре обработки данных в том же порядке, что и для всех узлов ZooKeeper в центре обработки данных.
  • Кассандра
    Все центры обработки данных должны иметь одинаковое количество узлов Cassandra.

    Для CASS_HOSTS для каждого центра обработки данных убедитесь, что вы указали все IP-адреса Cassandra (а не DNS-имена) для обоих центров обработки данных. Для центра обработки данных 1 сначала перечислите узлы Cassandra в этом центре обработки данных. Для центра обработки данных 2 сначала перечислите узлы Cassandra в этом центре обработки данных. Перечислите узлы Cassandra в том же порядке для всех узлов Cassandra в центре обработки данных.

    Все узлы 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.205:2,1 192.168.124.206:2,1 "

    Первый узел в стойке/зоне доступности 1 каждого центра обработки данных будет использоваться в качестве начального сервера. В этой модели развертывания установка Cassandra будет выглядеть следующим образом:


  • Постгрес
    По умолчанию Edge устанавливает все узлы Postgres в главном режиме. Однако если у вас есть несколько центров обработки данных, вы настраиваете узлы Postgres на использование репликации главный-резервный, чтобы в случае сбоя главного узла резервный узел мог продолжать обслуживать трафик. Обычно вы настраиваете главный сервер Postgres в одном центре обработки данных, а резервный сервер — во втором центре обработки данных.

    Если существующий центр обработки данных уже настроен на работу двух узлов Postgres в режиме главный/резервный, то в рамках этой процедуры отмените регистрацию существующего резервного узла и замените его резервным узлом в новом центре обработки данных.

    В следующей таблице показаны настройки Postgres до и после для обоих сценариев:

    До

    После

    Один главный узел Postgres в DC-1

    Главный узел Postgres в DC-1

    Резервный узел Postgres в DC-2

    Главный узел Postgres в DC-1

    Резервный узел Postgres в DC-1

    Главный узел Postgres в DC-1

    Резервный узел Postgres в DC-2

    Отменить регистрацию старого резервного узла Postgres в DC-1

  • Требования к порту
    Вы должны убедиться, что необходимые порты открыты между узлами в двух центрах обработки данных. Схему портов см. в разделе «Требования к установке» .

Обновление существующего дата-центра

Для добавления центра обработки данных вам необходимо выполнить действия по установке и настройке новых узлов центра обработки данных, но также потребуется обновить узлы в исходном центре обработки данных. Эти изменения необходимы, поскольку вы добавляете новые узлы Cassandra и ZooKeeper в новый центр обработки данных, которые должны быть доступны для существующего центра обработки данных, и вам необходимо перенастроить OpenLDAP для использования репликации.

Создание файлов конфигурации

Ниже показаны файлы автоматической конфигурации для двух центров обработки данных, где каждый центр обработки данных имеет 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
BIND_ON_ALL_INTERFACES=y
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
BIND_ON_ALL_INTERFACES=y
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 на исходных узлах Cassandra с новым файлом конфигурации dc-1, который включает узлы Cassandra из dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. На dc-1 перезапустите файл setup.sh на узле Management Server:
    > /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. На узле Management Server в dc-2 установите apigee-provision , который установит утилиту apigee-adminapi.sh :
    > /opt/apigee/apigee-service/bin/apigee-service установка apigee-provision
  8. На dc-2 установите процессоры маршрутов и сообщений на соответствующих узлах:
    > /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 для узлов Postgres. Узел Postgres в DC-1 является главным, а узел Postgres в DC-2 — резервным сервером.

    Примечание . Если dc-1 уже настроен на работу двух узлов Postgres в режиме главный/резервный, то в рамках этой процедуры используйте существующий главный узел 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 остановить
      > 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. На узле Management Server 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 предназначен для главного узла, а какой — для резервного.
    2. На узле Management Server dc-2 получите UUID узла Postgres, как показано на предыдущем шаге. Сохраните это значение.
    3. На узле Management Server dc-1 определите имя групп аналитики и потребителей. Многие из приведенных ниже команд требуют этой информации.
      По умолчанию имя группы аналитики — axgroup-001, а имя группы потребителей — Consumer-group-001. В файле конфигурации без вывода сообщений для региона вы можете задать имя группы аналитики, используя свойство AXGROUP.

      Если вы не уверены в названиях групп аналитики и потребителей, используйте следующую команду для их отображения:
      > список групп аналитики apigee-adminapi.sh --admin adminEmail --pwd adminPword --host localhost

      Эта команда возвращает имя группы аналитики в поле имени и имя группы потребителей в поле группы потребителей.
    4. На узле Management Server dc-1 удалите существующий сервер Postgres из группы аналитики:
      1. Удалите узел Postgres из группы потребителей:
        > apigee-adminapi.sh аналитические группы Consumer_groups хранилища данных удалить -g axgroup-001 -c потребительская группа-001 -u UUID -Y --admin adminEmail --pwd adminPword --host localhost

        Если dc-1 настроен на работу двух узлов Postgres в режиме главный/резервный, удалите оба:
        > apigee-adminapi.sh аналитические группы Consumer_groups хранилища данных удалить -g axgroup-001 -c потребительская группа-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. На узле Management Server dc-1 добавьте новые главные/резервные серверы 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 в группу потребителей в качестве главных/резервных:
        > apigee-adminapi.sh группы аналитики Consumer_groups хранилища данных add -g axgroup-001 -c Consumer-group-001 -u " UUID_1,UUID_2 " --admin adminEmail --pwd adminPword --host localhost
    6. Добавьте серверы Qpid из dc-2 в группу аналитики:
      1. На узле Management Server 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. На узле Management Server dc-1 добавьте узлы Qpid в группу аналитики:
        >apigee-adminapi.sh группы аналитики qpid_server add -g axgroup-001 -u " UUID_1 UUID_2" --admin adminEmail --pwd adminPword --host localhost
      3. На узле Management Server dc-1 добавьте узлы Qpid в группу потребителей:
        > apigee-adminapi.sh группы аналитики потребительские_группы потребители добавляют -g axgroup-001 -c потребительская группа-001 -u " UUID_1,UUID_2" --admin adminEmail --pwd adminPword --host localhost
    7. Отмените регистрацию и удалите старый резервный сервер Postgres из dc-1:
      1. Отмените регистрацию существующего резервного сервера Postgres dc-1 :
        > Отменить регистрацию серверов 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. Удалите существующий резервный сервер Postgres dc-1:
        Примечание . Эта команда не удаляет узел сервера Postgres. Он только удаляет его из списка Edge узлов. При необходимости позже вы сможете удалить Postgres с узла.
        > Серверы apigee-adminapi.sh удалить -u UUID --admin adminEmail --pwd adminPword --host localhost
  13. Обновите пространства ключей Cassandra, указав правильный коэффициент репликации для двух центров обработки данных. Вам нужно выполнить этот шаг только один раз на любом сервере Cassandra в любом центре обработки данных:

    Примечание . Приведенные ниже команды устанавливают коэффициент репликации на «3», что указывает на три узла Cassandra в кластере. Измените это значение, если это необходимо для вашей установки.
    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" С репликацией = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
      3. Просмотрите пространства ключей с помощью команды:
        cqlsh> выберите * из system.schema_keyspaces;
      4. Выйти из cqlsh:
        cqlsh> выход
  14. Запустите следующую команду nodetool на всех узлах Cassandra в dc-1, чтобы освободить память:
    > /opt/apigee/apigee-cassandra/bin/nodetool -h очистка cassandraIP
  15. Для каждой организации и каждой среды, которую вы хотите поддерживать в центрах обработки данных:
    1. На узле Management Server dc-1 добавьте новый MP_POD в организацию:
      > модули организации apigee-adminapi.sh add -o orgName -r dc-2 -p шлюз-2 --admin adminEmail --pwd adminPword --host localhost

      где шлюз-2 — это имя модуля шлюза, определенное свойством MP_POD в файле конфигурации dc-2.
    2. Добавьте новые процессоры сообщений в организацию и среду:
      1. На узле сервера управления dc-2 получите UUID узлов процессора сообщений в dc-2:
        > список серверов apigee-adminapi.sh -r dc-2 -p шлюз-2 -t message-processor --admin adminEmail --pwd adminPword --host localhost

        UUID появляются в конце возвращаемых данных. Сохраните эти значения.
      2. На узле сервера управления dc-1 для каждого процессора сообщений в dc-2 добавьте процессор сообщений в среду организации:
        > apigee-adminapi.sh серверы окружения организации add -o orgName -e envName -u UUID --admin adminEmail --pwd adminPword --host localhost
    3. На узле Management Server dc-1 проверьте организацию:
      > apigee-adminapi.sh orgs развертывания API -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      где apiProxyName — имя прокси-сервера API, развернутого в организации.