在 VMware Engine 中,將 NFS 磁碟區做為 vSphere 資料儲存庫
本頁說明如何在 VMware Engine 中使用 NFS 磁碟區做為 vSphere 資料儲存庫。您可以使用 VMware Engine API、Google Cloud CLI 或 Terraform,建立及管理由 Filestore 執行個體、Google Cloud NetApp Volumes 磁碟區或第三方 NFS 共用支援的 NFS 資料儲存庫。API 端點為 vmwareengine.googleapis.com。建立、更新、刪除、掛接及卸載 Datastore 的 API 和 gcloud CLI 作業是非同步作業。啟動其中一項作業時,VMware Engine 會傳回作業物件,您可以使用該物件追蹤要求的狀態。
監控作業
如要追蹤作業狀態,請使用 API 或 gcloud CLI。
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
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:作業的位置。OPERATION_ID:要追蹤的作業 ID。
gcloud
gcloud vmware operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:作業的位置。OPERATION_ID:要追蹤的作業 ID。
建立 NFS 資料儲存庫
如要建立以 Filestore 執行個體、Google Cloud NetApp Volumes 磁碟區或第三方 NFS 共用資源為基礎的 Datastore,請使用 Terraform、API 或 gcloud CLI。如要使用 API 建立資料存放區,請發出下列 POST 要求:
POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores?datastoreId=DATASTORE_ID
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:Datastore 的位置。DATASTORE_ID:資料儲存庫的名稱。
要求主體必須是 JSON 物件,內含將備份 Datastore 的 NFS 磁碟區詳細資料。
description: (選填) 資料儲存庫的簡短說明。nfs_datastore: (必要) NFS Datastore 設定的容器。
Filestore
以下各節說明如何使用 API、gcloud CLI 或 Terraform,建立以 Filestore 為基礎的 Datastore。
API
如果 Datastore 由 Filestore 支援,請在 google_file_service 中提供下列資訊:
filestore_instance: (必要) Filestore 執行個體的完整資源名稱,格式為projects/{project}/locations/{location}/instances/{instance}。
要求主體範例:
{
"description": "Filestore Datastore example",
"nfs_datastore": {
"google_file_service": {
"filestore_instance": "projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME"
}
}
}
更改下列內容:
FILESTORE_PROJECT_ID:Filestore 執行個體所在的專案 ID。LOCATION:Filestore 執行個體的位置。這必須與要求網址中指定的 Datastore 位置相同。INSTANCE_NAME:Filestore 執行個體的名稱。
gcloud
gcloud vmware datastores create DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--filestore=projects/FILESTORE_PROJECT_ID/locations/LOCATION/instances/INSTANCE_NAME
更改下列內容:
DATASTORE_ID:資料儲存庫的名稱。LOCATION:Datastore 和 Filestore 執行個體的位置。PROJECT_ID: Google Cloud 專案 ID。FILESTORE_PROJECT_ID:Filestore 執行個體所在的專案 ID。INSTANCE_NAME:Filestore 執行個體的名稱。
Terraform
詳情請參閱 google_vmwareengine_datastore Terraform 資源。
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"
}
}
}
更改下列內容:
DATASTORE_ID:資料儲存庫的名稱。LOCATION:Datastore 和 Filestore 執行個體的位置。DESCRIPTION:Datastore 的說明。FILESTORE_PROJECT_ID:Filestore 執行個體所在的專案 ID。INSTANCE_NAME:Filestore 執行個體的名稱。
Google Cloud NetApp Volumes
以下各節說明如何使用 API 或 gcloud CLI,建立以 Google Cloud NetApp Volumes 為基礎的 Datastore。
API
如果 Datastore 由 Google Cloud NetApp Volumes 支援,請在 google_file_service 中提供下列資訊:
netapp_volume: (必要) Google Cloud NetApp Volumes 磁碟區的完整資源名稱,格式為projects/{project}/locations/{location}/volumes/{volume}。
要求主體範例:
{
"description": "NetApp Volumes Datastore example",
"nfs_datastore": {
"google_file_service": {
"netapp_volume": "projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME"
}
}
}
更改下列內容:
NETAPP_PROJECT_ID:Google Cloud NetApp Volumes 磁碟區所在的專案 ID。LOCATION:Google Cloud NetApp Volumes 磁碟區的位置。這必須與要求網址中指定的 Datastore 位置相同。VOLUME_NAME:Google Cloud NetApp Volumes 磁碟區的名稱。
gcloud
gcloud vmware datastores create DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--netapp=projects/NETAPP_PROJECT_ID/locations/LOCATION/volumes/VOLUME_NAME
更改下列內容:
DATASTORE_ID:資料儲存庫的名稱。LOCATION:Datastore 和 Google Cloud NetApp Volumes 磁碟區的位置。PROJECT_ID: Google Cloud 專案 ID。NETAPP_PROJECT_ID:Google Cloud NetApp Volumes 磁碟區所在的專案 ID。VOLUME_NAME:Google Cloud NetApp Volumes 磁碟區的名稱。
Terraform
詳情請參閱 google_vmwareengine_datastore Terraform 資源。
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"
}
}
}
更改下列內容:
DATASTORE_ID:資料儲存庫的名稱。LOCATION:Datastore 和 Google Cloud NetApp Volumes 磁碟區的位置。DESCRIPTION:Datastore 的說明。NETAPP_PROJECT_ID:Google Cloud NetApp Volumes 磁碟區所在的專案 ID。VOLUME_NAME:Google Cloud NetApp Volumes 磁碟區的名稱。
第三方 NFS
以下各節說明如何使用 API 或 gcloud CLI,建立由第三方 NFS 共用支援的 Datastore。
API
如果是以第三方 NFS 共用區為後端的資料儲存庫,請在 nfs_datastore 中提供下列資訊:
third_party_nfs: (必要) 包含第三方 NFS 的設定。network:虛擬私有雲網路名稱,格式為projects/{project}/global/networks/{network}。file_share:檔案共用名稱。servers:伺服器 IP 位址清單。
要求主體類似於下列內容:
{
"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"]
}
}
}
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。NETWORK_NAME:第三方 NFS Datastore 的虛擬私有雲網路名稱。FILE_SHARE_NAME:第三方 NFS Datastore 的檔案共用名稱。SERVER_ADDRESS_1:第三方 NFS Datastore 的伺服器 IP 位址。視需要新增更多地址到清單。
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
更改下列內容:
DATASTORE_ID:資料儲存庫的名稱。NETWORK_NAME:第三方 NFS Datastore 的虛擬私有雲網路名稱。FILE_SHARE_NAME:第三方 NFS Datastore 的檔案共用名稱。SERVER_ADDRESSES:第三方 NFS 資料儲存庫伺服器 IP 位址的逗號分隔清單。LOCATION:Datastore 的位置。PROJECT_ID: Google Cloud 專案 ID。
列出或取得資料儲存庫
如要列出特定專案和位置的所有 Datastore,請使用 gcloud CLI 或提出 GET 要求:
API
如要列出指定專案和位置的所有 Datastore,請發出 GET 要求:
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores
如要擷取特定 Datastore 的詳細資料,請發出 GET 要求:
GET https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:Datastore 的位置。DATASTORE_ID:Datastore 的名稱。
gcloud
如要列出指定專案和位置的所有 Datastore,請使用 gcloud vmware datastores list 指令:
gcloud vmware datastores list \
--location=LOCATION --project=PROJECT_ID
如要擷取特定 Datastore 的詳細資料,請使用 gcloud vmware datastores describe 指令:
gcloud vmware datastores describe DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID
更改下列內容:
LOCATION:Datastore 的位置。PROJECT_ID: Google Cloud 專案 ID。DATASTORE_ID:Datastore 的名稱。
掛接資料儲存庫
建立 Datastore 後,您必須將其掛接到 vSphere 叢集,ESXi 主機才能使用。如要掛接 NFS Datastore,請使用 gcloud CLI、API 或 Terraform。
API
POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID:mountDatastore
要求主體範例:
{
"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:要掛接的 Datastore 資源名稱。subnet:用於 NFS 流量的服務子網路資源名稱。connection_count: (選用) 連線數量。預設值為4。access_mode: (選用) 存取模式,可以是READ_WRITE或READ_ONLY。 預設值為READ_WRITE。nfs_version: (選用) NFS 版本。預設值為NFS_V3。
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:資源的位置。PRIVATE_CLOUD_ID:私有雲的名稱。CLUSTER_ID:叢集名稱。DATASTORE_ID:要掛接的 Datastore 名稱。SERVICE_SUBNET_NAME:用於 NFS 流量的服務子網路名稱。
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
或者,您可以使用 --datastore-network 旗標,透過 JSON 檔案提供網路設定詳細資料:
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
其中 network-config.json 包含:
{
"subnet": "SERVICE_SUBNET_NAME",
"mtu": 1500,
"connection-count": 4
}
更改下列內容:
CLUSTER_ID:叢集名稱。LOCATION:資源的位置。PROJECT_ID: Google Cloud 專案 ID。PRIVATE_CLOUD_ID:私有雲的名稱。DATASTORE_ID:要掛接的 Datastore 名稱。SERVICE_SUBNET_NAME:用於 NFS 流量的服務子網路名稱。
Terraform
詳情請參閱 google_vmwareengine_cluster Terraform 資源,包括掛接 Filestore 資料存放區和掛接 Google Cloud NetApp Volumes 資料存放區的範例。
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"
}
}
更改下列內容:
CLUSTER_ID:叢集名稱。PROJECT_ID: Google Cloud 專案 ID。LOCATION:資源的位置。PRIVATE_CLOUD_ID:私有雲的名稱。DATASTORE_ID:要掛接的 Datastore 名稱。SERVICE_SUBNET_NAME:用於 NFS 流量的服務子網路名稱。
掛接作業成功後,您可以在叢集資源中查看掛接的 Datastore 設定。叢集資源包含對應於掛接點的 DatastoreMountConfig 項目。例如:
...
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
...
掛接作業完成後,Datastore 資源的 clusters 清單就會更新。您可以描述 Datastore,查看掛接的叢集。
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
描述 Datastore 後,請在回應中尋找 clusters 欄位,查看 Datastore 掛接的叢集。以下輸出範例顯示掛接在一個叢集上的 Datastore:
{
"name": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID",
...
"clusters": [
"projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID"
],
...
}
將 NFS 資料儲存庫掛接至管理叢集
用於掛接 NFS 資料存放區的 datastore_mount_config 區塊是 google_vmwareengine_cluster 資源的屬性。不過,管理叢集最初是在 google_vmwareengine_private_cloud 資源的 management_cluster 模塊中定義,而非獨立的 google_vmwareengine_cluster 資源。也就是說,您無法在建立 Private Cloud 時,直接設定管理叢集的 datastore_mount_config。
如要使用 Terraform 在管理叢集上掛接 NFS 資料存放區,您必須在佈建私有雲後,將現有的管理叢集匯入 Terraform 狀態,做為個別的 google_vmwareengine_cluster 資源。
步驟:
- 匯入管理叢集:建立私有雲和管理叢集後,請執行下列 Terraform 指令,將管理叢集匯入狀態:
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}"
將預留位置 {your_project}、{private_cloud_location}、{your_private_cloud_id} 和 {your_management_cluster_id} 換成您環境的詳細資料。
在設定中定義叢集資源:在 Terraform 設定檔中新增
resource "google_vmwareengine_cluster" "imported_management_cluster"區塊。這個區塊應準確反映匯入的管理叢集目前設定 (例如節點類型、節點計數)。新增資料存放區掛接設定:在新的
google_vmwareengine_cluster.imported_management_cluster資源區塊中,新增datastore_mount_config區塊,定義要掛接的 NFS 資料存放區設定。
設定程式碼片段範例:
# 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
您只能更新資料儲存庫的 description 欄位。如要更新 Datastore,請使用 gcloud CLI 或發出 PATCH 要求:
API
PATCH https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
要求主體範例:
{
"description": "New datastore description"
}
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:Datastore 的位置。DATASTORE_ID:資料儲存庫的 ID。
gcloud
gcloud vmware datastores update DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID \
--description="DESCRIPTION"
更改下列內容:
DATASTORE_ID:Datastore 的名稱。LOCATION:Datastore 的位置。PROJECT_ID: Google Cloud 專案 ID。DESCRIPTION:Datastore 的說明。
卸載 Datastore
如要從叢集解除掛接 NFS Datastore,請使用 gcloud CLI、API 或 Terraform:
API
POST https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/privateClouds/PRIVATE_CLOUD_ID/clusters/CLUSTER_ID:unmountDatastore
要求主體範例:
{
"datastore": "projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID"
}
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:資源的位置。PRIVATE_CLOUD_ID:私有雲的名稱。CLUSTER_ID:叢集名稱。DATASTORE_ID:要卸載的 Datastore 名稱。
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
更改下列內容:
CLUSTER_ID:叢集名稱。LOCATION:資源的位置。PROJECT_ID: Google Cloud 專案 ID。PRIVATE_CLOUD_ID:私有雲的名稱。DATASTORE_ID:要卸載的 Datastore 名稱。
Terraform
如要使用 Terraform 解除掛接 Datastore,請從 Terraform 設定的 google_vmwareengine_cluster 資源中,移除與 Datastore 相關聯的 datastore_mount_config 區塊。
如果移除 datastore_mount_config 區塊,Terraform 會在下次套用時,從叢集卸載 Datastore。
刪除 Datastore
如要刪除 Datastore 資源,請使用 gcloud CLI 或發出 DELETE要求。Datastore 不得掛接至任何叢集。
API
DELETE https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datastores/DATASTORE_ID
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:Datastore 的位置。DATASTORE_ID:要刪除的 Datastore 名稱。
gcloud
gcloud vmware datastores delete DATASTORE_ID \
--location=LOCATION --project=PROJECT_ID
更改下列內容:
DATASTORE_ID:要刪除的 Datastore 名稱。LOCATION:Datastore 的位置。PROJECT_ID: Google Cloud 專案 ID。
疑難排解
下表列出建立及掛接 Datastore 時的常見錯誤:
建立 Datastore 錯誤
下表說明建立 Datastore 時可能會遇到的錯誤:
| 錯誤訊息 | 原因 | 解決方案 |
|---|---|---|
| filestore NFS 檔案伺服器執行個體不得為空。 | 要求主體的「filestore_instance」欄位為空白。 |
提供 Filestore 執行個體的完整資源名稱。 |
| NetApp NFS 檔案伺服器磁碟區不得為空。 | 要求主體的「netapp_volume」欄位為空白。 |
提供 Google Cloud NetApp Volumes 磁碟區的完整資源名稱。 |
| 欄位類型 filestore_instance 的欄位格式無效 | 「filestore_instance」欄位不符合規定格式。 |
請確認資源名稱的格式為 projects/{project}/locations/{location}/instances/{instance}。 |
| 欄位類型 netapp_volume 的欄位格式無效… | 「netapp_volume」欄位不符合規定格式。 |
請確認資源名稱的格式為 projects/{project}/locations/{location}/volumes/{volume}。 |
| 資料存放區和 NFS 磁碟區位於不同位置。 | Filestore 執行個體或 Google Cloud NetApp Volumes 磁碟區與您要建立的 Datastore 位於不同位置。 | 確認 NFS 磁碟區和 Datastore 位於相同位置。 |
| 使用者缺少必要權限「file.instances.get」 | 服務帳戶沒有存取 Filestore 執行個體所需的 IAM 權限。 | 將 roles/file.viewer 角色授予 VMware Engine 服務代理。 |
| 資源的「netapp.volumes.get」權限遭拒… | 服務帳戶沒有存取 Google Cloud NetApp Volumes 磁碟區的必要 IAM 權限。 | 將 roles/netapp.viewer 角色授予 VMware Engine 服務代理。 |
| Filestore 執行個體「...」不存在。 | 找不到指定的 Filestore 執行個體。 | 確認 Filestore 執行個體存在,且資源名稱正確無誤。 |
| Netapp 磁碟區 ... 不存在。 | 找不到指定的 Google Cloud NetApp Volumes 磁碟區。 | 確認 Google Cloud NetApp Volumes 磁碟區存在,且資源名稱正確無誤。 |
| Filestore 執行個體的層級不受支援 | Filestore 執行個體使用的層級不支援這項功能。 | 建立新的 Filestore 執行個體,並選擇支援的層級:可用區或區域。 |
| Filestore 執行個體使用的 NFS 版本不受支援 | Filestore 執行個體使用不支援的 NFS 版本。 | 建立新的 Filestore 執行個體,並使用 NFS 第 3 版。 |
| Netapp 磁碟區「...」的 NFS 版本不受支援。 | Google Cloud NetApp Volumes 磁碟區使用的 NFS 版本不受支援。 | 使用 NFS 第 3 版建立新的 Google Cloud NetApp Volumes 磁碟區。 |
| Netapp 磁碟區「...」已停用防刪除功能。 | Google Cloud NetApp Volumes 磁碟區已停用刪除保護機制。 | 在 Google Cloud NetApp Volumes 磁碟區上啟用刪除保護機制。 |
| 無法建立資料儲存庫。已有設定相同的資源「...」。 | 已有名稱和設定相同的 Datastore。 | 為 Datastore 選擇其他名稱,或修改設定。 |
掛接和卸載 Datastore 時發生錯誤
下表說明掛接或卸載 Datastore 時可能會遇到的錯誤:
| 錯誤訊息 | 原因 | 解決方案 |
|---|---|---|
| DatastoreFormat 驗證失敗。 | 系統不支援或無法辨識指定的 Datastore 格式。 | 確認資料儲存庫格式與 VMware Engine 相容 (例如 NFSv3)。 |
| MTU 範圍無效,應介於 1300 至 9000 | 您為 Datastore 網路提供的 MTU (最大傳輸單元) 值超出可接受的範圍 (1300 至 9000)。 | 指定介於 1300 到 9000 之間的 MTU 值。 |
| Datastore 專案與叢集專案不相等 | Datastore 的專案 ID 與 vSphere 叢集的專案 ID 不符。 Google Cloud Google Cloud | 確認 Datastore 和叢集屬於同一個 Google Cloud 專案。 |
| MTU 無效,MTU 應與叢集中現有已掛接的 Datastore 的 MTU 一致 | 新 Datastore 網路的 MTU 與已掛接至相同叢集的其他 NFS Datastore 的 MTU 不一致。 | 將新 Datastore 的 MTU 與叢集中現有已掛接 Datastore 的 MTU 對齊。 |
| Datastore 必須存在且處於「就緒」狀態 | 指定的 Datastore 資源不存在,或未處於 READY 狀態。 |
使用 Get 或 List Datastore API,確認 Datastore 已成功建立,且狀態為 READY。 |
| 如果是第一方,則必須有參照的 Filestore 或 NetApp,且應處於就緒狀態 | 基礎 Filestore 執行個體或 Google Cloud NetApp Volumes 磁碟區遺失,或處於非 READY 狀態。 |
確認參照的 NFS 磁碟區存在,且位於專案的 READY 狀態。 Google Cloud |
| 檔案共用虛擬私有雲與叢集私有雲的 VMware Engine 網路之間,應存在處於啟用狀態的網路對等互連 | NFS 磁碟區所在的虛擬私有雲網路與私有雲的 VMware Engine 網路之間必須建立虛擬私有雲網路對等互連連線,但這項連線不是遺失,就是處於 ACTIVE 狀態。 |
確認檔案共用虛擬私有雲與私有雲的 VMware Engine 網路之間,存在有效的虛擬私有雲網路對等互連連線。 |
| 舊版網路上的掛接作業失敗 | 如果是舊版網路,與 NFS 磁碟區的租戶專案之間的私人連線會遺失或處於非使用中狀態。 | 嘗試掛接 Datastore 之前,請先確認與租戶專案的私人連線是否有效。請勿刪除已掛接 Datastore 使用的私人連線。 |
| 如為第一方,應新增匯出選項,允許用於掛接的電腦子網路 | NFS 磁碟區的匯出政策未納入私人雲端的服務子網路,因此無法存取。 | 修改 NFS 磁碟區的匯出政策,允許從用於掛接的私有雲服務子網路存取。 |
| 子網路應存在,並設定有效的 IP CIDR | 為 Datastore 網路指定的服務子網路遺失,或未設定有效的 IP CIDR 範圍。 | 確認指定的服務子網路存在,且 IP CIDR 範圍設定正確,足以將 IP 分配給叢集中的所有 ESXi 主機。 |
| Datastore 格式無效 | 指定的 Datastore 資源名稱格式不正確或無法辨識,因此無法執行卸載作業。 | 確認卸載要求中提供的 Datastore 資源名稱正確無誤,且符合 projects/{project}/locations/{location}/datastores/{datastore_id} 格式。 |
| 叢集未掛接 Datastore | 您嘗試取消掛接的資料儲存庫未掛接至指定叢集。 | 嘗試解除掛接前,請先確認 Datastore 已掛接至目標 vSphere 叢集。 |