Außerbetriebnahme eines Rechenzentrums

Manchmal müssen Sie ein Rechenzentrum außer Betrieb nehmen. Wenn Sie beispielsweise Ihr Betriebssystem aktualisieren, müssen Sie das neue Betriebssystem in einem neuen Rechenzentrum installieren und das alte Rechenzentrum dann außer Betrieb nehmen. In den folgenden Abschnitten wird ein Beispiel für die Außerbetriebnahme einer Rechenzentrale mit zwei Rechenzentralen (dc-1 und dc-2) in einer Clusterinstallation mit 12 Knoten beschrieben:

  • dc-1 ist das Rechenzentrum, das stillgelegt werden soll.
  • dc-2 ist ein zweites Rechenzentrum, das im Stilllegungsverfahren verwendet wird.

Wenn Sie Ihr Betriebssystem aktualisieren, kann „dc-2“ das Rechenzentrum sein, in dem Sie die neue Version des Betriebssystems installiert haben. Die Installation eines neuen Betriebssystems ist jedoch nicht erforderlich, um ein Rechenzentrum außer Betrieb zu nehmen.

Überlegungen vor der Außerbetriebnahme eines Rechenzentrums

Beachten Sie beim Außerbetriebnehmen eines Rechenzentrums Folgendes:

  • Blockieren Sie den gesamten Laufzeit- und Verwaltungstraffic zum Rechenzentrum, das außer Betrieb genommen wird, und leiten Sie ihn an andere Rechenzentren weiter.
  • Nach der Stilllegung des Rechenzentrums haben Sie weniger Kapazität in Ihrem Apigee-Cluster. Um dies auszugleichen, sollten Sie die Kapazität in den verbleibenden Rechenzentren erhöhen oder nach der Außerbetriebnahme Rechenzentren hinzufügen.
  • Während der Außerbetriebnahme besteht das Risiko, dass Analysedaten verloren gehen. Das hängt davon ab, welche Analysekomponenten im Rechenzentrum installiert sind, das außer Betrieb genommen wird. Weitere Informationen finden Sie unter Qpid-Knoten hinzufügen oder entfernen.
  • Bevor Sie ein Rechenzentrum außer Betrieb nehmen, sollten Sie wissen, wie alle Komponenten in allen Rechenzentren konfiguriert sind, insbesondere die SymasLDAP-, ZooKeeper-, Cassandra- und Postgres-Server. Sie sollten auch Sicherungen aller Komponenten und ihrer Konfigurationen erstellen.

Vorbereitung

  • Verwaltungsserver: Alle Schritte zur Außerbetriebnahme hängen stark vom Verwaltungsserver ab. Wenn Sie nur einen Management Server haben, empfehlen wir, eine neue Management Server-Komponente in einem anderen Rechenzentrum als dc-1 zu installieren, bevor Sie den Management Server in dc-1 außer Betrieb nehmen. Achten Sie darauf, dass immer einer der Management Server verfügbar ist.
  • Router:Vor der Außerbetriebnahme eines Routers muss die Erreichbarkeit von Routern durch Blockieren des Ports 15999 deaktiviert werden. Achten Sie darauf, dass kein Laufzeit-Traffic an die Router weitergeleitet wird, die außer Betrieb genommen werden.
  • Cassandra und ZooKeeper: In den folgenden Abschnitten wird beschrieben, wie Sie dc-1 in einer Einrichtung mit zwei Rechenzentren außer Betrieb nehmen.

    Wenn Sie mehr als zwei Rechenzentren haben, müssen Sie alle Verweise auf den stillgelegten Knoten (in diesem Fall „dc-1“) aus allen automatischen Konfigurationsdateien in allen verbleibenden Rechenzentren entfernen. Entfernen Sie die Hosts der Cassandra-Knoten, die außer Betrieb genommen werden sollen, aus CASS_HOSTS. Die verbleibenden Cassandra-Knoten sollten in der ursprünglichen Reihenfolge von CASS_HOSTS bleiben.

  • Postgres:Wenn Sie den Postgres-Master außer Betrieb nehmen, müssen Sie einen der verfügbaren Standby-Knoten zum neuen Postgres-Master hochstufen. Der QPID-Server hält zwar einen Zwischenspeicher in der Warteschlange, aber wenn der Postgres-Master längere Zeit nicht verfügbar ist, besteht die Gefahr, dass Analysedaten verloren gehen.

Vorbereitung

  • Bevor Sie eine Komponente außer Betrieb nehmen, sollten Sie eine vollständige Sicherung aller Knoten erstellen. Verwenden Sie das Verfahren für Ihre aktuelle Version von Edge, um das Backup durchzuführen. Weitere Informationen zur Sicherung finden Sie unter Sichern und Wiederherstellen.

  • Prüfen Sie mit dem folgenden Befehl, ob Edge ausgeführt wird, bevor Sie die Außerbetriebnahme durchführen:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Achten Sie darauf, dass derzeit kein Laufzeittraffic im Rechenzentrum ankommt, das Sie außer Betrieb nehmen.

Reihenfolge der Außerbetriebnahme von Komponenten

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

  1. Neue Edge-Benutzeroberfläche (edge-management-ui und edge-management-ui-static)
  2. Management Server (edge-management-server)
  3. Symas LDAP (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 beschrieben, wie Sie die einzelnen Komponenten außer Betrieb nehmen.

Neue Edge-Benutzeroberfläche

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

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

Verwaltungsserver

So nehmen Sie den Management Server auf dc-1 außer Betrieb:

  1. Halten Sie den Management Server auf dc-1 an:
    apigee-service edge-management-server stop
  2. Suchen Sie die UUID des in dc-1 registrierten Management-Servers:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Typ des Servers, dessen Registrierung aufgehoben werden soll:
    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 auf diesem Server auch andere Komponenten installiert sind, müssen Sie zuerst alle abmelden, bevor Sie die UUID löschen.
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Deinstallieren Sie die Management Server-Komponente auf dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Symas LDAP

In diesem Abschnitt wird beschrieben, wie Sie SymasLDAP auf dc-1 außer Betrieb nehmen.

Hinweis: Wenn Sie mehr als zwei Rechenzentren haben, lesen Sie den Abschnitt Einrichtungen mit mehr als zwei Rechenzentren unten.

So stellen Sie SymasLDAP auf dc-1 außer Betrieb:

  1. Sichern Sie den dc-1-SymasLDAP-Knoten, indem Sie die Schritte unter Sicherung erstellen ausführen.
  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:
            /opt/symas/bin/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}mdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}mdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Führen Sie den Befehl ldapmodify aus:
            /opt/symas/bin/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}mdb,cn=config"
      modifying entry "olcDatabase={2}mdb,cn=config"
  3. Sie können prüfen, ob dc-2 nicht mehr nach dc-1 repliziert wird. Erstellen Sie dazu einen Eintrag im LDAP von dc-2 und prüfen Sie, ob er im LDAP von dc-1 nicht angezeigt wird.

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

    1. Erstellen Sie in dc-2 eine 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 den Nutzer mit dem Befehl „ldapadd“ in dc-2 hinzu:
      /opt/symas/bin/ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      Die Ausgabe sieht 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, um sicherzugehen, dass er nicht repliziert wird. Wenn der Nutzer nicht in dc-1 vorhanden ist, können Sie sicher sein, dass die beiden LDAP-Verzeichnisse nicht mehr repliziert werden:
      /opt/symas/bin/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:
      /opt/symas/bin/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. SymasLDAP in dc-1 beenden:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Deinstallieren Sie die SymasLDAP-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 wird der Router von dc-1 außer Betrieb genommen. Wenn in dc-1 mehrere Routerknoten konfiguriert sind, führen Sie die Schritte nacheinander auf allen Routerknoten aus.

Hinweis:Hier wird davon ausgegangen, dass der Systemdiagnoseport 15999 des Routers in Ihrem Load-Balancer konfiguriert ist und dass das Blockieren des Ports 15999 dazu führt, dass der Router nicht mehr erreichbar ist. 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 Port 15999, den Port für die Systemdiagnose, blockieren. Achten Sie darauf, dass der 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. Beenden Sie den Router:
    /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"

    Weitere Informationen finden Sie unter Pods.

  6. Heben Sie die Registrierung des Servertyps auf:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  7. Heben Sie die Registrierung des Servers auf:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. edge-router deinstallieren:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Siehe Server entfernen.
  9. Löschen 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 Processors finden Sie unter Server entfernen.

Da wir davon ausgehen, dass dc-1 eine Clusterinstallation mit 12 Knoten 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 Processor ab, wie unter UUIDs abrufen beschrieben.
  2. Beenden Sie den Message Processor:
    apigee-service edge-message-processor stop
  3. Heben Sie die Registrierung des Servertyps auf:
    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"
  4. Trennen Sie eine Umgebung vom Message Processor.
    curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Melden Sie den Servertyp ab:
    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 beschrieben, wie Sie Qpid Server (edge-qpid-server) und Qpidd (apigee-qpidd) außer Betrieb nehmen. In dc-1 sind zwei Qpid-Knoten konfiguriert. Sie müssen die folgenden Schritte also für beide Knoten ausführen:

  1. Rufen Sie die UUID für Qpidd ab, wie unter UUIDs abrufen beschrieben.
  2. Halten Sie edge-qpid-server und apigee-qpidd an:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Liste der Analyse- und Nutzergruppen abrufen:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Entfernen Sie Qpid aus der Nutzergruppe:
    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. Entfernen Sie Qpid aus der Analysegruppe:
    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. Melden Sie den Qpid-Server von der Edge-Installation ab:
    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, kann einen Postgres-Master oder einen Postgres-Standby enthalten. In den folgenden Abschnitten wird beschrieben, wie Sie sie außer Betrieb nehmen:

Postgres-Master außer Betrieb nehmen

Hinweis:Wenn Sie den Postgres-Master außer Betrieb nehmen, müssen Sie einen der verfügbaren Standby-Knoten zum neuen Postgres-Master hochstufen. Während die QPID-Warteschlangen Daten puffern, besteht das Risiko, dass Analysedaten verloren gehen, wenn der Postgres-Master für längere Zeit nicht verfügbar ist.

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

  1. Sichern Sie den Postgres-Masterknoten von dc-1, indem Sie der Anleitung unter den folgenden Links folgen:
  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 in 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 Postgres-Standby-Knoten haben, müssen Sie Hosteinträge auf dem neuen Master hinzufügen und die Replikationseinstellung für alle verfügbaren Postgres-Standby-Knoten aktualisieren.

    So fügen Sie dem neuen Postgres-Master Hosteinträge hinzu: Folgen Sie den Schritten im entsprechenden Abschnitt unten:

    Wenn nur noch ein Standby-Knoten vorhanden ist

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

    1. Bearbeiten Sie auf dem neuen Master die Konfigurationsdatei, um Folgendes festzulegen:
      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 verbleibt

    1. Fügen Sie die folgende Konfiguration in /opt/apigee/customer/application/postgresql.properties 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 dem 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 Stand-by-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 Standby-Knoten ein:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Prüfen Sie mit dem folgenden Befehl in dc-2, ob der Postgres-Master korrekt eingerichtet ist:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Entfernen und fügen Sie Postgresql-Server aus der Analytics-Gruppe 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 Vorhandenen Postgres-Server zu einer Analysegruppe hinzufügen.
    7. Melden Sie den alten Postgres-Server von dc-1 ab:
      curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server®ion=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 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: In der Dokumentation für eine Clusterinstallation mit 12 Knoten wird der dc-1-PostgreSQL-Knoten als Master angezeigt. Der Einfachheit halber wird in diesem Abschnitt jedoch davon ausgegangen, dass der dc-1-PostgreSQL-Knoten im Standby-Modus und der dc-2-PostgreSQL-Knoten der Master ist.

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

    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. PostgreSQL-Server aus der Analysegruppe und der Nutzergruppe entfernen und hinzufügen.
      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 Vorhandenen Postgres-Server zu einer Analysegruppe hinzufügen.
    4. Registrieren Sie den alten Postgres-Server von dc-1 ab:
      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 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 Sie ZooKeeper- und Cassandra-Server in einer Einrichtung mit zwei Rechenzentren außer Betrieb nehmen.

    Wenn Sie mehr als zwei Rechenzentren haben, müssen Sie alle Verweise auf den stillgelegten Knoten (in diesem Fall „dc-1“) aus allen automatischen Konfigurationsdateien in allen verbleibenden Rechenzentren entfernen. Entfernen Sie die Hosts für Cassandra-Knoten, die außer Betrieb genommen werden sollen, aus CASS_HOSTS. Die verbleibenden Cassandra-Knoten sollten in der ursprünglichen Reihenfolge von CASS_HOSTS bleiben.

    Hinweis zu ZooKeeper:Sie müssen ein Quorum von Voter-Knoten beibehalten, wenn Sie die Eigenschaft ZK_HOST in der Konfigurationsdatei ändern, damit das ZooKeeper-Ensemble funktionsfähig bleibt. Ihre Konfiguration muss eine ungerade Anzahl von Abstimmungsknoten enthalten. Weitere Informationen finden Sie unter Wartungsaufgaben für Apache ZooKeeper.

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

    1. Sichern Sie die Cassandra- und ZooKeeper-Knoten von dc-1. Folgen Sie dazu der Anleitung unter den folgenden Links:
    2. Listen Sie die UUIDs der ZooKeeper- und Cassandra-Server im 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. Melden Sie den Servertyp ab:
      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. Registrierung des Servers aufheben:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Aktualisieren Sie die Konfigurationsdatei mit den IP-Adressen der außer Betrieb genommenen Knoten, die aus ZK_HOSTS und CASS_HOSTS entfernt wurden.

      Beispiel: Angenommen, Sie haben die IPs $IP1 $IP2 $IP3 in dc-1 und $IP4 $IP5 $IP6 in dc-2 und Sie stellen dc-1 außer Betrieb. Entfernen Sie dann die IP-Adressen $IP1 $IP2 $IP3 aus den Konfigurationsdateien.

      • Vorhandene Einträge in der Konfigurationsdatei:
        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 Konfigurationsdatei für die automatische Konfiguration (in Schritt e geändert) mit den IP-Adressen der entfernten, außer Betrieb genommenen Knoten und führen Sie das Management Server-Profil auf allen Knoten aus, die Management Server hosten:
      /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, wobei die IP-Adressen der außer Betrieb genommenen Knoten aus der Antwortdatei entfernt werden:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Konfigurieren Sie alle Postgres-Knoten neu, wobei die IP-Adressen der außer Betrieb genommenen Knoten aus der Antwortdatei entfernt werden:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Schlüsselbereich system_auth ändern. Wenn die Cassandra-Authentifizierung auf einem vorhandenen Cassandra-Knoten aktiviert ist, aktualisieren Sie den Replikationsfaktor des system_auth-Schlüsselbereichs mit dem folgenden Befehl:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Mit diesem Befehl wird der Replikationsfaktor auf '3' festgelegt, was drei Cassandra-Knoten im Cluster bedeutet. Ändern Sie diesen Wert bei Bedarf.

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

    11. Nehmen Sie die Cassandra-Knoten in dc-1 nacheinander 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 von dc-1 mit einem der folgenden Befehle:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Oder sekundärer Bestätigungsbefehl, 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. Beenden Sie apigee-cassandra und apigee-zookeeper in dc-1:
      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 in der Organisation auf:
        curl -v -u  <AdminEmailID>:'<AdminPassword>' -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. So prüfen Sie, ob alle Bindungen entfernt wurden: Rufen Sie die UUIDs der Server ab, die den Pods zugeordnet sind:
        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 alle Bindungen durch die vorherigen Schritte entfernt und Sie können den nächsten Schritt überspringen. Andernfalls fahren Sie mit dem nächsten Schritt fort.

      3. Entfernen Sie alle Serverbindungen für die UUIDs, die Sie im vorherigen Schritt erhalten haben:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Trennen Sie die Organisation vom Pod:
        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. Pods löschen:
      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

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

    Anhang

    Fehlerbehebung

    Wenn nach den vorherigen Schritten noch Server in einigen Pods vorhanden sind, führen Sie die folgenden Schritte aus, um die Server abzumelden und 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

    Mit den folgenden Befehlen können Sie die Außerbetriebnahme validieren.

    Verwaltungsserver

    1. Führen Sie die folgenden Befehle auf den Verwaltungsservern in allen Regionen 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
    2. 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
    3. Analytics-Gruppe prüfen
      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
    4. Cassandra-/ZooKeeper-Knoten

      1. 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 diesen bestimmten Knoten zurückgegeben.

      2. 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.

      3. Geben Sie auf den ZooKeeper-Knoten 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 Wert von Mode, der vom oben genannten Befehl zurückgegeben wird, ist einer der folgenden: observer, leader oder follower.

      4. Führen Sie auf einem ZooKeeper-Knoten Folgendes aus:
        /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
      5. Führen Sie auf dem Postgres-Masterknoten den folgenden Befehl aus:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

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

      6. Führen Sie auf dem Stand-by-Knoten folgenden Befehl aus:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        Achten Sie darauf, dass die Antwort bestätigt, dass der Knoten der Standby-Knoten ist.

      7. Melden Sie sich mit dem folgenden Befehl in der PostgreSQL-Datenbank an:
        psql -h localhost -d apigee -U postgres

        Geben Sie bei Aufforderung das Passwort für den Nutzer postgres ein (Standard: postgres).

        Führen Sie dann die folgende Abfrage aus, um den maximalen client_received_start_timestamp-Wert zu prüfen:

        SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;

      Logs

      Prüfen Sie die Logs der Komponenten auf Fehler.