7.5. Ersetzen von Compute-Knoten

Falls ein Compute-Knoten fehlschlägt, können Sie diesen Knoten mit einem Funktionstüchtigen ersetzen. Einen Compute-Knoten ersetzen Sie mit dem folgenden Verfahren:
  • Arbeitsauslastung aus dem bestehenden Compute-Knoten migrieren
  • Bestehenden Compute-Knoten herunterfahren
  • Compute-Knoten aus dem Overcloud entfernen
  • Overcloud mit neuem Compute-Knoten skalieren
Dieser Prozess stellt sicher, dass ein Knoten ersetzt werden kann, ohne die Verfügbarkeit der VMs zu beeinträchtigen.

Prozedur 7.1. Einrichten von Schlüsseln

Alle Compute-Knoten erfordern einen freigegebenen SSH-Schlüssel, damit jeder Host nova Benutzer während dem Migrationsprozess Zugriff hat. Mit folgendem Prozess können Sie für jeden Compute-Knoten ein SSH-Schlüsselpaar einrichten.
  1. SSH-Schlüssel aktivieren:
    $ ssh-keygen -t rsa -f nova_id_rsa
    
  2. Bei jedem Compute-Knoten den SSH-Schlüssel ins nova Home-Verzeichnis des Benutzers kopieren.
  3. Logen Sie sich in jeden Compute-Knoten als nova Benutzer ein und führen Sie das folgende Skript aus um die Schlüssel einzurichten:
    NOVA_SSH=/var/lib/nova/.ssh
    mkdir ${NOVA_SSH}
    
    cp nova_id_rsa ${NOVA_SSH}/id_rsa
    chmod 600 ${NOVA_SSH}/id_rsa
    cp nova_id_rsa.pub ${NOVA_SSH}/id_rsa.pub
    cp nova_id_rsa.pub ${NOVA_SSH}/authorized_keys
    
    chown -R nova.nova ${NOVA_SSH}
    
    # enable login for nova user on compute hosts:
    usermod -s /bin/bash nova
    
    # add ssh keys of overcloud nodes into known hosts:
    ssh-keyscan -t rsa `os-apply-config --key hosts --type raw --key-default '' | awk '{print $1}'` >>/etc/ssh/ssh_known_hosts
    

Prozedur 7.2. Virtuelle Maschinen aus den Compute-Knoten migrieren

  1. Beziehen Sie overcloudrc aus dem Director und rufen Sie eine Liste der aktuellen Nova Dienste ab:
    $ source ~stack/overcloudrc
    $ nova service-list
    
  2. Zum Migrieren den nova-compute Dienst auf dem Knoten deaktivieren.
    $ nova service-disable [service-id] nova-compute
    
    Das verhindert, dass neue VMs darauf geplant werden.
  3. Prozess zur Migration der VMs aus dem Knoten starten:
    # nova host-servers-migrate [service-id]
    
  4. Der aktuelle Status des Migrationsprozesses kann mit folgendem Befehl abgefragt werden:
    # nova migration-list
    
  5. Wenn die Migration aller VMs abgeschlossen ist, wird ihr Status in Nova auf VERIFY_RESIZE geändert. Das gibt Ihnen die Möglichkeit den Abschluss der Migration zu bestätigen oder sie zurückzusetzen. Bestätigen Sie die Migration mit dem Befehl:
    # nova resize-confirm [server-name]
    
  6. Wenn schließlich alle Migrationen abgeschlossen und bestätigt sind, entfernen Sie den auf dem Compute-Knoten ausgeführten (aber deaktivierten) Dienst ganz aus Nova:
    # nova service-delete [service-id]
    
    Jetzt können Sie den Knoten neu starten oder herunterfahren (unter Verwendung des Ironic API), oder sogar komplett aus der Overcloud entfernen, indem Sie die Overcloud-Bereitstellung herunterskalieren.

Prozedur 7.3. Entfernen des Compute-Knotens aus der Overcloud

Prozedur 7.4. Skalieren der Overcloud mit einem neuen Compute-Knoten