NFS-Volumes als vSphere-Datenspeicher in VMware Engine verwenden
Auf dieser Seite wird beschrieben, wie Sie NFS-Volumes als vSphere-Datenspeicher in VMware Engine verwenden. Sie können NFS-Datenspeicher, die von Filestore-Instanzen, Google Cloud NetApp Volumes-Volumes oder NFS-Freigaben von Drittanbietern unterstützt werden, mit der VMware Engine API, der Google Cloud CLI oder Terraform erstellen und verwalten.
Der API-Endpunkt ist vmwareengine.googleapis.com. API- und gcloud CLI-Vorgänge zum Erstellen, Aktualisieren, Löschen, Einbinden und Aushängen von Datastores sind asynchron. Wenn Sie einen dieser Vorgänge starten, gibt VMware Engine ein Vorgangsobjekt zurück, mit dem Sie den Status Ihrer Anfrage verfolgen können.
Vorgang überwachen
Verwenden Sie die API oder die gcloud CLI, um den Status eines Vorgangs zu verfolgen.
API
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Standort des Vorgangs.OPERATION_ID: Die ID des Vorgangs, der verfolgt wird.
gcloud
gcloud vmware operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Standort des Vorgangs.OPERATION_ID: Die ID des Vorgangs, der verfolgt wird.
NFS-Datenspeicher erstellen
Wenn Sie einen Datastore erstellen möchten, der von einer Filestore-Instanz, einem Google Cloud NetApp Volumes-Volume oder einer NFS-Freigabe eines Drittanbieters unterstützt wird, verwenden Sie Terraform, die API oder die gcloud CLI. Wenn Sie einen Datenspeicher mit der API erstellen möchten, senden Sie die folgende POST-Anfrage:
POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores?datastoreId=DATASTORE_ID
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Speicherort für Datastore.DATASTORE_ID: Der Name Ihres Datastore.
Der Anfragetext muss ein JSON-Objekt sein, das die Details des NFS-Volumes enthält, das den Datastore unterstützt.
description: (Optional) Eine kurze Beschreibung Ihres Datastore.nfs_datastore(erforderlich): Ein Container für die NFS-Datenspeicherkonfiguration.
Filestore
In den folgenden Abschnitten wird beschrieben, wie Sie einen Datastore mit Filestore-Unterstützung über die API, die gcloud CLI oder Terraform erstellen.
API
Geben Sie für einen Datastore, der von Filestore unterstützt wird, Folgendes in google_file_service an:
filestore_instance: (Erforderlich) Der vollständige Ressourcenname der Filestore-Instanz im Formatprojects/{project}/locations/{location}/instances/{instance}.
Beispiel für einen Anfragetext:
{
"description": "Filestore Datastore example",
"nfs_datastore": {
"google_file_service": {
"filestore_instance": "projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME"
}
}
}
Ersetzen Sie Folgendes:
FILESTORE_PROJECT_ID: Die Projekt-ID, in der sich Ihre Filestore-Instanz befindet.LOCATION: Der Standort der Filestore-Instanz. Dieser Wert muss mit dem in der Anfrage-URL angegebenen Datenspeicherort übereinstimmen.INSTANCE_NAME: Der Name Ihrer Filestore-Instanz.
gcloud
gcloud vmware datastores create DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--filestore=projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name Ihres Datastore.LOCATION: Der Speicherort für die Datastore- und die Filestore-Instanz.PROJECT_ID: Ihre Google Cloud Projekt-IDFILESTORE_PROJECT_ID: Die Projekt-ID, in der sich Ihre Filestore-Instanz befindet.INSTANCE_NAME: Der Name Ihrer Filestore-Instanz.
Terraform
Weitere Informationen finden Sie in der Terraform-Ressource google_vmwareengine_datastore.
resource "google_vmwareengine_datastore" "DATASTORE_ID" {
name = "DATASTORE_ID"
location = "LOCATION"
description = "DESCRIPTION"
nfs_datastore {
google_file_service {
filestore_instance = "projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME"
}
}
}
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name Ihres Datastore.LOCATION: Der Speicherort für die Datastore- und die Filestore-Instanz.DESCRIPTION: Eine Beschreibung für Datastore.FILESTORE_PROJECT_ID: Die Projekt-ID, in der sich Ihre Filestore-Instanz befindet.INSTANCE_NAME: Der Name Ihrer Filestore-Instanz.
Google Cloud NetApp Volumes
In den folgenden Abschnitten wird beschrieben, wie Sie einen Datastore erstellen, der von Google Cloud NetApp Volumes unterstützt wird, indem Sie die API oder die gcloud CLI verwenden.
API
Geben Sie für einen Datastore, der von Google Cloud NetApp Volumes unterstützt wird, Folgendes in google_file_service an:
netapp_volume(Erforderlich): Der vollständige Ressourcenname des Google Cloud NetApp Volumes-Volumes im Formatprojects/{project}/locations/{location}/volumes/{volume}.
Beispiel für einen Anfragetext:
{
"description": "NetApp Volumes Datastore example",
"nfs_datastore": {
"google_file_service": {
"netapp_volume": "projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME"
}
}
}
Ersetzen Sie Folgendes:
NETAPP_PROJECT_ID: Die Projekt-ID, in der sich Ihr Google Cloud NetApp Volumes-Volume befindet.LOCATION: Der Speicherort des Google Cloud NetApp Volumes-Volumes. Dieser Wert muss mit dem in der Anfrage-URL angegebenen Datenspeicherort übereinstimmen.VOLUME_NAME: Der Name Ihres Google Cloud NetApp Volumes-Volumes.
gcloud
gcloud vmware datastores create DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--netapp=projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name Ihres Datastore.LOCATION: Der Speicherort für den Datastore und das Google Cloud NetApp Volumes-Volume.PROJECT_ID: Ihre Google Cloud Projekt-IDNETAPP_PROJECT_ID: Die Projekt-ID, in der sich Ihr Google Cloud NetApp Volumes-Volume befindet.VOLUME_NAME: Der Name Ihres Google Cloud NetApp Volumes-Volumes.
Terraform
Weitere Informationen finden Sie in der Terraform-Ressource google_vmwareengine_datastore.
resource "google_vmwareengine_datastore" "DATASTORE_ID" {
name = "DATASTORE_ID"
location = "LOCATION"
description = "DESCRIPTION"
nfs_datastore {
google_file_service {
netapp_volume = "projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME"
}
}
}
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name Ihres Datastore.LOCATION: Der Speicherort für den Datastore und das Google Cloud NetApp Volumes-Volume.DESCRIPTION: Eine Beschreibung für Datastore.NETAPP_PROJECT_ID: Die Projekt-ID, in der sich Ihr Google Cloud NetApp Volumes-Volume befindet.VOLUME_NAME: Der Name Ihres Google Cloud NetApp Volumes-Volumes.
NFS von Drittanbietern
In den folgenden Abschnitten wird beschrieben, wie Sie einen Datastore erstellen, der von einer NFS-Freigabe eines Drittanbieters unterstützt wird, indem Sie die API oder die gcloud CLI verwenden.
API
Geben Sie für einen Datastore, der von einer NFS-Freigabe eines Drittanbieters unterstützt wird, Folgendes in nfs_datastore an:
third_party_nfs: (Erforderlich) Enthält die Konfiguration für NFS von Drittanbietern.network:Der Name des VPC-Netzwerk im Formatprojects/{project}/global/networks/{network}.file_share:Der Name der Dateifreigabe.servers:Eine Liste von Server-IP-Adressen.
Der Anfragetext sieht etwa so aus:
{
"description": "Third-party NFS Datastore example",
"nfs_datastore": {
"third_party_nfs": {
"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME",
"file_share": "FILE_SHARE_NAME",
"servers": ["SERVER_ADDRESS_1"]
}
}
}
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDNETWORK_NAME: Der Name des VPC-Netzwerk für den NFS-Datenspeicher eines Drittanbieters.FILE_SHARE_NAME: Der Name der Dateifreigabe für den NFS-Datenspeicher eines Drittanbieters.SERVER_ADDRESS_1: Eine Server-IP-Adresse für den NFS-Datastore des Drittanbieters. Fügen Sie der Liste bei Bedarf weitere Adressen hinzu.
gcloud
gcloud vmware datastores create DATASTORE_ID \
--third-party-nfs-network=NETWORK_NAME \
--third-party-nfs-file-share=FILE_SHARE_NAME \
--third-party-nfs-servers=SERVER_ADDRESSES \
--location=LOCATION --project=PROJECT_ID
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name Ihres Datastore.NETWORK_NAME: Der Name des VPC-Netzwerk für den NFS-Datenspeicher eines Drittanbieters.FILE_SHARE_NAME: Der Name der Dateifreigabe für den NFS-Datenspeicher eines Drittanbieters.SERVER_ADDRESSES: Eine durch Kommas getrennte Liste von Server-IP-Adressen für den NFS-Datenspeicher von Drittanbietern.LOCATION: Der Speicherort für Datastore.PROJECT_ID: Ihre Google Cloud Projekt-ID
Datenspeicher auflisten oder abrufen
Wenn Sie alle Datastores für ein bestimmtes Projekt und einen bestimmten Standort auflisten möchten, verwenden Sie die gcloud CLI oder senden Sie eine GET-Anfrage:
API
Wenn Sie alle Datastores für ein bestimmtes Projekt und einen bestimmten Standort auflisten möchten, senden Sie eine GET-Anfrage:
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores
Wenn Sie Details zu einem bestimmten Datastore abrufen möchten, stellen Sie eine GET-Anfrage:
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Speicherort des Datastore.DATASTORE_ID: Der Name des Datastore.
gcloud
Verwenden Sie den Befehl gcloud vmware datastores list, um alle Datastores für ein bestimmtes Projekt und einen bestimmten Standort aufzulisten:
gcloud vmware datastores list \
--location=LOCATION --project=PROJECT_ID
Verwenden Sie den Befehl gcloud vmware datastores describe, um Details zu einem bestimmten Datastore abzurufen:
gcloud vmware datastores describe DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID
Ersetzen Sie Folgendes:
LOCATION: Der Speicherort des Datastore.PROJECT_ID: Ihre Google Cloud Projekt-IDDATASTORE_ID: Der Name des Datastore.
Datastore einbinden
Nachdem Sie einen Datastore erstellt haben, müssen Sie ihn in einem vSphere-Cluster bereitstellen, damit er für ESXi-Hosts verfügbar ist. Verwenden Sie die gcloud CLI, die API oder Terraform, um einen NFS-Datenspeicher zu mounten.
API
POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID:mountDatastore
Beispiel für einen Anfragetext:
{
"datastore_mount_config": {
"datastore": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID",
"datastore_network": {
"subnet": "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/subnets/SERVICE_SUBNET_NAME",
"connection_count": 4
},
"access_mode": "READ_WRITE",
"nfs_version": "NFS_V3"
}
}
datastore:Der Ressourcenname des bereitzustellenden Datastore.subnet:Der Ressourcenname des Dienstsubnetzes, das für NFS-Traffic verwendet werden soll.connection_count: (Optional) Die Anzahl der Verbindungen. Der Standardwert ist4.access_mode: (Optional) Der Zugriffsmodus,READ_WRITEoderREAD_ONLY. Standardwert istREAD_WRITE.nfs_version: (Optional) Die NFS-Version. Der Standardwert istNFS_V3.
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Standort der Ressourcen.PRIVATE_CLOUD_ID: Der Name der Private Cloud.CLUSTER_IDist der Name des Clusters.DATASTORE_ID: Der Name des Datastore, der bereitgestellt werden soll.SERVICE_SUBNET_NAME: Der Name des Dienstsubnetzes, das für NFS-Traffic verwendet werden soll.
gcloud
gcloud vmware private-clouds clusters mount-datastore CLUSTER_ID \
--location=LOCATION --project=PROJECT_ID \
--private-cloud=PRIVATE_CLOUD_ID \
--datastore=projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID \
--subnet=SERVICE_SUBNET_NAME
Alternativ können Sie die Details zur Netzwerkkonfiguration mit dem Flag --datastore-network in einer JSON-Datei angeben:
gcloud vmware private-clouds clusters mount-datastore CLUSTER_ID \
--location=LOCATION --project=PROJECT_ID \
--private-cloud=PRIVATE_CLOUD_ID \
--datastore=projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID \
--datastore-network=network-config.json
Dabei enthält network-config.json Folgendes:
{
"subnet": "SERVICE_SUBNET_NAME",
"mtu": 1500,
"connection-count": 4
}
Ersetzen Sie Folgendes:
CLUSTER_IDist der Name des Clusters.LOCATION: Der Standort der Ressourcen.PROJECT_ID: Ihre Google Cloud Projekt-IDPRIVATE_CLOUD_ID: Der Name der Private Cloud.DATASTORE_ID: Der Name des Datastore, der bereitgestellt werden soll.SERVICE_SUBNET_NAME: Der Name des Dienstsubnetzes, das für NFS-Traffic verwendet werden soll.
Terraform
Weitere Informationen finden Sie in der google_vmwareengine_cluster-Terraform-Ressource, einschließlich Beispielen für das Einbinden von Filestore-Datenspeichern und das Einbinden von Google Cloud NetApp Volumes-Datenspeichern.
resource "google_vmwareengine_cluster" "CLUSTER_ID" {
name = "CLUSTER_ID"
parent = "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID"
...
datastore_mount_config {
datastore = "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID"
datastore_network {
subnet = "projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/subnets/SERVICE_SUBNET_NAME"
connection_count = 4
mtu = 1500
}
nfs_version = "NFS_V3"
}
}
Ersetzen Sie Folgendes:
CLUSTER_IDist der Name des Clusters.PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Standort der Ressourcen.PRIVATE_CLOUD_ID: Der Name der Private Cloud.DATASTORE_ID: Der Name des Datastore, der bereitgestellt werden soll.SERVICE_SUBNET_NAME: Der Name des Dienstsubnetzes, das für NFS-Traffic verwendet werden soll.
Nach einem erfolgreichen Mount-Vorgang können Sie die gemountete Datastore-Konfiguration in der Clusterressource ansehen. Die Clusterressource enthält einen DatastoreMountConfig-Eintrag, der dem Mount entspricht. Beispiel:
...
datastoreMountConfig:
- accessMode: READ_WRITE
datastore: projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
datastoreNetwork:
connectionCount: 4
mtu: 1500
networkPeering: projects/PROJECT_ID/locations/global/networkPeerings/PEERING_NAME
subnet: projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/subnets/SUBNET_NAME
fileShare: FILE_SHARE_NAME
nfsVersion: NFS_V3
servers:
- SERVER_IP
...
Nach einem erfolgreichen Mount-Vorgang wird die Liste clusters der Datastore-Ressource aktualisiert. Sie können einen Datastore beschreiben, um zu sehen, auf welchen Clustern er bereitgestellt wird.
API
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
gcloud
gcloud vmware datastores describe DATASTORE_ID --location=LOCATION --project=PROJECT_ID
Suchen Sie nach der Beschreibung eines Datastore in der Antwort nach dem Feld clusters, um zu sehen, auf welchen Clustern der Datastore bereitgestellt wird. Die folgende Beispielausgabe zeigt einen Datastore, der in einem Cluster bereitgestellt wird:
{
"name": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID",
...
"clusters": [
"projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID"
],
...
}
NFS-Datenspeicher im Verwaltungscluster bereitstellen
Der datastore_mount_config-Block, der zum Mounten von NFS-Datenspeichern verwendet wird, ist ein Attribut der google_vmwareengine_cluster-Ressource. Der Management-Cluster wird jedoch anfangs im management_cluster-Block der google_vmwareengine_private_cloud-Ressource definiert, nicht als eigenständige google_vmwareengine_cluster-Ressource. Das bedeutet, dass Sie die datastore_mount_config für den Verwaltungscluster nicht direkt beim Erstellen der Private Cloud konfigurieren können.
Wenn Sie einen NFS-Datenspeicher im Management-Cluster mit Terraform einbinden möchten, müssen Sie den vorhandenen Management-Cluster nach der Bereitstellung der privaten Cloud als separate google_vmwareengine_cluster-Ressource in Ihren Terraform-Status importieren.
Schritte:
- Management-Cluster importieren: Nachdem die Private Cloud und der Management-Cluster vorhanden sind, führen Sie den folgenden Terraform-Befehl aus, um den Management-Cluster in den Status zu importieren:
terraform import google_vmwareengine_cluster.imported_management_cluster "projects/{your_project}/locations/{private_cloud_location}/privateClouds/{your_private_cloud_id}/clusters/{your_management_cluster_id}"
Ersetzen Sie die Platzhalter {your_project}, {private_cloud_location}, {your_private_cloud_id} und {your_management_cluster_id} durch die Details Ihrer Umgebung.
Clusterressource in der Konfiguration definieren:Fügen Sie Ihrer Terraform-Konfigurationsdatei einen
resource "google_vmwareengine_cluster" "imported_management_cluster"-Block hinzu. Dieser Block sollte die aktuelle Konfiguration des importierten Managementclusters genau widerspiegeln (z.B. Knotentyp, Anzahl der Knoten).Datastore-Bereitstellungskonfiguration hinzufügen:Fügen Sie im neuen
google_vmwareengine_cluster.imported_management_cluster-Ressourcenblock dendatastore_mount_config-Block hinzu, um die Einstellungen für den NFS-Datastore zu definieren, den Sie bereitstellen möchten.
Beispiel für ein Konfigurations-Snippet:
# Assume google_vmwareengine_private_cloud "my_pc" is already defined and created
# Resource block for the imported Management Cluster
resource "google_vmwareengine_cluster" "imported_management_cluster" {
provider = google
name = "{your_management_cluster_id}" # Must match the imported cluster's ID
parent = google_vmwareengine_private_cloud.my_pc.id
# Ensure these match the existing management cluster's configuration
node_type_configs {
node_type_id = "standard-72"
node_count = 3
# Add other configs like custom_core_count if set
}
# Add the datastore mount configuration
datastore_mount_config {
datastore = data.google_vmwareengine_datastore.my_nfs_datastore.id
datastore_network {
subnet = data.google_vmwareengine_subnet.my_service_subnet.id
connection_count = 4
mtu = 1500
}
nfs_version = "NFS_V3"
access_mode = "READ_WRITE"
ignore_colocation = true
}
# Optional: Prevent accidental destruction of this imported resource
lifecycle {
ignore_changes = [
# Ignore changes to attributes managed by the private_cloud resource
# to prevent conflicts. Adjust as needed.
]
prevent_destroy = true
}
}
# Data sources for datastore and subnet would be defined elsewhere
# data "google_vmwareengine_datastore" "my_nfs_datastore" { ... }
# data "google_vmwareengine_subnet" "my_service_subnet" { ... }
Datastore aktualisieren
Sie können nur das Feld description eines Datastore aktualisieren. Wenn Sie einen Datastore aktualisieren möchten, verwenden Sie die gcloud CLI oder senden Sie eine PATCH-Anfrage:
API
PATCH https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
Beispiel für einen Anfragetext:
{
"description": "New datastore description"
}
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Speicherort des Datastore.DATASTORE_ID: Die ID des Datastore.
gcloud
gcloud vmware datastores update DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--description="DESCRIPTION"
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name des Datastore.LOCATION: Der Speicherort des Datastore.PROJECT_ID: Ihre Google Cloud Projekt-IDDESCRIPTION: Eine Beschreibung für Datastore.
Datastore unmounten
Wenn Sie die Bereitstellung eines NFS-Datenspeichers aus einem Cluster aufheben möchten, verwenden Sie die gcloud CLI, die API oder Terraform:
API
POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID:unmountDatastore
Beispiel für einen Anfragetext:
{
"datastore": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID"
}
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Standort der Ressourcen.PRIVATE_CLOUD_ID: Der Name der Private Cloud.CLUSTER_IDist der Name des Clusters.DATASTORE_ID: Der Name des Datastore, der unmountet werden soll.
gcloud
gcloud vmware private-clouds clusters unmount-datastore CLUSTER_ID \
--location=LOCATION --project=PROJECT_ID \
--private-cloud=PRIVATE_CLOUD_ID \
--datastore=projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
Ersetzen Sie Folgendes:
CLUSTER_IDist der Name des Clusters.LOCATION: Der Standort der Ressourcen.PROJECT_ID: Ihre Google Cloud Projekt-IDPRIVATE_CLOUD_ID: Der Name der Private Cloud.DATASTORE_ID: Der Name des Datastore, der unmountet werden soll.
Terraform
Wenn Sie ein Datastore mit Terraform aushängen möchten, entfernen Sie den mit dem Datastore verknüpften datastore_mount_config-Block aus der google_vmwareengine_cluster-Ressource in Ihrer Terraform-Konfiguration.
Wenn der datastore_mount_config-Block entfernt wird, hebt Terraform beim nächsten Anwenden die Bereitstellung des Datastore für den Cluster auf.
Datastore löschen
Verwenden Sie zum Löschen einer Datastore-Ressource die gcloud CLI oder senden Sie eine DELETE-Anfrage. Der Datastore darf nicht in einem Cluster bereitgestellt werden.
API
DELETE https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
Ersetzen Sie Folgendes:
PROJECT_ID: Ihre Google Cloud Projekt-IDLOCATION: Der Speicherort des Datastore.DATASTORE_ID: Der Name des zu löschenden Datastore.
gcloud
gcloud vmware datastores delete DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID
Ersetzen Sie Folgendes:
DATASTORE_ID: Der Name des zu löschenden Datastore.LOCATION: Der Speicherort des Datastore.PROJECT_ID: Ihre Google Cloud Projekt-ID
Fehlerbehebung
In den folgenden Tabellen sind häufige Fehler beim Erstellen und Einbinden von Datastore aufgeführt:
Datenspeicherfehler erstellen
In der folgenden Tabelle werden Fehler beschrieben, die beim Erstellen von Datastores auftreten können:
| Fehlermeldung | Ursache | Lösung |
|---|---|---|
| Die Filestore-NFS-Dateiserverinstanz darf nicht leer sein. | Das Feld filestore_instance im Anfragetext ist leer. |
Geben Sie den vollständigen Ressourcennamen Ihrer Filestore-Instanz an. |
| Das NetApp-NFS-Dateiserver-Volume darf nicht leer sein. | Das Feld netapp_volume im Anfragetext ist leer. |
Geben Sie den vollständigen Ressourcennamen Ihres Google Cloud NetApp Volumes-Volumes an. |
| Ungültiges Feldformat für den Feldtyp „filestore_instance“ | Das Feld „filestore_instance“ entspricht nicht dem erforderlichen Format. |
Achten Sie darauf, dass der Ressourcenname das Format projects/{project}/locations/{location}/instances/{instance} hat. |
| Ungültiges Feldformat für den Feldtyp „netapp_volume“ | Das Feld „netapp_volume“ entspricht nicht dem erforderlichen Format. |
Achten Sie darauf, dass der Ressourcenname das Format projects/{project}/locations/{location}/volumes/{volume} hat. |
| Datastore und NFS-Volume befinden sich an unterschiedlichen Orten. | Die Filestore-Instanz oder das Google Cloud NetApp Volumes-Volume befindet sich an einem anderen Ort als der Datastore, den Sie erstellen möchten. | Das NFS-Volume und der Datastore müssen sich am selben Standort befinden. |
| Dem Nutzer fehlen die erforderlichen Berechtigungen „file.instances.get“ | Das Dienstkonto hat nicht die erforderlichen IAM-Berechtigungen für den Zugriff auf die Filestore-Instanz. | Weisen Sie dem VMware Engine-Dienst-Agent die Rolle roles/file.viewer zu. |
| Berechtigung „netapp.volumes.get“ für Ressource verweigert… | Das Dienstkonto hat nicht die erforderlichen IAM-Berechtigungen für den Zugriff auf das Google Cloud NetApp Volumes-Volume. | Weisen Sie dem VMware Engine-Dienst-Agent die Rolle roles/netapp.viewer zu. |
| Die Filestore-Instanz … ist nicht vorhanden. | Die angegebene Filestore-Instanz wurde nicht gefunden. | Prüfen Sie, ob die Filestore-Instanz vorhanden ist und der Ressourcenname korrekt ist. |
| Das NetApp-Volume … ist nicht vorhanden. | Das angegebene Google Cloud NetApp Volumes-Volume wurde nicht gefunden. | Prüfen Sie, ob das Google Cloud NetApp Volumes-Volume vorhanden ist und ob der Ressourcenname korrekt ist. |
| Die Filestore-Instanz hat eine nicht unterstützte Stufe | Für die Filestore-Instanz wird ein Tarif verwendet, der von dieser Funktion nicht unterstützt wird. | Erstellen Sie eine neue Filestore-Instanz mit einer unterstützten Stufe: „Zonal“ oder „Regional“. |
| Die Filestore-Instanz hat eine nicht unterstützte NFS-Version | Die Filestore-Instanz verwendet eine nicht unterstützte NFS-Version. | Erstellen Sie eine neue Filestore-Instanz mit NFS-Version 3. |
| Das NetApp-Volume … hat eine nicht unterstützte NFS-Version … | Für das Google Cloud NetApp Volumes-Volume wird eine nicht unterstützte NFS-Version verwendet. | Erstellen Sie ein neues Google Cloud NetApp Volumes-Volume mit NFS-Version 3. |
| Für das NetApp-Volume … ist der Löschschutz deaktiviert. | Für das Google Cloud NetApp Volumes-Volume ist der Löschschutz deaktiviert. | Löschschutz für das Google Cloud NetApp Volumes-Volume aktivieren |
| Datastore kann nicht erstellt werden. Die Ressource … mit derselben Konfiguration ist bereits vorhanden. | Ein Datastore mit demselben Namen und derselben Konfiguration ist bereits vorhanden. | Wählen Sie einen anderen Namen für Ihren Datastore aus oder ändern Sie die Konfiguration. |
Fehler beim Ein- und Aushängen von Datastore
In der folgenden Tabelle werden Fehler beschrieben, die beim Einbinden oder Aufheben der Einbindung von Datastores auftreten können:
| Fehlermeldung | Ursache | Lösung |
|---|---|---|
| Die Validierung von „DatastoreFormat“ ist fehlgeschlagen. | Das angegebene Datenspeicherformat wird nicht unterstützt oder ist ungültig. | Prüfen Sie, ob das Datenspeicherformat mit VMware Engine kompatibel ist (z. B. NFSv3). |
| Ungültiger MTU-Bereich. Der Wert muss zwischen 1.300 und 9.000 liegen. | Der für Datastore-Netzwerk angegebene MTU-Wert (Maximum Transmission Unit) liegt außerhalb des zulässigen Bereichs von 1.300 bis 9.000. | Geben Sie einen MTU-Wert zwischen 1.300 und 9.000 an. |
| Das Datenspeicherprojekt stimmt nicht mit dem Clusterprojekt überein. | Die Google Cloud Projekt-ID des Datastore stimmt nicht mit der Google Cloud Projekt-ID des vSphere-Clusters überein. | Datastore und Cluster müssen zum selben Google Cloud -Projekt gehören. |
| Ungültige MTU. Die MTU muss mit der MTU des vorhandenen eingebundenen Datastore im Cluster übereinstimmen. | Die MTU des neuen Datastore-Netzwerks stimmt nicht mit der MTU anderer NFS-Datenspeicher überein, die bereits auf demselben Cluster bereitgestellt sind. | Richten Sie die MTU des neuen Datastore an der MTU der vorhandenen eingebundenen Datenspeicher im Cluster aus. |
| Datastore muss vorhanden sein und sich im Status „Bereit“ befinden | Die angegebene Datastore-Ressource ist nicht vorhanden oder befindet sich nicht im Status READY. |
Prüfen Sie mit der Get- oder List-Datastore-API, ob der Datastore erfolgreich erstellt wurde und der Status READY ist. |
| Für Erstanbieter muss ein referenziertes Filestore oder NetApp vorhanden sein und den Status „Bereit“ haben. | Die zugrunde liegende Filestore-Instanz oder das Google Cloud NetApp Volumes-Volume fehlt oder befindet sich nicht im Status READY. |
Prüfen Sie, ob das referenzierte NFS-Volume vorhanden ist und sich im Google Cloud -Projekt im Status READY befindet. |
| Das Netzwerk-Peering muss zwischen der VPC der Dateifreigabe und dem VMware Engine-Netzwerk der privaten Cloud des Clusters im aktiven Zustand vorhanden sein. | Zwischen dem VPC-Netzwerk, in dem sich das NFS-Volume befindet, und dem VMware Engine-Netzwerk der privaten Cloud ist eine VPC-Netzwerk-Peering-Verbindung erforderlich. Diese Verbindung fehlt oder befindet sich nicht im Status ACTIVE. |
Prüfen Sie, ob eine aktive VPC-Netzwerk-Peering-Verbindung zwischen der VPC der Dateifreigabe und dem VMware Engine-Netzwerk Ihrer Private Cloud besteht. |
| Einbindungsvorgang schlägt bei Legacy-Netzwerken fehl | Bei Legacy-Netzwerken fehlt die private Verbindung zum Mandantenprojekt des NFS-Volumes oder sie ist inaktiv. | Achten Sie darauf, dass eine aktive private Verbindung zum Mandantenprojekt besteht, bevor Sie versuchen, den Datastore zu mounten. Löschen Sie keine private Verbindung, die von einem eingebundenen Datastore verwendet wird. |
| Für First Party sollte die Exportoption hinzugefügt werden, damit das PC-Subnetz für die Bereitstellung verwendet werden kann. | Die Exportrichtlinie für das NFS-Volume enthält das Dienstsubnetz der privaten Cloud nicht für den Zugriff. | Ändern Sie die Exportrichtlinie Ihres NFS-Volumes, um den Zugriff über das Dienstsubnetz der Private Cloud zu ermöglichen, das für die Bereitstellung verwendet wird. |
| Das Subnetz muss mit einem gültigen IP-CIDR konfiguriert sein. | Das für das Datastore-Netzwerk angegebene Dienst-Subnetz fehlt oder es ist kein gültiger IP-CIDR-Bereich konfiguriert. | Prüfen Sie, ob das angegebene Dienst-Subnetz vorhanden ist und einen korrekt konfigurierten IP-CIDR-Bereich hat, der ausreicht, um allen ESXi-Hosts im Cluster IP-Adressen zuzuweisen. |
| Ungültiges Datenspeicherformat | Der angegebene Datastore-Ressourcenname hat kein erkanntes oder korrektes Format, sodass die Trennung nicht möglich ist. | Prüfen Sie, ob der in der Unmount-Anfrage angegebene Datastore-Ressourcenname korrekt ist und dem Format projects/{project}/locations/{location}/datastores/{datastore_id} entspricht. |
| Datastore nicht auf Cluster gemountet | Der Datastore, den Sie unmounten möchten, ist nicht auf dem angegebenen Cluster gemountet. | Bevor Sie versuchen, die Bereitstellung aufzuheben, prüfen Sie, ob der Datastore im Ziel-vSphere-Cluster bereitgestellt ist. |