Auf dieser Seite finden Sie Schritte zur Fehlerbehebung bei einigen häufigen Problemen und Fehlern.
FAILED-Instanz
Der Status FAILED
bedeutet, dass die Instanzdaten verloren gegangen sind und die Instanz gelöscht werden muss.
Parallelstore-Instanzen im Status FAILED
werden weiterhin in Rechnung gestellt, bis sie gelöscht werden.
Eine Anleitung zum Abrufen des Status einer Instanz finden Sie unter Instanzen verwalten: Instanz abrufen.
Informationen zum Löschen einer Instanz finden Sie unter Instanzen verwalten: Instanz löschen.
Zeitüberschreitungen bei dfuse- oder Netzwerktests
Wenn beim Bereitstellen Ihrer Parallelstore-Instanz der Befehl dfuse -m
eine Zeitüberschreitung verursacht oder Netzwerktestbefehle wie self_test
oder daos health net-test
eine Zeitüberschreitung verursachen, hat der DAOS-Agent möglicherweise bei der Einrichtung die falsche Netzwerkschnittstelle ausgewählt.
Führen Sie zum Prüfen des DAOS-Agents Folgendes aus:
self_test --use-daos-agent-env -r 1
Wenn der Test ein Verbindungsproblem meldet, müssen Sie möglicherweise Netzwerkschnittstellen ausschließen, die die IP-Adressen in der Liste access_points
nicht erreichen können.
Führen Sie
ifconfig
aus, um die verfügbaren Netzwerkschnittstellen aufzulisten. Eine Beispielausgabe kann mehrere Netzwerkschnittstellen wieeth0
,docker0
,ens8
undlo
enthalten.Beenden Sie den daos_agent.
Bearbeiten Sie
/etc/daos/daos_agent.yml
, um die unerwünschten Netzwerkschnittstellen auszuschließen. Entfernen Sie die Kommentarzeichen in der Zeileexclude_fabric_ifaces
und aktualisieren Sie die Werte. Die von Ihnen angegebenen Einträge sind spezifisch für Ihre Situation. Beispiel:exclude_fabric_ifaces: ["docker0", "ens8", "lo"]
Starten Sie den daos_agent neu.
ENOSPC
, wenn in der Instanz ungenutzte Kapazität vorhanden ist
Wenn für Ihre Instanz ein minimaler oder (standardmäßig) ausgewogener Striped Storage verwendet wird, können ENOSPC
-Fehler auftreten, auch wenn die vorhandenen Dateien nicht die gesamte Kapazität der Instanz nutzen. Das ist wahrscheinlich beim Schreiben großer Dateien der Fall, die in der Regel größer als 8 GiB sind, oder beim Importieren solcher Dateien aus Cloud Storage.
Verwenden Sie das maximale Dateistreifen, um die Wahrscheinlichkeit dieser Fehler zu verringern.
Fehlerbehebung bei der Google Kubernetes Engine
Im folgenden Abschnitt werden einige häufige Probleme und Schritte zur Behebung aufgeführt.
Transport endpoint is not connected
in Arbeitslast-Pods
Dieser Fehler ist auf eine dünne Beendigung zurückzuführen. In den meisten Fällen wurde dfuse aufgrund von zu wenig Arbeitsspeicher beendet. Verwenden Sie die Pod-Anmerkungen gke-parallelstore/[cpu-limit|memory-limit]
, um dem Parallelstore-Sidecar-Container mehr Ressourcen zuzuweisen. Sie können gke-parallelstore/memory-limit: "0"
festlegen, um die Speicherbeschränkung für den Sidecar zu entfernen, wenn Sie nicht wissen, wie viel Arbeitsspeicher Sie ihm zuweisen möchten. Hinweis: Dies funktioniert nur mit Standardclustern. Bei Autopilot-Clustern können Sie den Wert 0
nicht verwenden, um die Ressourcenlimits und ‑anfragen des Sidecar-Containers zurückzusetzen. Sie müssen für den Sidecar-Container explizit ein größeres Ressourcenlimit festlegen.
Nachdem Sie die Anmerkungen geändert haben, müssen Sie den Arbeitslast-Pod neu starten. Wenn Sie einer laufenden Arbeitslast Anmerkungen hinzufügen, wird die Ressourcenzuweisung nicht dynamisch geändert.
Pod-Ereigniswarnungen
Wenn Ihre Arbeitslast-Pods nicht gestartet werden können, prüfen Sie die Pod-Ereignisse:
kubectl describe pod POD_NAME -n NAMESPACE
Die folgenden Lösungen gelten für häufige Fehler.
Probleme beim Aktivieren von CSI-Treibern
Häufige Fehler bei der Aktivierung von CSI-Treibern:
MountVolume.MountDevice failed for volume "volume" : kubernetes.io/csi:
attacher.MountDevice failed to create newCsiDriverClient:
driver name parallelstore.csi.storage.gke.io not found in the list of registered CSI drivers
MountVolume.SetUp failed for volume "volume" : kubernetes.io/csi:
mounter.SetUpAt failed to get CSI client:
driver name parallelstore.csi.storage.gke.io not found in the list of registered CSI drivers
Diese Warnungen geben an, dass der CSI-Treiber nicht aktiviert oder nicht ausgeführt wird.
Wenn Ihr Cluster gerade skaliert, aktualisiert oder umgestellt wurde, ist diese Warnung normal und sollte nur vorübergehend auftreten. Es dauert einige Minuten, bis die CSI-Treiber-Pods nach Cluster-Vorgängen funktionsfähig sind.
Andernfalls prüfen Sie, ob der CSI-Treiber in Ihrem Cluster aktiviert ist. Weitere Informationen finden Sie unter CSI-Treiber aktivieren. Wenn CSI aktiviert ist, wird auf jedem Knoten ein Pod mit dem Namen parallelstore-csi-node-id
angezeigt, der aktiv ist.
Fehler bei MountVolume.SetUp
Fehlercode | Pod-Ereigniswarnung | Lösung |
ResourceExhausted |
|
Der dfuse-Prozess wurde beendet. Das wird in der Regel durch OOM verursacht. Sie können das Arbeitsspeicherlimit des Sidecar-Containers mithilfe der Anmerkung gke-parallelstore/memory-limit erhöhen.
Wenn Sie sich nicht sicher sind, wie viel Arbeitsspeicher Sie dem Parallelstore-Sidecar zuweisen möchten, empfehlen wir, |
Abgebrochen |
|
Der Vorgang zum Bereitstellen des Volumes wurde aufgrund einer Ratenbeschränkung oder vorhandener Vorgänge abgebrochen. Diese Warnung ist normal und sollte nur vorübergehend angezeigt werden. |
InvalidArgument |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = InvalidArgument desc =
|
Wenn Sie in der StorageClass oder im Persistent Volume ungültige Argumente angegeben haben, werden im Fehlerprotokoll die Felder mit den ungültigen Argumenten angezeigt. Aktivieren Sie für die dynamische Bereitstellung die Option Speicherklasse. Aktivieren Sie für die statische Bereitstellung die Option Persistent Volume. |
FailedPrecondition |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = FailedPrecondition desc = can not find the sidecar
container in Pod spec
|
Der Parallelstore-Sidecar-Container wurde nicht bereitgestellt. Prüfen Sie, ob die Pod-Anmerkung gke-parallelstore/volumes: "true" richtig festgelegt ist.
|
Fehlerbehebung bei VPC-Netzwerken
Berechtigung zum Hinzufügen von Peering für Dienst servicenetworking.googleapis.com
verweigert
ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.
Dieser Fehler bedeutet, dass Sie für Ihr Nutzerkonto nicht die IAM-Berechtigung servicenetworking.services.addPeering
haben.
Eine Anleitung zum Hinzufügen einer der folgenden Rollen zu Ihrem Konto finden Sie unter Zugriffssteuerung mit IAM:
roles/compute.networkAdmin
oderroles/servicenetworking.networksAdmin
Die zugewiesenen Bereiche können in CreateConnection nicht geändert werden
ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection.
Dieser Fehler wird zurückgegeben, wenn Sie bereits ein VPC-Peering in diesem Netzwerk mit anderen IP-Bereichen erstellt haben. Es gibt zwei mögliche Lösungen:
Ersetzen Sie die vorhandenen IP-Bereiche:
gcloud services vpc-peerings update \
--network=NETWORK_NAME \
--ranges=IP_RANGE_NAME \
--service=servicenetworking.googleapis.com \
--force
Sie können den neuen IP-Bereich auch der vorhandenen Verbindung hinzufügen:
Rufen Sie die Liste der vorhandenen IP-Bereiche für das Peering ab:
EXISTING_RANGES=$( gcloud services vpc-peerings list \ --network=NETWORK_NAME \ --service=servicenetworking.googleapis.com \ --format="value(reservedPeeringRanges.list())" )
Fügen Sie dann dem Peering den neuen Bereich hinzu:
gcloud services vpc-peerings update \ --network=NETWORK_NAME \ --ranges=$EXISTING_RANGES,IP_RANGE_NAME \ --service=servicenetworking.googleapis.com
IP-Adressbereich aufgebraucht
Problem: Die Instanzerstellung schlägt mit dem Fehler „Bereich erschöpft“ fehl:
ERROR: (gcloud.alpha.Parallelstore.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
Lösung: Folgen Sie der VPC-Anleitung, um den IP-Bereich entweder neu zu erstellen oder den vorhandenen IP-Bereich zu erweitern.
Wenn Sie eine Parallelstore-Instanz neu erstellen, müssen Sie den IP-Bereich neu erstellen, anstatt ihn zu erweitern.