匯入磁碟區
您可以使用將現有的儲存磁碟區匯入為Kubernetes PV tridentctl import
。
支援Volume匯入的驅動程式
下表說明支援匯入磁碟區的驅動程式、以及這些磁碟區所引進的版本。
驅動程式 | 版本 |
---|---|
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
|
19.04 |
為什麼要匯入磁碟區?
將Volume匯入Trident的使用案例有多種:
-
容器化應用程式、並重新使用現有的資料集
-
將資料集的複本用於暫時性應用程式
-
重建故障的Kubernetes叢集
-
在災難恢復期間移轉應用程式資料
匯入如何運作?
Volume匯入程序會使用持續磁碟區宣告(PVc)檔案來建立PVc。至少、PVc檔案應包含名稱、命名空間、存取模式及storageClassName欄位、如下例所示。
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: my_claim namespace: my_namespace spec: accessModes: - ReadWriteOnce storageClassName: my_storage_class
。 tridentctl
用戶端用於匯入現有的儲存磁碟區。Trident會持續儲存Volume中繼資料並建立PVc和PV、以匯入Volume。
$ tridentctl import volume <backendName> <volumeName> -f <path-to-pvc-file>
若要匯入儲存磁碟區、請指定包含該磁碟區的Astra Trident後端名稱、以及唯一識別儲存區上該磁碟區的名稱(例如ONTAP FlexVol :Wsel, Element Volume、CVS Volume path)。儲存磁碟區必須允許讀取/寫入存取、且可由指定的Astra Trident後端存取。。 -f
字串引數為必填、並指定Yaml或Json PVc檔案的路徑。
當Astra Trident收到匯入磁碟區要求時、現有的磁碟區大小會在PVc中決定及設定。儲存驅動程式匯入磁碟區之後、PV會以PVc的ClaimRef建立。回收原則一開始設定為 retain
在PV中。Kubernetes成功繫結了PVc和PV之後、系統會更新回收原則以符合儲存類別的回收原則。如果儲存類別的回收原則為 delete
、儲存磁碟區會在PV刪除時刪除。
使用匯入Volume時 --no-manage
引數:Trident不會在物件生命週期的PVc或PV上執行任何其他作業。因為Trident會忽略的PV和PVc事件 --no-manage
物件、儲存磁碟區不會在PV刪除時刪除。此外、也會忽略其他作業、例如Volume Clone和Volume resize。如果您想要將Kubernetes用於容器化工作負載、但想要管理Kubernetes以外儲存磁碟區的生命週期、則此選項非常實用。
將註釋新增至PVc和PV、這有兩種用途、表示已匯入磁碟區、以及是否管理了PVc和PV。不應修改或移除此附註。
Trident 19.07及更新版本可處理PV的附加元件、並在匯入磁碟區時掛載磁碟區。對於使用舊版Astra Trident的匯入、資料路徑不會有任何作業、而且磁碟區匯入不會驗證是否可以掛載磁碟區。如果在匯入磁碟區時發生錯誤(例如、StorageClass不正確)、您可以將PV上的回收原則變更為來恢復 retain
、刪除PVC和PV、然後重新嘗試Volume匯入命令。
ontap-nas
和 ontap-nas-flexgroup
匯入
使用建立的每個Volume ontap-nas
驅動程式FlexVol 是ONTAP 指在整個叢集上執行的功能。使用匯入FlexVols ontap-nas
驅動程式的運作方式相同。可將已存在於某個叢集上的一個功能、匯入為FlexVol ONTAP ontap-nas
PVC.同樣地FlexGroup 、也可以將此資訊匯入為 ontap-nas-flexgroup
PVCs:
若要由Trident匯入某個類型的Rw。ONTAP如果磁碟區是DP類型、則它是SnapMirror目的地磁碟區;在將磁碟區匯入Trident之前、您應該先中斷鏡射關係。 |
。 ontap-nas 驅動程式無法匯入及管理qtree。。 ontap-nas 和 ontap-nas-flexgroup 驅動程式不允許重複的磁碟區名稱。
|
例如、匯入名為的磁碟區 managed_volume
在名為的後端上 ontap_nas
,請使用下列命令:
$ tridentctl import volume ontap_nas managed_volume -f <path-to-pvc-file> +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | pvc-bf5ad463-afbb-11e9-8d9f-5254004dfdb7 | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | true | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
匯入名為的磁碟區 unmanaged_volume
(在上 ontap_nas backend
)(Trident無法管理)、請使用下列命令:
$ tridentctl import volume nas_blog unmanaged_volume -f <path-to-pvc-file> --no-manage +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | pvc-df07d542-afbc-11e9-8d9f-5254004dfdb7 | 1.0 GiB | standard | file | c5a6f6a4-b052-423b-80d4-8fb491a14a22 | online | false | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
使用時 --no-manage
引數:Trident不會重新命名磁碟區、也不會驗證磁碟區是否已掛載。如果未手動掛載磁碟區、則磁碟區匯入作業會失敗。
已修正先前使用自訂Unix權限 匯入磁碟區的錯誤。您可以在您的PVc定義或後端組態中指定unixPermissions、並指示Astra Trident依此匯入磁碟區。 |
ontap-san
匯入
Astra Trident也能匯入ONTAP 包含單一LUN的SAN FlexVols。這與一致 ontap-san
驅動程式、為FlexVol 每個實體磁碟和FlexVol 一個LUN建立一個實體。您可以使用 tridentctl import
命令的方式與其他情況相同:
-
包括的名稱
ontap-san
後端: -
請提供FlexVol 需要匯入的名稱。請記住FlexVol 、這個功能只包含一個必須匯入的LUN。
-
提供必須搭配使用的PVc定義路徑
-f
旗標。 -
您可以選擇管理或不受管理的永久虛擬網路。根據預設、Trident會管理PVc、並在FlexVol 後端重新命名該LUN。若要匯入為未受管理的Volume、請傳遞
--no-manage
旗標。
匯入未受管理的時 ontap-san Volume中的LUN FlexVol 名稱 lun0 並對應至具有所需啟動器的igroup。Astra Trident會自動處理這項作業、以便進行託管匯入。
|
然後Astra Trident會匯入FlexVol 該等物件、並將其與PVc定義建立關聯。Astra Trident也將FlexVol 該等功能重新命名為 pvc-<uuid>
格式化及FlexVol LUN在功能區內 lun0
。
建議匯入沒有現有作用中連線的磁碟區。如果您要匯入使用中的Volume、請先複製該Volume、然後再執行匯入。 |
範例
以匯入 ontap-san-managed
上的顯示FlexVol ontap_san_default
後端、執行 tridentctl import
命令形式:
$ tridentctl import volume ontapsan_san_default ontap-san-managed -f pvc-basic-import.yaml -n trident -d +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+ | pvc-d6ee4f54-4e40-4454-92fd-d00fc228d74a | 20 MiB | basic | block | cd394786-ddd5-4470-adc3-10c5ce4ca757 | online | true | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
若要由Astra Trident匯入某個類型的RW磁碟區。ONTAP如果磁碟區為DP類型、則為SnapMirror目的地磁碟區;您應該先中斷鏡射關係、再將磁碟區匯入Astra Trident。 |
element
匯入
您可以使用NetApp Element Trident將支援功能的軟體/NetApp HCI磁碟區匯入Kubernetes叢集。您需要Astra Trident後端的名稱、以及磁碟區的唯一名稱和PVc檔案做為的引數 tridentctl import
命令。
$ tridentctl import volume element_default element-managed -f pvc-basic-import.yaml -n trident -d +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+ | pvc-970ce1ca-2096-4ecd-8545-ac7edc24a8fe | 10 GiB | basic-element | block | d3ba047a-ea0b-43f9-9c42-e38e58301c49 | online | true | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Element驅動程式支援重複的Volume名稱。如果有重複的Volume名稱、Trident的Volume匯入程序會傳回錯誤。因應措施是複製磁碟區、並提供唯一的磁碟區名稱。然後匯入複製的Volume。 |
aws-cvs
匯入
若要匯入以AWS中的NetApp Cloud Volumes Service 支援為後盾的磁碟區、請使用磁碟區路徑來識別該磁碟區、而非其名稱。 |
若要匯入 aws-cvs
後端上的Volume稱為 awscvs_YEppr
的磁碟區路徑 adroit-jolly-swift
,請使用下列命令:
$ tridentctl import volume awscvs_YEppr adroit-jolly-swift -f <path-to-pvc-file> -n trident +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+ | pvc-a46ccab7-44aa-4433-94b1-e47fc8c0fa55 | 93 GiB | aws-storage | file | e1a6e65b-299e-4568-ad05-4f0a105c888f | online | true | +------------------------------------------+--------+---------------+----------+--------------------------------------+--------+---------+
Volume路徑是Volume匯出路徑的一部分、位於:/之後。例如、如果匯出路徑為 10.0.0.1:/adroit-jolly-swift 、磁碟區路徑為 adroit-jolly-swift 。
|
gcp-cvs
匯入
匯入 gcp-cvs
Volume的運作方式與匯入相同 aws-cvs
Volume:
azure-netapp-files
匯入
若要匯入 azure-netapp-files
後端上的Volume稱為 azurenetappfiles_40517
磁碟區路徑 importvol1
,執行下列命令:
$ tridentctl import volume azurenetappfiles_40517 importvol1 -f <path-to-pvc-file> -n trident +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | NAME | SIZE | STORAGE CLASS | PROTOCOL | BACKEND UUID | STATE | MANAGED | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+ | pvc-0ee95d60-fd5c-448d-b505-b72901b3a4ab | 100 GiB | anf-storage | file | 1c01274f-d94b-44a3-98a3-04c953c9a51e | online | true | +------------------------------------------+---------+---------------+----------+--------------------------------------+--------+---------+
anf磁碟區的磁碟區路徑會出現在裝載路徑中的:/之後。例如、如果掛載路徑為 10.0.0.2:/importvol1 、磁碟區路徑為 importvol1 。
|