Außerbetriebnahme eines Rechenzentrums

Von Zeit zu Zeit kann es notwendig sein, ein Rechenzentrum außer Betrieb zu nehmen. Wenn Sie beispielsweise ein Upgrade Ihres Betriebssystems durchführen, müssen Sie das neue Betriebssystem in einem neuen Rechenzentrum installieren und dann das alte Rechenzentrum außer Betrieb nehmen. In den folgenden Abschnitten wird ein Beispiel für die Außerbetriebnahme eines Rechenzentrums mit zwei Rechenzentren, dc-1 und dc-2, in einer geclusterten Installation mit 12 Knoten dargestellt:

  • dc-1 ist das außer Betrieb genommene Rechenzentrum.
  • dc-2 ist ein zweites Rechenzentrum, das bei der Außerbetriebnahme verwendet wird.

Wenn Sie Ihr Betriebssystem aktualisieren, könnte dc-2 das Rechenzentrum sein, in dem Sie die neue Version des Betriebssystems installiert haben. Für die Außerbetriebnahme eines Rechenzentrums ist jedoch kein neues Betriebssystem erforderlich.

Überlegungen vor der Außerbetriebnahme eines Rechenzentrums

Beachten Sie bei der Außerbetriebnahme eines Rechenzentrums Folgendes:

  • Blockieren Sie sämtlichen Laufzeit- und Verwaltungstraffic zum Rechenzentrum, das außer Betrieb genommen wird, und leiten Sie sie an andere Rechenzentren weiter.
  • Nach der Außerbetriebnahme des Rechenzentrums haben Sie eine reduzierte Kapazität in Ihrem Apigee-Cluster. Als Ausgleich können Sie die Kapazität in den verbleibenden Rechenzentren erhöhen oder nach der Außerbetriebnahme weitere Rechenzentren hinzufügen.
  • Während der Außerbetriebnahme kann es zu einem Verlust von Analysedaten kommen, je nachdem, welche Analysekomponenten in dem außer Betrieb genommenen Rechenzentrum installiert sind. Weitere Informationen finden Sie unter Qpid-Knoten hinzufügen oder entfernen.
  • Bevor Sie ein Rechenzentrum außer Betrieb nehmen, sollten Sie sich damit vertraut machen, wie alle Komponenten in allen Rechenzentren konfiguriert sind, insbesondere die OpenLDAP-, ZooKeeper-, Cassandra- und Postgres-Server. Außerdem sollten Sie Sicherungen aller Komponenten und ihrer Konfigurationen erstellen.

Hinweis

  • Verwaltungsserver: Alle Schritte zur Außerbetriebnahme hängen stark vom Verwaltungsserver ab. Wenn nur ein Verwaltungsserver verfügbar ist, sollten Sie eine neue Verwaltungsserverkomponente in einem anderen Rechenzentrum als dc-1 installieren, bevor Sie den Verwaltungsserver auf dc-1 außer Betrieb nehmen. Achten Sie außerdem darauf, dass einer der Verwaltungsserver immer verfügbar ist.
  • Router: Deaktivieren Sie vor der Außerbetriebnahme eines Routers die Erreichbarkeit von Routern, indem Sie den Port 15999 blockieren. Achten Sie darauf, dass kein Laufzeit-Traffic an die außer Betrieb genommenen Router weitergeleitet wird.
  • Cassandra und ZooKeeper: In den folgenden Abschnitten wird beschrieben, wie dc-1 in einer Konfiguration mit zwei Rechenzentren außer Betrieb genommen wird. Wenn Sie mehr als zwei Rechenzentren haben, müssen Sie alle Verweise auf den außer Betrieb genommenen Knoten (in diesem Fall dc-1) aus allen Dateien der stillgelegten Konfiguration in allen verbleibenden Rechenzentren entfernen. Bei Cassandra-Knoten, die außer Betrieb genommen werden sollen, löschen Sie diese Hosts bei CASS_HOSTS. Die verbleibenden Cassandra-Knoten sollten die ursprüngliche Reihenfolge von CASS_HOSTS beibehalten.

  • Postgres: Wenn Sie einen Postgres-Master außer Betrieb nehmen, achten Sie darauf, einen der verfügbaren Standby-Knoten als neuen Postgres-Master hochzustufen. Während der QPID-Server einen Puffer in der Warteschlange hält, besteht die Gefahr, dass Analysedaten verloren gehen, wenn der Postgres-Master über einen längeren Zeitraum nicht verfügbar ist.

Voraussetzungen

  • Bevor Sie eine Komponente außer Betrieb nehmen, empfehlen wir, eine vollständige Sicherung aller Knoten durchzuführen. Verwenden Sie das Verfahren für Ihre aktuelle Edge-Version, um die Sicherung auszuführen. Weitere Informationen zum Sichern finden Sie unter Sichern und wiederherstellen.

    Hinweis: Wenn Sie mehrere Cassandra- oder ZooKeeper-Knoten haben, sichern Sie diese nacheinander, da ZooKeeper durch den Sicherungsprozess vorübergehend beendet wird.

  • Prüfen Sie mit dem folgenden Befehl, ob Edge vor der Außerbetriebnahme ausgeführt wird:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Achten Sie darauf, dass derzeit kein Laufzeittraffic in dem Rechenzentrum eingeht, das Sie außer Betrieb nehmen möchten.

Reihenfolge der Außerbetriebnahmekomponenten

Wenn Sie Edge für Private Cloud auf mehreren Knoten installieren, sollten Sie Edge-Komponenten auf diesen Knoten in der folgenden Reihenfolge außer Betrieb nehmen:

  1. Edge-UI (edge-ui)
  2. Verwaltungsserver (edge-management-server)
  3. OpenLDAP (Apigee-openldap)
  4. Router (Edge-Router)
  5. Message Processor (edge-message-processor)
  6. Qpid Server und Qpidd (edge-qpid-server und apigee-qpidd)
  7. Postgres- und PostgreSQL-Datenbank (edge-postgres-server und apigee-postgresql)
  8. ZooKeeper (Apigee-Zookeeper)
  9. Cassandra (Apigee-Cassandra)

In den folgenden Abschnitten wird erläutert, wie Sie die einzelnen Komponenten außer Betrieb nehmen.

Edge-Benutzeroberfläche

Geben Sie die folgenden Befehle ein, um die Edge-UI-Komponente von dc-1 zu beenden und zu deinstallieren:

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

Verwaltungsserver

Führen Sie die folgenden Schritte aus, um den Verwaltungsserver auf dc-1 außer Betrieb zu nehmen:

  1. Beenden Sie den Verwaltungsserver auf dc-1:
    apigee-service edge-management-server stop
  2. Ermitteln Sie die UUID des in dc-1 registrierten Verwaltungsservers:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Registrierung des Servertyps aufheben:
    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. Löschen Sie den Server. Hinweis:Wenn auch andere Komponenten auf diesem Server installiert sind, heben Sie zuerst die Registrierung aller Komponenten auf, bevor Sie die UUID löschen.
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Komponente des Verwaltungsservers auf dc-1 deinstallieren:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

LDAP öffnen

In diesem Abschnitt wird erläutert, wie Sie OpenLDAP auf dc-1 außer Betrieb nehmen.

Hinweis: Wenn Sie mehr als zwei Rechenzentren haben, finden Sie weitere Informationen unter Einrichtungen mit mehr als zwei Rechenzentren.

So nehmen Sie OpenLDAP auf dc-1 außer Betrieb:

  1. Sichern Sie den OpenLDAP-Knoten dc-1. Folgen Sie dazu den Schritten unter Sicherungen.
  2. Unterbrechen Sie die Datenreplikation zwischen den beiden Rechenzentren dc-1 und dc-2, indem Sie die folgenden Schritte in beiden Rechenzentren ausführen.

    1. Prüfen Sie den aktuellen Status:
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      Die Ausgabe sollte in etwa so aussehen:

      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. Erstellen Sie eine Datei break_repl.ldif mit den folgenden Befehlen:
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Führen Sie den Befehl ldapmodify aus:
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      Die Ausgabe sollte in etwa so aussehen:

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. Sie können prüfen, ob dc-2 nicht mehr auf dc-1 repliziert wird. Erstellen Sie dazu einen Eintrag im dc-2 LDAP und achten Sie darauf, dass er nicht im LDAP von dc-1 angezeigt wird.

    Optional können Sie die folgenden Schritte ausführen, um einen schreibgeschützten Nutzer im OpenLDAP-Knoten „dc-2“ zu erstellen und dann zu prüfen, ob der Nutzer repliziert wird oder nicht. Anschließend wird der Nutzer gelöscht.

    1. Erstellen Sie in dc-2 die Datei readonly-user.ldif mit folgendem Inhalt:
      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. Fügen Sie einen Nutzer mit dem Befehl „ldapadd“ in „dc-2“ hinzu:
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      Die Ausgabe sieht in etwa so aus:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. Suchen Sie in dc-1 nach dem Nutzer, damit er nicht repliziert wird. Wenn der Nutzer nicht in dc-1 vorhanden ist, werden keine beiden LDAPs mehr repliziert:
      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

      Die Ausgabe sollte in etwa so aussehen:

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Entfernen Sie den zuvor hinzugefügten Nutzer mit Lesezugriff:
      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 in dc-1 beenden:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Deinstallieren Sie die OpenLDAP-Komponente auf dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Router

In diesem Abschnitt wird erläutert, wie Sie einen Router außer Betrieb nehmen. Weitere Informationen zum Entfernen des Routers finden Sie unter Server entfernen.

Mit den folgenden Schritten nehmen Sie den Router von dc-1 außer Betrieb. Wenn in dc-1 mehrere Routerknoten konfiguriert sind, führen Sie die Schritte auf allen Routerknoten nacheinander aus

Hinweis: In diesem Fall wird davon ausgegangen, dass der Port 15999 für die Systemdiagnose des Routers in Ihrem Load-Balancer konfiguriert ist und dass der blockierende Port 15999 den Router nicht mehr erreichen kann. Möglicherweise benötigen Sie Root-Zugriff, um den Port zu blockieren.

So nehmen Sie einen Router außer Betrieb:

  1. Deaktivieren Sie die Erreichbarkeit von Routern, indem Sie den Port 15999 für die Systemdiagnose blockieren. Achten Sie darauf, dass Laufzeittraffic in diesem Rechenzentrum blockiert wird:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Prüfen Sie, ob der Router erreichbar ist:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    Die Ausgabe sollte in etwa so aussehen:

    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. Rufen Sie die UUID des Routers ab, wie unter UUIDs abrufen beschrieben.
  4. Halten Sie den Router an:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Listen Sie die verfügbaren Gateway-Pods in der Organisation mit dem folgenden Befehl auf:
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Siehe Informationen zu Pods.

  6. Registrierung des Servertyps aufheben:
    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. Löschen Sie den Server:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Deinstallieren Sie edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Weitere Informationen finden Sie unter Server entfernen.
  9. Leeren Sie die iptables-Regeln, um den blockierten Port 15999 zu aktivieren:
    iptables -F

Message Processor

In diesem Abschnitt wird beschrieben, wie Sie den Message Processor von dc-1 außer Betrieb nehmen. Weitere Informationen zum Entfernen des Message Processor finden Sie unter Server entfernen.

Da wir davon ausgehen, dass dc-1 eine geclusterte 12-Knoten-Installation hat, sind in dc-1 zwei Message Processor-Knoten konfiguriert. Führen Sie die folgenden Befehle auf beiden Knoten aus.

  1. Rufen Sie die UUIDs der Message Processors ab, wie unter UUIDs abrufen beschrieben.
  2. Beenden Sie den Message Processor:
    apigee-service edge-message-processor stop
  3. Registrierung des Servertyps aufheben:
    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. Registrierung des Servertyps aufheben:
    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. Deinstallieren Sie den Message Processor:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Heben Sie die Registrierung des Servers auf:
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

QPID-Server und Qpidd

In diesem Abschnitt wird erläutert, wie Sie den Qpid-Server (edge-qpid-server) und den Qpidd (apigee-qpidd) außer Betrieb nehmen. In dc-1 sind zwei Qpid-Knoten konfiguriert, sodass Sie die folgenden Schritte für beide Knoten ausführen müssen:

  1. Rufen Sie die UUID für Qpidd ab, wie unter UUIDs abrufen beschrieben.
  2. edge-qpid-server und apigee-qpidd anhalten:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Rufen Sie eine Liste mit Analytics- und Nutzergruppen ab:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Qpid aus der Nutzergruppe entfernen:
    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 aus der Analysegruppe entfernen:
    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. Heben Sie die Registrierung des Qpid-Servers in der Edge-Installation auf:
    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. Entfernen Sie den Qpid-Server aus der Edge-Installation:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Starten Sie alle Edge-qpid-server-Komponenten auf allen Knoten neu, damit die Änderung von diesen Komponenten übernommen wird:
    $ /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. Deinstallieren Sie Edge-qpid-server und apigee-qpidd:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres und Postgresql

Das Rechenzentrum, das Sie außer Betrieb nehmen, könnte einen Postgres-Master oder einen Postgres-Standby-Modus haben. In den folgenden Abschnitten wird die Außerbetriebnahme erläutert:

Postgres-Master außer Betrieb nehmen

Hinweis: Wenn Sie einen Postgres-Master außer Betrieb nehmen, müssen Sie einen der verfügbaren Standby-Knoten als neuen Postgres-Master hochstufen. Während QPID Pufferdaten in eine Warteschlange stellt, besteht die Gefahr, dass Analysedaten verloren gehen, wenn der Postgres-Master längere Zeit nicht verfügbar ist.

So nehmen Sie den Postgres-Master außer Betrieb:

  1. Sichern Sie den Postgres-Masterknoten "dc-1". Folgen Sie dazu der Anleitung unter den folgenden Links:
  2. Rufen Sie die UUIDs der Postgres-Server ab, wie unter UUIDs abrufen beschrieben.
  3. Beenden Sie auf dc-1 edge-postgres-server und apigee-postgresql auf dem aktuellen Master:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. Geben Sie auf dem Standby-Knoten auf dc-2 den folgenden Befehl ein, um ihn zum Masterknoten zu machen:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Hinweis: Wenn Sie mehr als einen Standby-Postgres-Knoten haben, müssen Sie auf dem neuen Master Hosteinträge hinzufügen und die Replikationseinstellung für alle verfügbaren Postgres-Standby-Knoten aktualisieren.

    Führen Sie die Schritte im entsprechenden Abschnitt unten aus, um dem neuen Postgres-Master Hosteinträge hinzuzufügen:

    Wenn nur ein Standby-Knoten übrig ist

    Angenommen, vor der Außerbetriebnahme wurden drei Postgres-Knoten konfiguriert. Sie haben den vorhandenen Master außer Betrieb genommen und einen der verbleibenden Postgres-Standby-Knoten auf den Master hochgestuft. Konfigurieren Sie den verbleibenden Standby-Knoten mit den folgenden Schritten:

    1. Bearbeiten Sie auf dem neuen Master die Konfigurationsdatei und legen Sie Folgendes fest:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. Aktivieren Sie die Replikation auf dem neuen Master:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    Wenn mehr als ein Standby-Knoten vorhanden ist

    1. Fügen Sie in /opt/apigee/customer/application/postgresql.properties die folgende Konfiguration hinzu:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Achten Sie darauf, dass die Datei /opt/apigee/customer/application/postgresql.properties einem Apigee-Nutzer gehört:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Starten Sie apigee-postgresql neu:
      apigee-service apigee-postgresql restart
    4. So aktualisieren Sie die Replikationseinstellungen auf einem Standby-Knoten:

      1. Ändern Sie die Konfigurationsdatei /opt/silent.conf und aktualisieren Sie das Feld PG_MASTER mit der IP-Adresse des neuen Postgres-Masters.
      2. Entfernen Sie alle alten Postgres-Daten mit dem folgenden Befehl:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Richten Sie die Replikation auf dem Stand-by-Knoten ein:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Prüfen Sie, ob der Postgres-Master korrekt eingerichtet ist. Geben Sie dazu den folgenden Befehl in „dc-2“ ein:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Entfernen Sie Postgresql-Server und fügen Sie sie aus der Analysegruppe und der Nutzergruppe hinzu.
      1. Entfernen Sie den alten Postgres-Server aus der Analysegruppe. Folgen Sie dazu der Anleitung unter Postgres-Server aus einer Analysegruppe entfernen.
      2. Fügen Sie der Analysegruppe einen neuen Postgres-Server hinzu. Folgen Sie dazu der Anleitung unter Bestehenden Postgres-Server zu einer Analysegruppe hinzufügen.
    7. Heben Sie die Registrierung des alten Postgres-Servers von dc-1 auf:
      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. Löschen Sie den alten Postgres-Server aus dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. Der alte Postgres-Master kann jetzt sicher außer Betrieb genommen werden. Deinstallieren Sie edge-postgres-server und 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 außer Betrieb nehmen

    Hinweis: Die Dokumentation für eine geclusterte Installation mit 12 Knoten zeigt den dc-1 postgresql-Knoten als Master. Der Einfachheit halber wird in diesem Abschnitt jedoch davon ausgegangen, dass der dc-1 postgresql-Knoten Standby und der dc-2 postgresql-Knoten ein Master ist.

    Führen Sie die folgenden Schritte aus, um den Postgres-Standby-Modus außer Betrieb zu nehmen:

    1. Rufen Sie die UUIDs der Postgres-Server ab. Folgen Sie dazu der Anleitung unter UUIDs abrufen.
    2. Beenden Sie apigee-postgresql auf dem aktuellen Standby-Knoten in dc-1:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Entfernen Sie Postgresql-Server und fügen Sie sie aus der Analysegruppe und der Nutzergruppe hinzu.
      1. Entfernen Sie den alten Postgres-Server aus der Analysegruppe. Folgen Sie dazu der Anleitung unter Postgres-Server aus einer Analysegruppe entfernen.
      2. Fügen Sie der Analysegruppe einen neuen Postgres-Server hinzu. Folgen Sie dazu der Anleitung unter Bestehenden Postgres-Server zu einer Analysegruppe hinzufügen.
    4. Heben Sie die Registrierung des alten Postgres-Servers von dc-1 auf:
      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. Löschen Sie den alten Postgres-Server aus dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. Der alte Postgres-Master kann jetzt sicher außer Betrieb genommen werden. Deinstallieren Sie edge-postgres-server und apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    ZooKeeper und Cassandra

    In diesem Abschnitt wird erläutert, wie ZooKeeper- und Cassandra-Server in einer Konfiguration mit zwei Rechenzentren außer Betrieb genommen werden.

    Wenn Sie mehr als zwei Rechenzentren haben, müssen Sie alle Verweise auf den außer Betrieb genommenen Knoten (in diesem Fall dc-1) aus allen Dateien der stillgelegten Konfiguration in allen verbleibenden Rechenzentren entfernen. Bei Cassandra-Knoten, die außer Betrieb genommen werden sollen, löschen Sie diese Hosts bei CASS_HOSTS. Die verbleibenden Cassandra-Knoten sollten die ursprüngliche Reihenfolge von CASS_HOSTS beibehalten.

    Hinweis zu ZooKeeper:Sie müssen ein Quorum von Voterknoten aufrechterhalten, wenn Sie das Attribut ZK_HOST in der Konfigurationsdatei ändern, damit das ZooKeeper-Ensemble funktioniert. Ihre Konfiguration muss eine ungerade Anzahl von Wählerknoten enthalten. Weitere Informationen finden Sie unter Apache ZooKeeper-Wartungsaufgaben.

    So nehmen Sie ZooKeeper- und Cassandra-Server außer Betrieb:

    1. Sichern Sie die dc-1 Cassandra- und ZooKeeper-Knoten. Folgen Sie dazu der Anleitung unter den folgenden Links:
    2. Listen Sie die UUIDs der ZooKeeper- und Cassandra-Server in dem Rechenzentrum auf, in dem die Cassandra-Knoten außer Betrieb genommen werden sollen.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Registrierung des Servertyps aufheben:
      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. Heben Sie die Registrierung des Servers auf:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Aktualisieren Sie die Konfigurationsdatei und entfernen Sie die IP-Adressen der außer Betrieb genommenen Knoten aus ZK_HOSTS und CASS_HOSTS.

      Beispiel: Angenommen, Sie haben die IP-Adressen $IP1 $IP2 $IP3 in dc-1 und $IP4 $IP5 $IP6 in dc-2 und Sie nehmen dc-1 außer Betrieb. Anschließend sollten Sie die IP-Adressen $IP1 $IP2 $IP3 aus den Konfigurationsdateien entfernen.

      • Vorhandene Konfigurationsdateieinträge:
        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”
      • Neue Einträge in der Konfigurationsdatei:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Aktualisieren Sie die Datei für die stille Konfiguration (in Schritt e geändert) mit den IP-Adressen der entfernten außer Betrieb genommenen Knoten und führen Sie das Verwaltungsserverprofil auf allen Knoten aus, auf denen Verwaltungsserver gehostet werden:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Aktualisieren Sie die Konfigurationsdatei mit den IP-Adressen der entfernten außer Betrieb genommenen Knoten und führen Sie das MP/RMP-Profil auf allen Router- und Message Processor-Knoten aus:
      • Wenn Edge Router und Message Processor auf demselben Knoten konfiguriert sind, geben Sie Folgendes ein:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Wenn Edge Router und Message Processor auf separaten Knoten konfiguriert sind, geben Sie Folgendes ein:

        Für den Router:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Für den Message Processor:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Konfigurieren Sie alle Qpid-Knoten neu und entfernen Sie dabei die IP-Adressen der außer Betrieb genommenen Knoten aus der Antwortdatei:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Konfigurieren Sie alle Postgres-Knoten neu und entfernen Sie dabei die IP-Adressen der außer Betrieb genommenen Knoten aus der Antwortdatei:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Schlüsselraum system_auth ändern. Wenn Sie Cassandra-Auth auf einem vorhandenen Cassandra-Knoten aktiviert haben, aktualisieren Sie den Replikationsfaktor des Schlüsselraums system_auth mit dem folgenden Befehl:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Dieser Befehl setzt den Replikationsfaktor auf '3' und gibt drei Cassandra-Knoten im Cluster an. Ändern Sie diesen Wert nach Bedarf.

      Nach Abschluss dieses Schritts sollte die Cassandra-Topologie in keinem der Schlüsselbereiche dc-1 enthalten.

    11. Fahren Sie nacheinander die Cassandra-Knoten auf dc-1 außer Betrieb.

      Geben Sie den folgenden Befehl ein, um die Cassandra-Knoten außer Betrieb zu nehmen:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. Prüfen Sie die Verbindung der Cassandra-Knoten über dc-1 mit einem der folgenden Befehle:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Oder sekundärer Verifizierungsbefehl, der auf dem außer Betrieb genommenen Knoten ausgeführt werden soll:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      Der obige Befehl sollte Folgendes zurückgeben:

      Mode: DECOMMISSIONED

    13. Führen Sie das DS-Profil für alle Cassandra- und ZooKeeper-Knoten in dc-2 aus:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. apigee-cassandra und apigee-zookeeper in dc-1 beenden:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Deinstallieren Sie apigee-cassandra und apigee-zookeeper in dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Bindungen aus dc-1 löschen

    So löschen Sie die Bindungen aus dc-1:

    1. Löschen Sie die Bindungen aus dc-1.
      1. Listen Sie alle verfügbaren Pods unter der Organisation
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
        auf.
      2. Rufen Sie die UUIDs der mit den Pods verknüpften Server ab, um zu prüfen, ob alle Bindungen entfernt wurden:
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        Wenn dieser Befehl keine UUIDs zurückgibt, wurden durch die vorherigen Schritte alle Bindungen entfernt und Sie können den nächsten Schritt überspringen. Andernfalls führen Sie den nächsten Schritt aus.

      3. Entfernen Sie alle Serverbindungen für die UUIDs, die im vorherigen Schritt abgerufen wurden:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Verknüpfung der Organisation mit dem Pod aufheben:
        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. Löschen Sie die Pods:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Löschen Sie die Region.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    Hinweis: Wenn Sie einen der Schritte zum Löschen der Server auslassen, wird im obigen Schritt die Fehlermeldung zurückgegeben, dass ein bestimmter Server im Pod noch vorhanden ist. Führen Sie die folgenden Schritte zur Fehlerbehebung aus und passen Sie die Typen im Befehl curl an, um sie zu löschen.

    Sie haben die Außerbetriebnahme von dc-1 abgeschlossen.

    Anhang

    Fehlerbehebung

    Wenn nach der Ausführung der vorherigen Schritte noch Server in einigen Pods vorhanden sind, führen Sie die folgenden Schritte aus, um die Registrierung aufzuheben und die Server zu löschen. Hinweis: Ändern Sie die Typen und den Pod nach Bedarf.

    1. Rufen Sie die UUIDs mit dem folgenden Befehl ab:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Registrierung des Servertyps aufheben:
      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. Löschen Sie die Server einzeln:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Validierung

    Sie können die Außerbetriebnahme mit den folgenden Befehlen prüfen.

    Verwaltungsserver

    Führen Sie auf den Verwaltungsservern in allen Regionen die folgenden Befehle aus.

    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

    Führen Sie den folgenden Befehl für alle Komponenten aus, um die Portanforderungen für alle Verwaltungsports zu prüfen.

    curl -v http://MS_IP:8080/v1/servers/self

    Prüfen Sie die Analysegruppe.

    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-Knoten

    Geben Sie auf allen Cassandra-Knoten Folgendes ein:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    Dadurch wird der Status running oder not running für den jeweiligen Knoten zurückgegeben.

    Geben Sie auf einem Knoten Folgendes ein:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    Die obigen Befehle geben Informationen zu aktiven Rechenzentren zurück.

    Bei ZooKeeper-Knoten geben Sie zuerst Folgendes ein:

    echo ruok | nc <host> 2181

    Dieser Befehl gibt imok zurück.

    Geben Sie als Nächstes Folgendes ein:

    echo stat | nc <host> 2181 | grep Mode

    Der vom obigen Befehl zurückgegebene Wert von Mode ist einer der folgenden: observer, leader oder follower.

    In einem ZooKeeper-Knoten:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    Führen Sie auf dem Postgres-Masterknoten folgenden Befehl aus:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Prüfen Sie, ob in der Antwort angegeben wird, dass der Knoten der Master ist.

    Auf dem Standby-Knoten:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Prüfen Sie, ob in der Antwort angegeben ist, dass der Knoten der Standby-Knoten ist.

    Melden Sie sich mit dem Befehl in der PostgreSQL-Datenbank an

    psql -h localhost -d apigee -U postgres

    Wenn Sie dazu aufgefordert werden, geben Sie als Nutzerpasswort „postgres“ 'postgres' ein. Wähle in Analytics max(client_received_start_timestamp) aus.

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

    Logs

    Prüfen Sie die Protokolle der Komponenten, um sicherzustellen, dass keine Fehler vorliegen.