建立及管理重複磁區
從快照建立一個 Block Storage for Classic 卷的副本,並繼承或自訂其容量與效能設定,該副本可設定為依賴型或獨立型。
預設情況下,複製磁碟區會繼承原始磁碟區的容量和效能選項,但您可以在建立時自訂這兩項屬性。 複本包含用來建立快照的資料複本。
如果您是 IBM Cloud® Kubernetes Service 的「專用」帳戶使用者,請參閱 IBM Cloud Kubernetes Service 文件中您用於複製磁區的選項。
因為重複磁區的基礎是時間點 Snapshot 中的資料,所以原始磁區上需要有 Snapshot 空間,您才能建立重複磁區。 如需 Snapshot 以及如何訂購 Snapshot 空間的相關資訊,請參閱 Snapshot 文件。
重複磁區的類型
獨立副本
無論是主卷還是副本卷,皆可建立獨立的複本。 該副本是在與原始卷相同的数据中心中建立的。 若您從複本卷建立複製卷,該複製卷將建立在與複本卷相同的数据中心中。
獨立重複磁區的一般用途
- 金級副本。 將儲存卷用作「黃金副本」,您可據此建立多個實例,以滿足各種用途。
- 重新整理資料。 請建立生產環境資料的副本,並將其掛載至非生產環境以進行測試。
- 開發與測試。 一次最多可同時建立磁區的四個重複磁區,以建立重複資料來進行開發及測試。
相依重複項
相依重複磁區是使用主要磁區中的 Snapshot 來建立。 抄本磁區無法用來建立或更新相依重複項。
相依重複磁區的一般用途
- 災難回復測試。 建立來源磁區的副本,並將它與抄本進行比較。 透過將複本與抄本進行比較,您可以驗證正在抄寫的資料是否完整,且在發生災難時可以使用,而不會岔斷抄寫。
- 從 Snapshot 還原。 從 Snapshot 還原具有特定檔案和日期之原始磁區上的資料,而不使用 Snapshot 還原功能來改寫整個原始磁區。
- 重新整理資料。 請建立生產環境資料的副本,並將其掛載至非生產環境以進行測試。
- 開發與測試。 一次最多可同時建立磁區的四個重複磁區,以建立重複資料來進行開發及測試。
在控制台中建立重複卷
您可以使用數種方式,從 CLI 及在 IBM Cloud 主控台 中建立重複磁區。
從控制台中的儲存清單建立副本
-
點選基礎架構>經典基礎架構>儲存> Block Storage for Classic IBM Cloud控制台中的Block Storage for Classic列表。
-
從清單中選取磁區,然後按一下省略符號
> 複製磁區。
-
選取重複項是相依或獨立。
-
請選擇要用來建立複本的快照選項。 您可以選擇現有的快照,或建立一個新的快照。
-
位置條目與原始卷保持一致。
-
按小時或按月計費 – 您可以選擇佈建按小時或按月計費的重複磁區。 會自動選取原始磁區的計費類型。 如果您要為重複儲存空間選擇不同的計費類型,則可以在這裡進行該選擇。
-
您可以更新新磁區的大小,讓它大於原始磁區。 依預設,會設定原始磁區的大小。
Block Storage for Classic 可以調整為磁區原始大小的 10 倍。
-
您可以更新新磁區的 Snapshot 空間,以新增更多、更少 Snapshot 空間,或不新增 Snapshot 空間。
-
您可以選取與原始磁區不同的 OS 類型,或保持相同。
-
如果您願意,可以為新卷指定 IOPS 或 IOPS 層級。 依預設,會設定原始磁區的 IOPS 指定。 會顯示可用的效能與大小組合。
- 如果您的原始磁區是 0.25 IOPS 的「耐久性」層級,則無法進行新的選擇。
- 如果您的原始磁區是 2、4 或 10 IOPS 的「耐久性」層級,則可以將新磁區移到這些層級之間的任何位置。
-
若您已閱讀並同意相關條款與條件,請勾選此方塊。
-
請按「建立」以繼續。
從使用者介面的「磁區詳細資料」頁面建立重複項目
-
移至您的 Block Storage for Classic 清單。
-
按一下清單中的磁區,以檢視詳細資料頁面。 (它可以是複本,也可以是主卷。)
-
按一下 動作
> 複製磁區。
-
選取重複項是相依或獨立。
-
請選擇要用來建立複本的快照選項。 您可以選擇現有的快照,或建立一個新的快照。
-
位置條目與原始卷保持一致。
-
按小時或按月計費 – 您可以選擇佈建按小時或按月計費的重複磁區。 會自動選取原始磁區的計費類型。 如果您要為重複儲存空間選擇不同的計費類型,則可以在這裡進行該選擇。
-
您可以更新新磁區的大小,讓它大於原始磁區。 依預設,會設定原始磁區的大小。
Block Storage for Classic 可以調整為磁區原始大小的 10 倍。
-
您可以更新新磁區的 Snapshot 空間,以新增更多、更少 Snapshot 空間,或不新增 Snapshot 空間。
-
您可以選取與原始磁區不同的 OS 類型,或保持相同。
-
如果您願意,可以為新卷指定 IOPS 或 IOPS 層級。 依預設,會設定原始磁區的 IOPS 指定。 會顯示可用的效能與大小組合。
- 如果您的原始磁區是 0.25 IOPS 的「耐久性」層級,則無法進行新的選擇。
- 如果您的原始磁區是 2、4 或 10 IOPS 的「耐久性」層級,則可以將新磁區移到這些層級之間的任何位置。
-
若您已閱讀並同意相關條款與條件,請勾選此方塊。
-
請按「建立」以繼續。
按一下 建立之後,會出現訂單確認視窗。 當您關閉視窗時,會回到資源清單。 您可以回到 Block Storage for Classic 磁區清單,以按一下新佈建的副本。 磁區詳細資料區段會顯示諸如「重複類型」、母項磁區詳細資料頁面的鏈結,以及用來建立重複項目的 Snapshot 名稱等資訊。
透過命令列介面建立複本
開始之前,請決定您要使用的 CLI 用戶端。
- 您可以安裝 IBM Cloud CLI,並使用
ibmcloud plugin install sl來安裝 SL 外掛程式。 如需相關資訊,請參閱 使用外掛程式延伸 IBM Cloud CLI。 - 或者,您可以安裝 SLCLI。
從 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 中的資料來更新重複磁區。
如果重複磁區是獨立的,您可以停止執行中的重新整理作業,並啟動新的重新整理作業。
-
點選基礎架構>經典基礎架構>儲存> Block Storage for Classic IBM Cloud控制台中的Block Storage for Classic列表。
-
找出重複的磁區,然後按一下其名稱以檢視磁區詳細資料。
-
按一下 動作
> 還原母項 Snapshot。
-
從 Snapshot 清單中,選取保留您要還原至重複磁區之資料的母項 Snapshot。 如果您要重新整理的重複磁區是獨立磁區,您可以停止執行中作業,並強制啟動新的還原。 如果您要強制停止任何現行重新整理處理程序,請先勾選此方框,然後再繼續。
從 Snapshot 還原資料會導致遺失自建立所選取 Snapshot 以來所建立或修改的任何資料。 在刷新交易期間,重複的卷會被停用,並須在刷新完成後重新掛載。
-
請按「是」以開始重新整理。 刷新過程可能需要一段時間才能完成。 狀態列顯示複製到磁區的資料百分比。 若要查看更新的狀態,請重新整理瀏覽器中的頁面。
在控制台中將從屬卷轉換為獨立副本
- 點選基礎架構>經典基礎架構>儲存> Block Storage for Classic IBM Cloud控制台中的Block Storage for Classic列表。
- 找出重複的磁區,然後按一下其名稱以檢視磁區詳細資料。
- 按一下 動作
> 轉換相依副本。
- 勾選方框以確認您要繼續進行轉換。
- 按一下是。
轉換過程可能需要一些時間才能完成。 磁區越大,轉換它所花費的時間越長。 您可以在磁區詳細資料頁面上的 重複轉換狀態 標頭下檢視處理程序的狀態。
從 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 參考資料。
取消具有相依重複項的儲存磁區
取消具有作用中相依磁區的母磁區需要先取消相依重複磁區。