查看磁碟詳細資料

在 Compute Engine 中建立永久磁碟或 Hyperdisk 後,您可以查看磁碟設定的相關資訊。您可以運用這項資訊監控磁碟效能、強化資料安全性,以及最佳化儲存空間和成本。本文說明如何查看下列重要磁碟詳細資料:

  • 專案中所有可用磁碟的清單,包括未附加至執行個體的磁碟
  • 連接的執行個體
  • 是否要與執行個體一併自動刪除磁碟
  • 存取模式
  • 處理量和每秒輸入/輸出作業數 (IOPS) 成效指標
  • 加密資訊

事前準備

  • 如果尚未設定驗證,請先完成設定。驗證機制會確認您的身分,以便授予 Google Cloud 服務和 API 的存取權。如要從本機開發環境執行程式碼或範例,您可以選取下列其中一個選項,向 Compute Engine 進行驗證:

    請根據您打算如何使用本頁範例,選取對應的分頁標籤:

    控制台

    使用 Google Cloud 控制台存取 Google Cloud 服務和 API 時,不需要設定驗證機制。

    gcloud

    1. 安裝 Google Cloud CLI。 安裝完成後, 請執行下列指令,初始化 Google Cloud CLI:

      gcloud init

      如果採用外部識別資訊提供者 (IdP),必須先 使用聯合身分登入 gcloud CLI。

  • 設定預設區域和可用區。
  • REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。

      如果採用外部識別資訊提供者 (IdP),必須先 使用聯合身分登入 gcloud CLI。

    詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」一節。

查看專案中的所有磁碟

如要全面瞭解儲存空間資源,您可以列出專案中的所有磁碟,包括未連結至執行個體的磁碟。

控制台

前往 Google Cloud 控制台的「Disks」(磁碟) 頁面。

前往「Disks」(磁碟) 頁面

「Disks」(磁碟) 頁面會列出專案中的所有磁碟。

gcloud

執行 disks list 指令。

gcloud compute disks list

指令輸出

專案中所有 Persistent Disk 和 Hyperdisk 磁碟區的清單。

如要查看特定區域或可用區中的磁碟,請使用 --zone 或 --region 旗標指定位置。

REST

向 compute.disks.aggregatedList 方法發出 POST 要求。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/disks/

更改下列內容:

  • PROJECT_ID:您的專案 ID。

要求回應

專案中所有 Persistent Disk 和 Hyperdisk 磁碟區的清單。

查看磁碟連接的執行個體

瞭解磁碟的使用情形,並找出連結至磁碟的執行個體,避免因未使用的磁碟而產生費用。

控制台

  1. 前往 Google Cloud 控制台的「Disks」(磁碟) 頁面。

    前往「Disks」(磁碟) 頁面

  2. 在「Name」(名稱) 欄中,按一下磁碟名稱。

  3. 在「Properties」(屬性) 表格中,標示為「In use by」(使用中) 的資料列會列出連接至磁碟的所有執行個體。

gcloud

執行 gcloud compute disks describe 指令。

gcloud compute disks describe DISK_NAME \
    --zone=ZONE
    --format="json(users)"

更改下列內容:

  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱。

指令輸出

如果輸出內容為 null,表示磁碟未連接至任何執行個體。否則,輸出內容會是包含 users 欄位的 JSON 物件。users 欄位會列出使用該磁碟的所有執行個體網址。

REST

向 compute.disks.get 方法發出 POST 要求。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱。

要求回應

REST 回應是 JSON 物件,其中包含名為 users 的欄位。

如果 users 欄位的值為 null,表示磁碟未連結至任何執行個體。否則,users 物件會列出使用該磁碟的所有執行個體網址。

查看磁碟是否已啟用自動刪除功能

為避免意外遺失資料,請確認刪除附加的執行個體時,開機磁碟或非開機磁碟是否會一併刪除。

根據預設,開機磁碟會啟用 autoDelete,也就是說,刪除執行個體時,也會一併刪除其附加的開機磁碟。不過,如果您想保留連接的開機磁碟,可以覆寫這項設定。如果非開機磁碟已啟用 autoDelete,也會一併刪除。

控制台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 在「Name」(名稱) 欄中,按一下執行個體名稱。

  3. 在「Storage」(儲存空間) 區段中,前往「When deleting instance」(刪除執行個體時) 欄。「When deleting instance」(刪除執行個體時) 可以是下列其中一個值:

    • 刪除磁碟:磁碟會與執行個體一併刪除。
    • 保留磁碟:磁碟不會與執行個體一併刪除。

gcloud

執行 gcloud compute disks describe 指令。

gcloud compute disks describe DISK_NAME \
    --zone=ZONE

更改下列內容:

  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱。

指令輸出

包含 autoDelete 欄位的 JSON 物件。autoDelete 說明磁碟是否會與其附加的執行個體一併刪除,可能的值如下:

  • true:磁碟會與執行個體一併刪除。
  • false:磁碟不會與執行個體一併刪除。

REST

向 compute.disks.get 方法發出 POST 要求。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱。

要求回應

包含 autoDelete 欄位的 JSON 物件。autoDelete 指出磁碟是否會與其附加的執行個體一併刪除,可能的值如下:

  • true:磁碟會與執行個體一併刪除。
  • false:磁碟不會與執行個體一併刪除。

如要變更這項設定,請參閱「修改磁碟的自動刪除設定」。

查看磁碟剩餘空間

如要查看磁碟剩餘空間,而不連線至連接的執行個體,請在執行個體上安裝 Ops Agent。Ops Agent 會提供 bytes_used (已使用的磁碟位元組) 和 percent_used (磁碟使用率) 的其他指標。

如要進一步瞭解如何監控磁碟空間,請參閱「Ops Agent 指標」。

查看 Hyperdisk 的存取模式

存取模式會決定 Hyperdisk 磁碟區是否能連接至多個執行個體,以及連接的執行個體是否具備磁碟的唯讀或讀取/寫入權限。

控制台

  1. 前往 Google Cloud 控制台的「Disks」(磁碟) 頁面。

    前往「Disks」(磁碟) 頁面

  2. 在「Name」(名稱) 欄中,按一下磁碟名稱。

  3. 在「Properties」(屬性) 表格中,標示為「Access mode」(存取模式) 的資料列會說明執行個體如何存取磁碟上的資料,可能的值如下:

    • 以讀寫模式連接單一 VM (預設):可從一個執行個體讀取/寫入。
    • 以讀寫模式連接多個 VM,可從多個執行個體讀取/寫入。
    • 以唯讀模式連接多個 VM,可從多個執行個體唯讀存取。

gcloud

執行 gcloud compute disks describe 指令。

gcloud compute disks describe DISK_NAME \
    --zone=ZONE \
    --format="json(accessMode)"

更改下列內容:

  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱。

指令輸出

包含 accessMode 欄位的 JSON 物件。accessMode 說明執行個體如何存取磁碟上的資料,可能的值如下:

  • READ_ONLY_MANY:可從多個執行個體唯讀存取。
  • READ_WRITE_MANY,可從多個執行個體讀取/寫入。
  • READ_WRITE_SINGLE:可從一個執行個體讀取/寫入。

REST

向 compute.disks.get 方法發出 POST 要求。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱

要求回應

REST 回應是 JSON 物件,其中包含名為 accessMode 的欄位。accessMode 說明執行個體如何存取磁碟上的資料,可能的值如下:

  • READ_ONLY_MANY:可從多個執行個體唯讀存取。
  • READ_WRITE_MANY,可從多個執行個體讀取/寫入。
  • READ_WRITE_SINGLE:可從一個執行個體讀取/寫入。

判斷磁碟是否正常運作

磁碟的 IOPS 和處理量有上限。這些限制取決於磁碟大小和連結的執行個體。磁碟的最大效能不得超過其所連接執行個體的限制。

如要判斷 Hyperdisk 或 Persistent Disk 磁碟區的效能是否符合預期 (根據磁碟區大小和連接的執行個體),請完成下列步驟:

  1. 查看磁碟的佈建或最高效能。
  2. 比較佈建或最大效能與磁碟的實際效能。

查看磁碟佈建或最高效能的步驟,取決於磁碟是 Hyperdisk 還是 Persistent Disk。

查看 Hyperdisk 的佈建效能

如要查看 Hyperdisk 磁碟區的佈建 IOPS 和處理量值,請參閱「查看 Hyperdisk 的佈建效能設定」。

查看永久磁碟的效能上限

Persistent Disk 磁碟區的處理量和 IOPS 限制,取決於每 GiB 和每個執行個體可承受的負載。以下各節將詳細說明可用區和區域性 Persistent Disk 的效能限制:

平衡型永久磁碟和 SSD (效能) 永久磁碟也提供基準效能,可維持 IOPS 和處理量。如要計算平衡型永久磁碟或 SSD 永久磁碟磁碟區的最大 IOPS 和處理量值,請使用下列方程式:

Maximum expected performance = Baseline performance + (Per GiB performance limit * Combined disk size in GiB)

詳情請參閱「基準效能」。

查看磁碟的實際效能

如要查看磁碟的 IOPS 和處理量效能,請使用 Google Cloud 控制台。

控制台

  1. 前往 Google Cloud 控制台的「VM instances」(VM 執行個體) 頁面。

    前往 VM 執行個體

  2. 在「Name」(名稱) 欄中,按一下磁碟所連結的 VM 名稱。

  3. 按一下「觀測能力」。

  4. 在選單中,依序選取「磁碟」>「效能」。

    系統會顯示圖表,說明磁碟的 IOPS 和處理量效能。如要查看所有圖表,請安裝 Ops Agent。

如要查看磁碟效能的詳細報表,請參閱「查看磁碟效能指標」。

如果磁碟效能不如預期,請參閱「監控磁碟健康狀態」中的指南。

查看磁碟加密資訊

Compute Engine 中的磁碟會使用下列其中一種加密金鑰加密:

  • Google-owned and managed keys
  • 客戶自行管理的加密金鑰 (CMEK)
  • 客戶提供的加密金鑰 (CSEK)

Compute Engine 預設會使用 Google-owned and managed keys。

控制台

  1. 前往 Google Cloud 控制台的「Disks」(磁碟) 頁面。

    前往「Disks」(磁碟) 頁面

  2. 在「Name」(名稱) 欄中,按一下磁碟名稱。

  3. 在「Properties」(屬性) 表格中,標示為「Encryption」(加密) 的資料列會指出加密類型:「Google managed」(Google 代管)、「Customer-managed」(客戶自行管理) 或「Customer-supplied」(客戶提供)。

gcloud

執行 gcloud compute disks describe 指令。

gcloud compute disks describe DISK_NAME \
    --zone=ZONE \
    --format="json(diskEncryptionKey)"

更改下列內容:

  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱。

指令輸出

如果輸出內容為 null,表示磁碟使用 Google-owned and managed key。

否則,輸出內容會是 JSON 物件。

如果 JSON 物件包含名為 diskEncryptionKey 的欄位,表示磁碟已加密。diskEncryptionKey 物件包含磁碟是否經過 CMEK 或 CSEK 加密的資訊:

  • 如果出現 diskEncryptionKey.kmsKeyName 屬性,表示磁碟已由 CMEK 加密。kmsKeyName 屬性會指出用於加密磁碟的特定金鑰名稱:
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • 如果存在 diskEncryptionKey.sha256 屬性,則磁碟已由 CSEK 加密。sha256 屬性是客戶提供的加密金鑰 SHA-256 雜湊,用於保護磁碟。
      {
        "diskEncryptionKey": {
          "sha256": "abcdefghijk134560459345dssfd"
        }
      }
        

REST

向 compute.disks.get 方法發出 POST 要求。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱

要求回應

如果回應是 null,則磁碟使用的是 Google-owned and managed key。

否則,回應會是 JSON 物件。

如果 JSON 物件包含名為 diskEncryptionKey 的欄位,表示磁碟已加密。diskEncryptionKey 物件包含磁碟是否經過 CMEK 或 CSEK 加密的資訊:

  • 如果出現 diskEncryptionKey.kmsKeyName 屬性,表示磁碟已由 CMEK 加密。kmsKeyName 屬性會指出用於加密磁碟的特定金鑰名稱:
    {
      "diskEncryptionKey": {
        "kmsKeyName": "projects/my-proj/.."
      }
    }
    
  • 如果存在 diskEncryptionKey.sha256 屬性,則磁碟已由 CSEK 加密。sha256 屬性是客戶提供的加密金鑰 SHA-256 雜湊,用於保護磁碟。
      {
        "diskEncryptionKey": {
          "sha256": "abcdefghijk134560459345dssfd"
        }
      }
        

如果磁碟使用 CMEK,請按照「依專案查看金鑰」中的步驟操作,查看金鑰、金鑰環和位置的詳細資訊。

如果磁碟使用 CSEK,請與貴組織的管理員聯絡,瞭解金鑰詳情。使用 CMEK 時,您也可以透過金鑰使用情形追蹤功能,查看該金鑰保護的資源。詳情請參閱「查看金鑰用量」。

查看磁碟的所有詳細資料

如需磁碟的一般資訊,您可以一次查看磁碟的所有屬性。

控制台

  1. 前往 Google Cloud 控制台的「Disks」(磁碟) 頁面。

    前往「Disks」(磁碟) 頁面

  2. 在「Name」(名稱) 欄中,按一下磁碟名稱。

    「Properties」(屬性) 表格會顯示基本磁碟資訊摘要。

  3. 如要查看其他磁碟資訊,請按一下「EQUIVALENT REST」(對等 REST)。

    對話方塊視窗隨即顯示,其中包含 Compute Engine API 的原始 REST 回應。

gcloud

執行 gcloud compute disks describe 指令。

gcloud compute disks describe DISK_NAME \
    --zone=ZONE

更改下列內容:

  • DISK_NAME:磁碟名稱。
  • ZONE:磁碟所在的可用區。

指令輸出

與 Compute Engine 磁碟相關聯的所有資料。

REST

向 compute.disks.get 方法發出 POST 要求。

  POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME

更改下列內容:

  • PROJECT_ID:您的專案 ID。
  • ZONE:磁碟所在的可用區。
  • DISK_NAME:磁碟名稱

要求回應

REST 回應包含與 Compute Engine 磁碟相關聯的所有資料。

後續步驟