單機版:
./stor lun { L | lun } { -n | --name } LUN_NAME { -t | --target } TARGET_NAME --uuid UUID [ { -w | --write-policy } WRITE_POLICY ] [ { -P | --path } PATH ] [ --cloud-provider CLOUD_PROVIDER ] { -m | --mode } STORAGE_MODE { -B | --bucket } BUCKET_NAME [ { -X | --prefix } PREFIX ] { -A | --ak } ACCESS_KEY { -S | --sk } SECRET_KEY { -E | --endpoint } ENDPOINT [ --sign-version VERSION ] [ --region REGION ] [ { -C | --cloud-storage-class } CLOUD_STORAGE_CLASS ] [ { -M | --cloud-compression } CLOUD_COMPRESSION ]
集群版:
./stor recover { L | lun } { -n | --name } LUN_NAME { -t | --target } TARGET_NAME [ --pool POOL ] [ --cache-pool CACHE_POOL ] --uuid UUID [ { -a | --ha } HIGH_AVAILABILITY ] [ { -c | --local-storage-class } LOCAL_STORAGE_CLASS ] [ --min-replica MIN_REPLICA ] [ --ec-fragment-size EC_FRAGEMENT_SIZE ] [ --redundancy-overlap REDUNDANCY_OVERLAP ] [ { -w | --write-policy } WRITE_POLICY ] { -m | --mode } STORAGE_MODE [ --cloud-provider CLOUD_PROVIDER ] { -B | --bucket } BUCKET_NAME [ { -X | --prefix } PREFIX ] { -A | --ak } ACCESS_KEY { -S | --sk } SECRET_KEY [ { -C | --cloud-storage-class } CLOUD_STORAGE_CLASS ] { -E | --endpoint } ENDPOINT [ --sign-version VERSION ] [ --region REGION ] [ { -M | --cloud-compression } CLOUD_COMPRESSION ]
此命令用來還原HBlock上云卷。
說明
以下場景適合還原卷功能:
- 原HBlock中存在上云卷,并且將數據上傳到了云端。如果此時HBlock發生故障無法啟動,可以通過還原卷的功能,在另一個HBlock中將該卷重新生成,并且從云端進行數據恢復。
- 原上云卷被刪除,但云上數據保留,可以通過還原卷功能恢復卷數據。
注意
- 在執行還原卷的操作前,請確保源卷已經將所有數據上傳到云端,并且源卷不再繼續使用(源卷已刪除,或者源卷所在系統已經停止服務)。
- 待還原的卷名稱在當前HBlock中不存在。
- 待還原的卷必須在指定的Bucket/prefix中找到,且數據完整。
- 還原操作異步執行,請通過查詢卷的功能查看還原進度。
參數
| 參數 | 描述 |
|---|---|
| -n LUN_NAME 或 --name LUN_NAME | 源卷名稱。 |
| -t TARGET_NAME 或 --target TARGET_NAME | 指定還原卷的iSCSI target名稱。 取值:字符串形式,長度范圍1~16,只能由小寫字母、數字、句點(.)和短橫線(-)組成,且僅支持以字母或數字開頭。 說明 還原卷時,如果指定的iSCSI target名稱不存在,那么同時創建iSCSI target。 |
| --pool POOL | 指定存儲池(僅集群版支持),表示最終存儲池,卷數據最終落在該存儲池內。默認使用集群的基礎存儲池。 |
| --cache-pool CACHE_POOL | 指定緩存存儲池(僅集群版支持)。如果指定了緩存存儲池,卷數據首先寫入緩存存儲池,然后再存入存儲池。 注意 存儲池與緩存存儲池不能是同一個存儲池。 |
| --uuid UUID | 源卷的唯一標識碼。 |
| -a HIGH_AVAILABILITY 或 --ha HIGH_AVAILABILITY | 指定還原卷的高可用類型(僅集群版支持): 取值:
默認值為源卷的高可用類型。 |
| -c LOCAL_STORAGE_CLASS 或 --local-storage-class LOCAL_STORAGE_CLASS | 設置還原卷的冗余模式(僅集群版支持)。 取值:
默認值為源卷的冗余模式。 說明 以下場景均為集群可用的前提下:
|
| --min-replica MIN_REPLICA | 設置還原卷的最小副本數(僅集群版支持)。 對于副本模式的卷,假設卷副本數為X,最小副本數為Y(Y必須≤X),該卷每次寫入時,至少Y份數據寫入成功,才視為本次寫入成功。對于EC N+M模式的卷,假設該卷最小副本數設置為Y(必須滿足N≤Y≤N+M),必須滿足總和至少為Y的數據塊和校驗塊寫入成功,才視為本次寫入成功。 取值:整數。對于副本卷,取值范圍是[1, N],N為副本模式卷的副本數;對于EC卷,取值范圍是[N, N+M]。如果未設置還原卷的最小副本數,默認值為源卷的最小副本數。 |
| --ec-fragment-size EC_FRAGEMENT_SIZE | 設置還原卷的糾刪碼模式分片大小。卷冗余模式為EC模式時,此設置才生效,否則忽略。 取值:1、2、4、8、16、32、64、128、256、512、1024、2048、4096,單位是KiB。默認值為源卷的糾刪碼模式分片大小。 |
| --redundancy-overlap REDUNDANCY_OVERLAP | 指定還原卷的折疊副本數(僅集群版支持)。在數據冗余模式下,同一份數據的不同副本/分片默認分布在不同的故障域,當故障域損壞時,允許根據卷的冗余折疊原則,將多份數據副本放在同一個故障域中,但是分布在不同的path上。 注意 如果存儲池故障域級別為path,此參數不生效。如果指定了還原卷的折疊副本數,必須指定還原卷的冗余模式。 取值:整數。對于副本卷,取值范圍是[1, N],N為副本模式卷的副本數;對于EC卷,取值范圍是[1, N+M]。如果未設置還原卷的折疊副本數,默認值為源卷的折疊副本數。 |
| -w WRITE_POLICY 或 --write-policy WRITE_POLICY | 設置還原卷的寫策略:
默認值為源卷的寫策略。 |
| -P PATH 或 --path PATH | 指定還原卷存儲數據的數據目錄(僅單機版支持)。 取值:只能包含字母、數字、漢字和特殊字符(~ ! @ $ ( ) _ + - ; . :)。 如果還原卷時不指定數據目錄,使用服務器設置的默認數據目錄。 |
| -m STORAGE_MODE 或 --mode STORAGE_MODE | 設置還原卷的存儲類型:
存儲類型默認為源卷的存儲類型。 |
--cloud-provider CLOUD_PROVIDER | 指定還原卷的對象存儲服務名稱:
默認值為OOS。 說明 源卷和還原卷必須使用相同的對象存儲服務。 |
-B BUCKET_NAME 或 --bucket BUCKET_NAME | 源卷所在存儲桶的名稱。 注意 請勿開啟Bucket的生命周期設定和合規保留。 |
-X PREFIX 或 --prefix PREFIX | 源卷的前綴名稱。如果源卷未指定前綴,則此處不設置。 取值:字符串形式,長度范圍是1~256。 |
-A ACCESS_KEY 或 --ak ACCESS_KEY | 源卷的AccessKeyID。 |
-S SECRET_KEY 或 --sk SECRET_KEY | 源卷的SecretAccessKey。 |
| -C CLOUD_STORAGE_CLASS 或 --cloud-storage-class CLOUD_STORAGE_CLASS | 設置還原卷上傳數據至對象存儲的存儲類型:
默認為源卷上傳數據至對象存儲的存儲類型。 |
| -E ENDPOINT 或 --endpoint ENDPOINT | 源卷的Endpoint。 注意 如果僅輸入域名將會使用HTTPS協議進行訪問。 |
| --sign-version VERSION | 指定還原卷上云簽名認證的類型:
默認值為v2。 |
| --region REGION | 還原卷的region,即Endpoint資源池所在區域。具體region詳見OOS Endpoint和區域。 V4簽名時,此項必填。 |
-M CLOUD_COMPRESSION 或 --cloud-compression CLOUD_COMPRESSION
| 設置還原卷是否壓縮數據上傳至對象存儲:
默認值為源卷的設置。 |
示例
還原卷lun01a。
[root@songt-0004 CTYUN_HBlock_Plus_3.8.0_x64]# ./stor lun recover -n lun01a -t target01 --uuid lun-uuid-38c7678c-33fd-4abe-b80f-0f5cd3ec6b18 --pool pool1 -B hblocktest3 -A 8f129a5529f202811fd0 -S ****************** -E oos-cn.ctyunapi.cn
Confirm the information you set. If correct, enter Yes(Y). If not, enter No(N).
UUID: lun-uuid-38c7678c-33fd-4abe-b80f-0f5cd3ec6b18
LUN Name: lun01a
Local Storage Class: EC 2+1+16KiB
Minimum Replica Number: 2
Redundancy Overlap:1
Capacity: 202 GiB
iSCSI Target: target01
Local Sector Size: 4096 bytes
High Availability: ActiveStandby
Write Policy: WriteBack
Object Storage Info:
+-------------------+----------------------------+
| Provider | OOS |
| Bucket Name | hblocktest3 |
| Endpoint | //oos-cn.ctyunapi.cn |
| Signature Version | v2 |
| Region | |
| Storage Class | STANDARD |
| Access Key | 8f129a5529f202811fd0 |
| Object Size | 1024 KiB |
| Compression | Enabled |
+-------------------+----------------------------+
Y
Start to recover LUN lun01a.
You can list lun to check whether the recovery is completed.