Ersetzen von Zertifikaten für Netezza Performance Server Replication Services 3.0.X.X

Erfahren Sie, wie Sie Netezza Performance Server wechseln oder ablaufende Zertifikate erneuern können.

Informationen zu dieser Task

Wenn Sie Zertifikate ersetzen wollen, beachten Sie, dass eine Ausfallzeit erforderlich ist. Planen Sie das Verfahren entsprechend.

Vorgehensweise

  1. Deaktivieren Sie auf Cloud Pak for Data System die NRS-Überwachung durch Platform Manager.
    ap apps disable NRS
  2. Beenden Sie die Replikation wie unter Starten und Beenden der Replikation auf einem bestimmten Knoten beschrieben und kehren Sie zu diesem Verfahren zurück.
  3. Stoppen Sie alle Replikationssysteme auf allen Knoten.
    docker stop nrs_replmgmt nrs_broker nrs_mirrormaker nrs_zookeeper
  4. Bereiten Sie Ihre Zertifikate vor.
    • Selbst signierte Zertifikate generieren
      1. Wählen Sie ein Cloud Pak for Data System aus, von dem Sie die CA-Dateien (Certificate Authority) generieren möchten.
      2. Um neue Zertifikate zu erzeugen, erstellen Sie eine Passwortdatei für jeden Knoten.
        Zum Beispiel:
        echo -n PASSWORD > NODE PASSWORD FILE PATH
      3. Erstellen Sie ein Passwort für den Schlüssel der Zertifizierungsstelle ( cacert.pem ) und speichern Sie es unter password_file.
        echo -n PASSWORD > CAKEY PASSWORD FILE PATH

        Das Passwort darf keine führenden oder abschließenden Leerzeichen enthalten. Kennwörter mit führenden oder abschließenden Leerzeichen werden vom Skript nrscertmgr abgelehnt.

        Stellen Sie sicher, dass die Datei und die zugehörigen Zertifikate auf allen Systemen in einem bekannten Verzeichnis abgelegt sind, z. B. /root/mycerts.

        Tipp:

        Achten Sie darauf, dass Sie -n in den Befehl aufnehmen. Mit diesem Parameter hat die Kennwörterdatei keine abschließende neue Zeile. Mit einer neuen Zeile am Ende der Kennwortdatei kann die Einrichtung fehlschlagen.

      4. Führen Sie das Script nrscertmgr aus.
        nrscertmgr generate-cacert --passfile /path/to/cakey_password_file
        Beispiel:
        nrscertmgr generate-cacert --passfile /path/to/cakey_password_file
        
        Running command: 'openssl req -new -subj /C=US/ST=CA/CN=localhost -newkey rsa:4096 -nodes
                -sha256 -x509 -days 3650 -keyout cakey.pem -out cacert.pem -passin pass:***'
      5. Kopieren Sie cakey.pem, cacert.pem und cakey_password_file, die Sie in den Teilschritten b und c erstellt haben, in das andere Cloud Pak for Data System.

        Stellen Sie sicher, dass die Dateien auf allen Systemen in einem bekannten Verzeichnis abgelegt sind, zum Beispiel /root/mycerts.

    • Erzeugen von benutzerdefinierten Zertifikaten:
      1. Wählen Sie ein Cloud Pak for Data System aus, von dem Sie die CA-Dateien (Certificate Authority) generieren möchten.
      2. Erstellen Sie eine Datei index.yaml.
        Füllen Sie die Datei wie im Beispiel index.yaml aus:
        certs:
          cacert:
            cert: /path/to/cacert.pem
          nodes:
            replication-node-1.fqdn:
              cert: /path/to/rn1-ccertfile.pem
              key: /path/to/rn1-ckeyfile.pem
              password: /path/to/rn1-cpassword
            replication-node-2.fqdn:
              cert: /path/to/rn2-certfile.pem
              key: /path/to/rn2-ckeyfile.pem
              password: /path/to/rn2-cpassword

        Die Passwörter dürfen keine nachgestellten Leerzeichen enthalten. Verwenden Sie absolute Pfade.

      3. Kopieren Sie index.yaml, das Sie in Unterschritt b erstellt haben, in das andere Cloud Pak for Data System.

        Stellen Sie sicher, dass die Dateien auf allen Systemen in einem bekannten Verzeichnis abgelegt sind, zum Beispiel /root/mycerts.

  5. Stellen Sie die Zertifikate bereit.
    • Für selbstsignierte Zertifikate führen Sie aus:
      ./nrscertmgr add-node host_fqdn /path/to/cacert.pem /path/to/cakey.pem /path/to/password --cakey-passfile /path/to/cakey_password_file --out /tmp/certs --deploy
    • Für benutzerdefinierte Zertifikate führen Sie aus:
      ./nrscertmgr package-certs host_fqdn /path/to/index.yaml --out /tmp/certs --deploy
  6. Starten Sie auf jedem Knoten alle Container neu.
    docker restart nrs_replmgmt nrs_broker nrs_mirrormaker nrs_zookeeper
  7. Vergewissern Sie sich, dass nrs_broker läuft, denn es kann vorkommen, dass es nicht online geht.
    docker ps
    Beispiel:
    [root@exegeses1 certs]# docker ps
    
    CONTAINER ID   IMAGE                 COMMAND                  CREATED          STATUS          PORTS     NAMES
    9ce2b4fb8622   replmgmt:3.0.1.0      "/usr/bin/python3 /o…"   12 minutes ago   Up 12 minutes             nrs_replmgmt
    ea7a1492d199   mirrormaker:3.0.1.0   "/bin/sh -c $IBM_INS…"   12 minutes ago   Up 12 minutes             nrs_mirrormaker
    6214f5f44404   broker:3.0.1.0        "/bin/sh -c $IBM_INS…"   12 minutes ago   Up 12 minutes             nrs_broker
    d1ba0fbc54db   zookeeper:3.0.1.0     "/bin/sh -c $IBM_INS…"   12 minutes ago   Up 12 minutes             nrs_zookeeper
    Wenn nrs_broker nicht läuft, starten Sie es erneut:
    docker restart nrs_broker

    Wenn nrs_broker nach diesen Versuchen nicht angezeigt wird, stellen Sie sicher, dass die Zertifikate korrekt sind.

  8. Ersetzen Sie die Zertifikate von nzdr durch Ihre neuen Zertifikate.
    • Wenn Sie selbstsignierte Zertifikate verwenden, ersetzen Sie den Zertifizierungsschlüssel cacert in /opt/ibm/appliance/storage/nrs/nps/cert/cacert durch Ihren neuen cacert. Es ist die gleiche Datei, die Sie in Schritt 3 für /path/to/cacert.pem verwendet haben.
      cp /path/to/cacert /opt/ibm/appliance/storage/nrs/nps/cert/cacert

      Das Zertifikat und der Schlüssel müssen das generierte Zertifikat / den generierten Schlüssel für dieses spezielle System verwenden, das in /tmp/certs/ gespeichert ist.

      Beispiel:
      cp /tmp/cert/hostname for this system.pem /opt/ibm/appliance/storage/nrs/nps/cert/cert
      cp /tmp/cert/hostname for this system_key.pem /opt/ibm/appliance/storage/nrs/nps/cert/key
    • Wenn Sie benutzerdefinierte Zertifikate verwenden, ersetzen Sie die Informationen von cacert in index.yaml in /opt/ibm/appliance/storage/nrs/nps/cert/cacert durch die Informationen aus der Datei index.yaml, die Sie in Schritt 3 für /path/to/index.yaml verwendet haben.
      cp /path/to/cacert /opt/ibm/appliance/storage/nrs/nps/cert/cacert
      Beispiel:
      cp /path/to/cert for this system /opt/ibm/appliance/storage/nrs/nps/cert/cert
      cp /path/to/key for this system_key.pem /opt/ibm/appliance/storage/nrs/nps/cert/key
  9. Starten Sie die Replikation wie unter Starten und Stoppen der Replikation auf einem bestimmten Knoten beschrieben und kehren Sie zu diesem Verfahren zurück.
  10. Aktivieren Sie auf Cloud Pak for Data System die Überwachung durch Platform Manager.
    ap apps enable NRS