建立及管理重複磁區

從快照建立一個 Block Storage for Classic 卷的副本,並繼承或自訂其容量與效能設定,該副本可設定為依賴型或獨立型。

預設情況下,複製磁碟區會繼承原始磁碟區的容量和效能選項,但您可以在建立時自訂這兩項屬性。 複本包含用來建立快照的資料複本。

如果您是 IBM Cloud® Kubernetes Service 的「專用」帳戶使用者,請參閱 IBM Cloud Kubernetes Service 文件中您用於複製磁區的選項。

因為重複磁區的基礎是時間點 Snapshot 中的資料,所以原始磁區上需要有 Snapshot 空間,您才能建立重複磁區。 如需 Snapshot 以及如何訂購 Snapshot 空間的相關資訊,請參閱 Snapshot 文件

重複磁區的類型

獨立副本

無論是主卷還是副本卷,皆可建立獨立的複本。 該副本是在與原始卷相同的数据中心中建立的。 若您從複本卷建立複製卷,該複製卷將建立在與複本卷相同的数据中心中。

獨立重複磁區的一般用途

  • 金級副本。 將儲存卷用作「黃金副本」,您可據此建立多個實例,以滿足各種用途。
  • 重新整理資料。 請建立生產環境資料的副本,並將其掛載至非生產環境以進行測試。
  • 開發與測試。 一次最多可同時建立磁區的四個重複磁區,以建立重複資料來進行開發及測試。

相依重複項

相依重複磁區是使用主要磁區中的 Snapshot 來建立。 抄本磁區無法用來建立或更新相依重複項。

相依重複磁區的一般用途

  • 災難回復測試。 建立來源磁區的副本,並將它與抄本進行比較。 透過將複本與抄本進行比較,您可以驗證正在抄寫的資料是否完整,且在發生災難時可以使用,而不會岔斷抄寫。
  • 從 Snapshot 還原。 從 Snapshot 還原具有特定檔案和日期之原始磁區上的資料,而不使用 Snapshot 還原功能來改寫整個原始磁區。
  • 重新整理資料。 請建立生產環境資料的副本,並將其掛載至非生產環境以進行測試。
  • 開發與測試。 一次最多可同時建立磁區的四個重複磁區,以建立重複資料來進行開發及測試。

在控制台中建立重複卷

您可以使用數種方式,從 CLI 及在 IBM Cloud 主控台 中建立重複磁區。

從控制台中的儲存清單建立副本

  1. 點選基礎架構>經典基礎架構>儲存> Block Storage for Classic IBM Cloud控制台中的Block Storage for Classic列表。

  2. 從清單中選取磁區,然後按一下省略符號 動作圖示 > 複製磁區

  3. 選取重複項是相依或獨立。

  4. 請選擇要用來建立複本的快照選項。 您可以選擇現有的快照,或建立一個新的快照。

  5. 位置條目與原始卷保持一致。

  6. 按小時或按月計費 – 您可以選擇佈建按小時或按月計費的重複磁區。 會自動選取原始磁區的計費類型。 如果您要為重複儲存空間選擇不同的計費類型,則可以在這裡進行該選擇。

  7. 您可以更新新磁區的大小,讓它大於原始磁區。 依預設,會設定原始磁區的大小。

    Block Storage for Classic 可以調整為磁區原始大小的 10 倍。

  8. 您可以更新新磁區的 Snapshot 空間,以新增更多、更少 Snapshot 空間,或不新增 Snapshot 空間。

  9. 您可以選取與原始磁區不同的 OS 類型,或保持相同。

  10. 如果您願意,可以為新卷指定 IOPS 或 IOPS 層級。 依預設,會設定原始磁區的 IOPS 指定。 會顯示可用的效能與大小組合。

    • 如果您的原始磁區是 0.25 IOPS 的「耐久性」層級,則無法進行新的選擇。
    • 如果您的原始磁區是 2、4 或 10 IOPS 的「耐久性」層級,則可以將新磁區移到這些層級之間的任何位置。
  11. 若您已閱讀並同意相關條款與條件,請勾選此方塊。

  12. 請按「建立」以繼續。

從使用者介面的「磁區詳細資料」頁面建立重複項目

  1. 移至您的 Block Storage for Classic 清單。

  2. 按一下清單中的磁區,以檢視詳細資料頁面。 (它可以是複本,也可以是主卷。)

  3. 按一下 動作 「動作」圖示> 複製磁區

  4. 選取重複項是相依或獨立。

  5. 請選擇要用來建立複本的快照選項。 您可以選擇現有的快照,或建立一個新的快照。

  6. 位置條目與原始卷保持一致。

  7. 按小時或按月計費 – 您可以選擇佈建按小時或按月計費的重複磁區。 會自動選取原始磁區的計費類型。 如果您要為重複儲存空間選擇不同的計費類型,則可以在這裡進行該選擇。

  8. 您可以更新新磁區的大小,讓它大於原始磁區。 依預設,會設定原始磁區的大小。

    Block Storage for Classic 可以調整為磁區原始大小的 10 倍。

  9. 您可以更新新磁區的 Snapshot 空間,以新增更多、更少 Snapshot 空間,或不新增 Snapshot 空間。

  10. 您可以選取與原始磁區不同的 OS 類型,或保持相同。

  11. 如果您願意,可以為新卷指定 IOPS 或 IOPS 層級。 依預設,會設定原始磁區的 IOPS 指定。 會顯示可用的效能與大小組合。

    • 如果您的原始磁區是 0.25 IOPS 的「耐久性」層級,則無法進行新的選擇。
    • 如果您的原始磁區是 2、4 或 10 IOPS 的「耐久性」層級,則可以將新磁區移到這些層級之間的任何位置。
  12. 若您已閱讀並同意相關條款與條件,請勾選此方塊。

  13. 請按「建立」以繼續。

按一下 建立之後,會出現訂單確認視窗。 當您關閉視窗時,會回到資源清單。 您可以回到 Block Storage for Classic 磁區清單,以按一下新佈建的副本。 磁區詳細資料區段會顯示諸如「重複類型」、母項磁區詳細資料頁面的鏈結,以及用來建立重複項目的 Snapshot 名稱等資訊。

透過命令列介面建立複本

開始之前,請決定您要使用的 CLI 用戶端。

從 IBMCLOUD CLI 建立重複項目

您可以使用 ibmcloud sl block volume-duplicate 指令來建立區塊共用的副本。 下列範例會建立區塊共用 560382016 的獨立副本。

ibmcloud sl block volume-duplicate 560382016
This action will incur charges on your account. Continue?> y
OK
Order 110554892 was placed.
 > Storage as a Service
 > File Storage
 > 500 GBs
 > 4 IOPS per GB
 > 500 GB (Snapshot Space)
You may run 'ibmcloud sl block volume-list --order 110554892' to find this block volume after it is ready.

如果您有特定的快照,而該快照持有您要用來建立複製磁碟區的資料,請使用 --origin-snapshot-id 選項指定該快照的 ID。

您的新副本已在幾分鐘內備妥。

$ ibmcloud sl block volume-list --order 110554892
id          username             datacenter   storage_type             capacity_gb   bytes_used   IOPs   ip_addr                                 lunId   active_transactions   rep_partner_count   notes
560391190   SL02SEV1414935_269   dal09        endurance_block_storage   500           -            -      fsf-dal0902b-fz.service.softlayer.com   -       1                     0                   -

當您想要建立磁區的相依副本時,請搭配使用指令與 --dependent-duplicate 選項。 請參閱下列範例。

$ ibmcloud sl block volume-duplicate 560391190 --dependent-duplicate
This action will incur charges on your account. Continue?> y
OK
Order 110553472 was placed.
 > Storage as a Service
 > File Storage
 > 500 GBs
 > 4 IOPS per GB
 > 500 GB (Snapshot Space)
You may run 'ibmcloud sl block volume-list --order 110553472' to find this block volume after it is ready.

如需此指令可用的所有參數的相關資訊,請參閱 ibmcloud sl block volume-duplicate

透過 SLCLI 建立副本

若要建立 獨立重複的 Block Storage for Classic 磁區,您可以使用下列指令。

$ slcli block volume-duplicate --help
Usage: slcli block volume-duplicate [OPTIONS] ORIGIN_VOLUME_ID
Options:
  -o, --origin-snapshot-id INTEGER
                                  ID of an origin volume snapshot to use for
                                  duplcation.
  -c, --duplicate-size INTEGER    Size of duplicate block volume in GB. ***If
                                  no size is specified, the size of the origin
                                  volume will be used.***
                                  Minimum: [the size
                                  of the origin volume]
  -i, --duplicate-iops INTEGER    Performance Storage IOPS, between 100 and
                                  6000 in multiples of 100 [only used for
                                  performance volumes] ***If no IOPS value is
                                  specified, the IOPS value of the origin
                                  volume will be used.***
                                  Requirements: [If
                                  IOPS/GB for the origin volume is less than
                                  0.3, IOPS/GB for the duplicate must also be
                                  less than 0.3. If IOPS/GB for the origin
                                  volume is greater than or equal to 0.3,
                                  IOPS/GB for the duplicate must also be
                                  greater than or equal to 0.3.]
  -t, --duplicate-tier [0.25|2|4|10]
                                  Endurance Storage Tier (IOPS per GB) [only
                                  used for endurance volumes] ***If no tier is
                                  specified, the tier of the origin volume
                                  will be used.***
                                  Requirements: [If IOPS/GB
                                  for the origin volume is 0.25, IOPS/GB for
                                  the duplicate must also be 0.25. If IOPS/GB
                                  for the origin volume is greater than 0.25,
                                  IOPS/GB for the duplicate must also be
                                  greater than 0.25.]
  -s, --duplicate-snapshot-size INTEGER
                                  The size of snapshot space to order for the
                                  duplicate. ***If no snapshot space size is
                                  specified, the snapshot space size of the
                                  origin block volume will be used.***
                                  Input
                                  "0" for this parameter to order a duplicate
                                  volume with no snapshot space.
  --billing [hourly|monthly]      Optional parameter for Billing rate (default
                                  to monthly)
  -h, --help                      Show this message and exit.

也可以使用 --dependent-duplicate TRUE 選項從 CLI 訂購 相依重複 磁區。

slcli block volume-duplicate --dependent-duplicate TRUE ORIGIN_VOLUME_ID

如需可用指令選項的相關資訊,請參閱 block volume-duplicate

使用 API 建立複製磁碟區

若要使用 API 訂購獨立的複製 Block Storage for Classic 卷,您可以對 SL API 進行 POST 呼叫。 以下 REST API 範例會為耐力型 (IOPS 層級) 卷創建獨立副本,該卷透過其卷 ID 在 屬性 duplicateOriginVolumeId 中識別。

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder
  • 類型-POST
  • 要求內文-
    {
        "parameters":[{
        "complexType": "SoftLayer_Container_Product_Order_Network_Storage_AsAService",
        "packageId": 531,
        "duplicateOriginVolumeId":<PrimaryId>,
        "isDependentDuplicateFlag": 0,
        "prices": [{"id": 19497}, {"id": 16479}, {"id": 12931}, {"id": 15749}, {"id":10407}],
        "quantity": 1,
        "osFormatType":{
         "keyName": "LINUX"
        },
        "location": 2,
        "volumeSize":23
        }]
    }
    
    如果您有特定的快照,而該快照持有您要用來建立複製磁碟區的資料,請在 duplicateOriginSnapshotId 屬性中指定該快照的 ID。

若要訂購效能 (自訂 IOPS) 磁區的 相依副本,請發出類似於下列 REST API 範例的 POST /SoftLayer_Product_Order/placeOrder 呼叫。

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Product_Order/placeOrder
  • 類型-POST
  • 要求內文-
    {
        "parameters":[{
        "complexType": "SoftLayer_Container_Product_Order_Network_Storage_AsAService",
        "packageId": 531,
        "duplicateOriginVolumeId":1327277,
        "isDependentDuplicateFlag": 1,
        "prices": [{"id": 15751}, {"id": 19487}, {"id": 18983}, {"id": 15749}, {"id":10407}],
        "quantity": 1,
        "iops":454,
        "osFormatType":{
            "keyName": "LINUX"
        },
        "location": 2,
        "volumeSize":23
        }]
    }
    
    如果您有特定的快照,而該快照持有您要用來建立複製磁碟區的資料,請在 duplicateOriginSnapshotId 屬性中指定該快照的 ID。

如需 API 和選項的相關資訊,請參閱 API 參考資料。 尋找 SoftLayer_Container_Product_Order_Network_Storage_AsAService 資料類型。

管理重複磁區

只要佈建磁區,主機就可以存取所有重複磁區來進行讀取和寫入作業。

不過,在完成從原始複製到複製的資料複製,且複製磁區完全獨立之前,不容許獨立複製磁區的 Snapshot 及抄寫。 視資料大小而定,分隔處理程序可能需要數小時。 完成後,該副本即可被管理,並作為獨立的卷使用。

當資料正從原始卷複製到獨立副本時,您會看到詳細資訊頁面的狀態指示器顯示複製作業正在進行中。 在此期間,您可以將卷掛載至主機,並對該卷進行讀寫操作,但無法建立快照排程或啟動刷新。 當分離程序完成後,新卷將與原始卷相互獨立,並可照常透過快照和複寫進行管理。 轉換完成之後,可以使用母磁區中的 Snapshot 來手動重新整理獨立磁區。

相依 重複項不會執行分隔處理程序,且可以隨時手動重新整理。 刷新過程可以從 CLI、API 和控制台啟動。 稍後,如果您要將相依副本轉換為獨立磁區,則也可以使用使用者介面、CLI 或 API 來起始該處理程序。

相依重複磁區會鎖定原始 Snapshot,因此當相依重複磁區存在時,無法刪除 Snapshot。

在控制台中更新父卷的副本數據

隨著時間過去及主要磁區變更,可以使用這些變更來更新重複磁區,以透過重新整理動作反映現行狀態。 重新整理包括取得主要磁區的 Snapshot,然後使用該 Snapshot 中的資料來更新重複磁區。

如果重複磁區是獨立的,您可以停止執行中的重新整理作業,並啟動新的重新整理作業。

  1. 點選基礎架構>經典基礎架構>儲存> Block Storage for Classic IBM Cloud控制台中的Block Storage for Classic列表。

  2. 找出重複的磁區,然後按一下其名稱以檢視磁區詳細資料。

  3. 按一下 動作 「動作」圖示 > 還原母項 Snapshot

  4. 從 Snapshot 清單中,選取保留您要還原至重複磁區之資料的母項 Snapshot。 如果您要重新整理的重複磁區是獨立磁區,您可以停止執行中作業,並強制啟動新的還原。 如果您要強制停止任何現行重新整理處理程序,請先勾選此方框,然後再繼續。

    從 Snapshot 還原資料會導致遺失自建立所選取 Snapshot 以來所建立或修改的任何資料。 在刷新交易期間,重複的卷會被停用,並須在刷新完成後重新掛載。

  5. 請按「」以開始重新整理。 刷新過程可能需要一段時間才能完成。 狀態列顯示複製到磁區的資料百分比。 若要查看更新的狀態,請重新整理瀏覽器中的頁面。

在控制台中將從屬卷轉換為獨立副本

  1. 點選基礎架構>經典基礎架構>儲存> Block Storage for Classic IBM Cloud控制台中的Block Storage for Classic列表。
  2. 找出重複的磁區,然後按一下其名稱以檢視磁區詳細資料。
  3. 按一下 動作 「動作」圖示 > 轉換相依副本
  4. 勾選方框以確認您要繼續進行轉換。
  5. 按一下

轉換過程可能需要一些時間才能完成。 磁區越大,轉換它所花費的時間越長。 您可以在磁區詳細資料頁面上的 重複轉換狀態 標頭下檢視處理程序的狀態。

從 CLI 更新母項磁區中的重複項資料

隨著時間過去及主要磁區變更,可以使用這些變更來更新重複磁區,以透過重新整理動作反映現行狀態。 重新整理包括取得主要磁區的 Snapshot,然後使用該 Snapshot 中的資料來更新重複磁區。

可透過以下指令啟動重新整理。

slcli block volume-refresh <duplicate-vol-id> <primary-snapshot-id>

重新整理不會在主要磁區上造成關閉時間。 然而,在刷新交易期間,重複的卷會被停用,並須待刷新完成後重新掛載。

重新整理處理程序可能很耗時。 如果您發現要複製到獨立重複磁區的新資料,您可以發出 slcli block volume-refresh 指令並搭配 --force-refresh 選項,以停止所有進行中及擱置中的重新整理交易,並起始新的重新整理。

強制重新整理處理程序僅在獨立磁區上運作。

如需可用指令選項的相關資訊,請參閱 slcli block volume-refresh

從 CLI 將相依磁區轉換為獨立副本

如果您未來想要使用相依磁區作為獨立式磁區,則可以透過 SLCLI 將它轉換為正常且獨立的 IBM Cloud® Block Storage for Classic 磁區。 請使用下列指令。

slcli block volume-convert <dependent-vol-id>

轉換過程可能需要一些時間才能完成。 磁區越大,轉換它所花費的時間越長。 請使用下列指令來檢查進度。

slcli block duplicate-convert-status <dependent-vol-id>

下列範例顯示您可以預期的輸出。

slcli block duplicate-convert-status 370597202
Username            Active Conversion Start Timestamp   Completed Percentage
SL02SEVC307608_74   2022-06-13 14:59:17                 90

如需可用指令選項的相關資訊,請參閱 duplicate-convert-status

使用 API 從母項磁區更新重複磁區上的資料

隨著時間過去及主要磁區變更,可以使用這些變更來更新重複磁區,以透過重新整理動作反映現行狀態。 重新整理包括取得主要磁區的 Snapshot,然後使用該 Snapshot 中的資料來更新重複磁區。

重新整理不會在主要磁區上造成關閉時間。 然而,在刷新交易期間,重複的卷會被停用,並須待刷新完成後重新掛載。

重新整理處理程序可能很耗時。 若要在執行中的刷新完成前將新資料加入複製檔,請再次呼叫 refreshDuplicate,並將 forceRefresh 參數設定為 true。 這會停止所有正在進行和待定的刷新事務,並開始新的刷新。 如果參數設定為 false 或未指定,則當另一個刷新正在進行時,呼叫會失敗。

強制重新整理處理程序僅在獨立磁區上運作。

REST API 範例

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Network_Storage/duplicateVolumeId/refreshDuplicate
  • 類型-POST
  • 要求內文-
    {
     "parameters": [primaryVolumeSnapshotId, true OR false]
    }
    

SOAP API 範例

  • URL - https://api.softlayer.com/soap/v3.1/SoftLayer_Network_Storage
  • 類型-POST
  • 要求內文-
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://api.service.softlayer.com/soap/v3.1/">
    <SOAP-ENV:Header>
     <ns1:authenticate>
      <username>USERNAME</username>
      <apiKey>APIKEY</apiKey>
     </ns1:authenticate>
     <ns2:SoftLayer_Network_StorageInitParameters>
      <id>duplicate Volume Id</id>
     </ns2:SoftLayer_Network_StorageInitParameters>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
     <ns1:refreshDuplicate>
       <snapshotId xsi:type="int">primary Volume Snapshot Id</snapshotId>
       <forceRefresh xsi:type="boolean">true</forceRefresh> <-- (remove this tag for normal refresh)
     </ns1:refreshDuplicate>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    

如需 API 和選項的相關資訊,請參閱 API 參考資料SoftLayer_Network_Storage::refreshDuplicate

使用 API 將相依磁區轉換為獨立副本

如果未來要使用相依磁區作為獨立式磁區,您可以使用 API 將它轉換為正常且獨立的 IBM Cloud® Block Storage for Classic 磁區。 請參閱以下使用 REST API 的範例。

  • URL - https://USERNAME:APIKEY@api.softlayer.com/rest/v3.1/SoftLayer_Network_Storage/<storageId>/convertCloneDependentToIndependent
  • 類型-POST
  • 要求內文-空白

如需 API 和選項的相關資訊,請參閱 API 參考資料

取消具有相依重複項的儲存磁區

取消具有作用中相依磁區的母磁區需要先取消相依重複磁區。