本頁說明嘗試減少或縮減執行個體儲存空間容量時,可能會收到的常見錯誤訊息。
C4A 和 N4 機型無法縮減儲存空間
嘗試對 C4A 或 N4 機型套用儲存空間縮減作業時,可能會發生下列錯誤:
ERROR: (gcloud.sql.instances.perform-storage-shrink) HTTPError 400: Invalid
request: Requested provisioned IOPS is too high for the machine type and/or data disk size.
C4A 和 N4 機型使用 Google Cloud Hyperdisk,可讓使用者調整磁碟輸送量和 IOPS 值。如果嘗試將磁碟大小縮減至設定的處理量和 IOPS 值無效的程度,磁碟縮減作業就會失敗並傳回錯誤。
在這個範例錯誤訊息中,要求的執行個體 IOPS 值大於新的小型磁碟 IOPS 上限值,因此作業失敗。
如要解決這個問題,請根據機器的 Google Cloud Hyperdisk 限制重新計算要使用的目標儲存空間大小,然後再次執行儲存空間縮減作業。
讀取集區的作業失敗
嘗試在讀取集區上執行任何儲存空間縮減相關作業時,會發生下列錯誤:
範例 1
gcloud sql instances perform-storage-shrink READ_POOL_NAME
ERROR: (gcloud.sql.instances.perform-storage-shrink) HTTPError 400: Invalid
request: Requested operation is not supported on a read pool.
讀取集區或讀取集區節點不支援縮減儲存空間作業。
範例 2
gcloud sql instances get-disk-shrink-config READ_POOL_NAME
ERROR: (gcloud.sql.instances.get-storage-shrink-config) HTTPError 400: Invalid
request: Requested operation is not supported on a read pool.
您無法檢查讀取集區、讀取集區節點或副本的儲存空間縮減設定。
不過,您可以查看相關聯主要執行個體的可用儲存空間容量。
無法查看取消狀態
嘗試查看儲存空間縮減作業的取消要求狀態時,可能會發生下列錯誤:
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/example_instance",
"status": "RUNNING",
"user": "user@example.com",
"insertTime": "2023-12-18T22:54:11.663Z",
"startTime": "2023-12-18T22:54:12.047Z",
"error": {
"kind": "sql#operationErrors",
"errors": [
{
"kind": "sql#operationError",
"code": "CANCEL_ERROR",
"message": "The UPDATE operation 490cdbe6-8b75-415c-99c1-ccc80000004f can not be cancelled."
}
]
},
"operationType": "UPDATE",
"name": "OPERATION_ID",
"targetId": "example_instance",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
"targetProject": "PROJECT_ID"
}
如要解決這個問題,請按照下列步驟操作:
- 這則錯誤訊息可能表示取消要求即將完成。請過幾分鐘後再查看作業狀態。
- 如果還是收到相同的錯誤訊息,請與 Cloud SQL 支援團隊聯絡,尋求協助。
如果成功,系統會傳回類似以下內容的訊息:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/example_instance", "status": "DONE", "user": "user@example.com", "insertTime": "2023-12-18T22:54:11.663Z", "startTime": "2023-12-18T22:54:12.047Z", "error": { "kind": "sql#operationErrors", "errors": [ { "kind": "sql#operationError", "code": "CANCEL_SUCCESSFUL", "message": "The UPDATE operation is canceled." } ] }, "operationType": "UPDATE", "name": "OPERATION_ID", "targetId": "example_instance", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
儲存空間縮減失敗
嘗試執行儲存空間縮減作業時,可能會發生下列錯誤:
There is a pending blocking operation for instance: INSTANCE_NAME
這則錯誤訊息可能表示其他作業仍在執行中,例如:
- 備份作業
- 匯入作業
- 執行個體上先前的儲存空間縮減作業
- 與要修改的唯讀複本相關聯的主要執行個體,仍有儲存空間縮減作業正在執行
如要解決這個問題,請等待先前的作業完成。
如果先前的 IMPORT 作業停滯,請與 Cloud SQL 支援團隊聯絡,要求取消作業。
詳情請參閱「限制」一節。
主要執行個體的儲存空間大小無效
在主要執行個體上執行儲存空間縮減作業時,如果要求的目標大小無效,可能會發生下列錯誤:
範例 1
Invalid target storage size SIZE. Target storage
size should be at least 10GB, which is the minimum storage size for a
Cloud SQL instance.
要求的目標大小必須大於或等於執行個體允許的最小儲存空間大小。
如要解決這個問題,請指定較大的目標儲存空間大小,然後再次執行作業。
詳情請參閱「限制」一節。
範例 2
Instance INSTANCE_NAME cannot shrink storage further
because the storage size is 10GB and the minimum storage size for a Cloud SQL
instance is 10GB.
要求的目標大小過小。如果
--storage-size的目標大小已達 10 GB 的下限,就無法再縮小。如要解決這個問題,請指定較大的目標儲存空間大小,然後再次執行作業。
詳情請參閱「限制」一節。
範例 3
ERROR: (gcloud.sql.instances.perform-storage-shrink) argument --storage-size: VALUE
must be greater than or equal to 10GB; received: SIZE
如果
--storage-size的要求目標大小太小,請在主要執行個體上執行下列指令,取得允許的最小儲存空間容量:gcloud sql instances get-storage-shrink-config PRIMARY_INSTANCE_NAME回應包含
minimalTargetSizeGb的值。您可以將這個值用於--storage-size參數,然後再次執行作業。
範例 4
Invalid target storage size SIZE. Target storage
size should be smaller than present storage size CURRENT_SIZE.
如果
--storage-size的要求目標大小過大,表示該值大於主要執行個體的目前儲存空間大小,因此您需要使用較小的值。如要使用較大的磁碟,請先編輯執行個體,然後再試一次。
範例 5
Requested storage size is too close to current storage usage, request storage
size should be minimum SIZEGB.
如果要求的目標大小與現有儲存空間大小太接近,則需要修改值並再次執行作業。可修改的選項包括:
- 提高目標值。
- 將目標值設為與
minimalTargetSizeGb值相同。
詳情請參閱「限制」一節。
副本的儲存空間大小無效
如果您嘗試在副本上執行儲存空間縮減作業,且要求的目標大小無效,可能會發生下列錯誤:
範例 1
Cannot shrink storage further for replica INSTANCE_NAME
because the minimum storage size for a Cloud SQL replica is 10GB.
如果 --storage-size 的要求目標大小已達 10 GB 的最小大小,就無法再縮小。
如要解決這個問題,請指定可接受範圍內的目標儲存空間大小,然後再次執行作業。
詳情請參閱「限制」一節。
範例 2
Cannot shrink storage further for replica REPLICA_INSTANCE_NAME
because current replica storage size isn't greater than primary instance
PRIMARY_INSTANCE_ID storage size. If you want to shrink
both primary and replica instance, please shrink primary instance first.
唯讀備用資源的儲存空間容量隨時不得小於相關聯的主要執行個體。如要縮減副本的儲存空間容量,請先對相關聯的主要執行個體完成儲存空間縮減作業。
詳情請參閱「限制」一節。
儲存空間不足
嘗試設定儲存空間縮減大小時,可能會發生下列錯誤:
{
"error": {
"code": 400,
"message": "Invalid target storage size TARGET_SIZE. ...",
"errors": ...
}
這則錯誤訊息可能表示執行個體的儲存空間不足。
如要解決這個問題,請按照下列步驟操作:
- 請務必按照所有縮減儲存空間的步驟操作。
- 請確認目標儲存空間大小大於先前設定的最小目標大小。
max_wal_size 值太大
嘗試縮減 PostgreSQL 執行個體的儲存空間大小時,可能會發生下列錯誤:
{
"error": {
"code": 400,
"message": "Operation not allowed on instance INSTANCE_NAME with max_wal_size = MAX_WAL_SIZE, should be set less than 5120 before disk shrink operation..",
"errors": ...
}
如果 max_wal_size 旗標設定的值過高,執行個體可能無法快速重新啟動,導致作業逾時並失敗。
如要解決這個問題,請將 max_wal_size 值更新為小於 5128 MB。如要查看修改資料庫標記的範例,請參閱「設定資料庫標記」。
以下是指令範例:
gcloud sql instances patch INSTANCE_NAME \
--database-flags=max_wal_size=MAX_WAL_SIZE
更改下列內容:
- INSTANCE_NAME:副本執行個體的名稱。
- MAX_WAL_SIZE:您要使用的預先寫入記錄檔大小上限。
10 天後儲存空間縮減失敗
如果縮減儲存空間作業持續超過 10 天,就會逾時。
如要解決這個問題,請升級執行個體的 CPU,以縮短整體作業時間。
發生內部錯誤,導致儲存空間縮減失敗
如果儲存空間縮減作業失敗,系統可能會傳回指出內部錯誤的訊息。
如要解決這個問題,請與 Cloud SQL 支援團隊聯絡,尋求協助。
10 分鐘後,儲存空間縮減 gcloud 指令失敗
使用 gcloud sql instances 指令縮減執行個體的儲存空間大小時,可能會發生下列錯誤:
Performing a storage size decrease on a Cloud SQL instance....failed.
如果作業時間超過 10 分鐘,您可能會收到這則錯誤訊息。
如要解決這個問題,請在指令結尾加上 --async 旗標,以非同步方式等待作業完成。