配置儲存後端
ONTAP SAN 和 NAS 驅動程式整合
若要建立儲存後端,您需要建立 JSON 或 YAML 格式的組態檔。該檔案需要指定所需的儲存類型( NAS 或 SAN )、檔案系統、要從中取得資料的 SVM 以及如何進行驗證。以下範例展示如何定義基於 NAS 的儲存設備,以及如何使用 AWS 密碼來儲存要使用的 SVM 認證資料:
apiVersion: trident.netapp.io/v1
kind: TridentBackendConfig
metadata:
name: backend-tbc-ontap-nas
namespace: trident
spec:
version: 1
storageDriverName: ontap-nas
backendName: tbc-ontap-nas
svm: svm-name
aws:
fsxFilesystemID: fs-xxxxxxxxxx
credentials:
name: "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name"
type: awsarn
{
"apiVersion": "trident.netapp.io/v1",
"kind": "TridentBackendConfig",
"metadata": {
"name": "backend-tbc-ontap-nas"
"namespace": "trident"
},
"spec": {
"version": 1,
"storageDriverName": "ontap-nas",
"backendName": "tbc-ontap-nas",
"svm": "svm-name",
"aws": {
"fsxFilesystemID": "fs-xxxxxxxxxx"
},
"managementLIF": null,
"credentials": {
"name": "arn:aws:secretsmanager:us-west-2:xxxxxxxx:secret:secret-name",
"type": "awsarn"
}
}
}
執行下列命令以建立和驗證 Trident Backend Configuration(TBC):
-
從 yaml 檔案建立 Trident 後端組態(TBC),並執行下列命令:
kubectl create -f backendconfig.yaml -n tridenttridentbackendconfig.trident.netapp.io/backend-tbc-ontap-nas created
-
驗證 Trident 後端組態(TBC)是否已成功建立:
Kubectl get tbc -n tridentNAME BACKEND NAME BACKEND UUID PHASE STATUS backend-tbc-ontap-nas tbc-ontap-nas 933e0071-66ce-4324-b9ff-f96d916ac5e9 Bound Success
FSx for ONTAP 驅動程式詳細資料
您可以使用下列驅動程式將 Trident 與 Amazon FSx for NetApp ONTAP 整合:
-
ontap-san:每個已配置的 PV 都是其自身 Amazon FSx for NetApp ONTAP 磁碟區中的一個 LUN 。推薦用於區塊儲存。 -
ontap-nas:每個已配置的 PV 都是一個完整的 Amazon FSx for NetApp ONTAP 磁碟區。推薦用於 NFS 和 SMB。 -
ontap-san-economy:每個已配置的 PV 都是一個 LUN,每個 Amazon FSx for NetApp ONTAP 磁碟區可設定 LUN 的數量。 -
ontap-nas-economy:每個已配置的 PV 都是一個 qtree,每個 Amazon FSx for NetApp ONTAP 磁碟區可配置的 qtree 數量。 -
ontap-nas-flexgroup:每個已配置的 PV 都是一個完整的 Amazon FSx for NetApp ONTAP FlexGroup 磁碟區。
有關驅動程式詳細資料、請參閱 "NAS 驅動程式" 和 "SAN 驅動程式" 。
設定檔建立完成後,執行以下命令將其建立在 EKS 中:
kubectl create -f configuration_file
若要驗證狀態、請執行此命令:
kubectl get tbc -n trident
NAME BACKEND NAME BACKEND UUID PHASE STATUS backend-fsx-ontap-nas backend-fsx-ontap-nas 7a551921-997c-4c37-a1d1-f2f4c87fa629 Bound Success
後端進階組態和範例
請參閱下表以了解後端組態選項:
| 參數 | 說明 | 範例 |
|---|---|---|
|
始終為 1 |
|
|
儲存驅動程式的名稱 |
|
|
自訂名稱或儲存後端 |
驅動程式名稱 + "_" + dataLIF |
|
叢集或 SVM 管理 LIF 的 IP 位址,可以指定完整網域名稱(FQDN)。如果 Trident 是使用 IPv6 旗標安裝的,可以設定為使用 IPv6 位址。IPv6 位址必須用中括號定義,例如[28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。如果您在 |
"10.0.0.1", "[2001:1234:abcd::fefe]" |
|
協定 LIF 的 IP 位址。ONTAP NAS 驅動程式:NetApp 建議指定 dataLIF。如果未提供,Trident 將從 SVM 取得 dataLIF。您可以指定一個完全限定網域名稱(FQDN)用於 NFS 掛載操作,從而建立輪詢 DNS 以在多個 dataLIF 之間進行負載平衡。初始設定後可以更改。請參閱。ONTAP SAN 驅動程式:iSCSI 無需指定。Trident 使用 ONTAP 選擇性 LUN 對應來發現建立多路徑會話所需的 iSCSI LIF。如果明確定義了 dataLIF,則會產生警告。如果 Trident 是使用 IPv6 標誌安裝的,則可以設定為使用 IPv6 位址。IPv6 位址必須用方括號定義,例如 [28e8:d9fb:a825:b7bf:69a8:d02f:9e7b:3555]。 |
|
|
啟用自動匯出原則建立和更新 [布林值]。使用 `autoExportPolicy`和 `autoExportCIDRs`選項、 Trident 可以自動管理匯出原則。 |
|
|
啟用 `autoExportPolicy`時用於篩選 Kubernetes 節點 IP 的 CIDR 清單。使用 `autoExportPolicy`和 `autoExportCIDRs`選項,Trident 可以自動管理匯出原則。 |
"["0.0.0.0/0", "::/0"]" |
|
要套用於磁碟區的任意 JSON 格式標籤集 |
"" |
|
用戶端憑證的 Base64 編碼值。用於基於憑證的驗證 |
"" |
|
用戶端私密金鑰的 Base64 編碼值。用於憑證型驗證 |
"" |
|
受信任 CA 憑證的 Base64 編碼值。選用。用於憑證型驗證。 |
"" |
|
用於連接叢集或 SVM 的使用者名稱。用於基於憑證的身份驗證。例如, vsadmin 。 |
|
|
連接叢集或 SVM 的密碼。用於基於憑證的身份驗證。 |
|
|
要使用的儲存虛擬機器 |
如果指定了 SVM 管理 LIF,則會衍生。 |
|
在 SVM 中配置新磁碟區時所使用的前綴。建立後無法修改。若要更新此參數、您需要建立新的後端。 |
|
|
*請勿為 Amazon FSx for NetApp ONTAP 指定。*提供的 `fsxadmin`和 `vsadmin`不包含使用 Trident 檢索 Aggregate 使用情況並加以限制所需的權限。 |
請勿使用。 |
|
如果請求的磁碟區大小超過此值,則配置失敗。此外,它還限制了其管理的 qtree 和 LUN 卷的最大大小,並且該 `qtreesPerFlexvol`選項允許自訂每個 FlexVol 磁碟區的最大 qtree 數量 |
" (預設不強制執行) |
|
每個 FlexVol volume 的最大 LUN 數量必須在 [50, 200] 範圍內。僅限 SAN。 |
“100” |
|
用於疑難排解的偵錯旗標。例如、{"api":false, "method":true}除非您正在進行疑難排解並需要詳細的記錄傾印、否則請勿使用 |
null |
|
以逗號分隔的 NFS 掛載選項清單。Kubernetes 持久性磁碟區的掛載選項通常在儲存類別中指定,但如果儲存類別中未指定任何掛載選項, Trident 將回退到使用儲存後端設定檔中指定的掛載選項。如果儲存類別和設定檔中均未指定掛載選項, Trident 將不會在關聯的持久性磁碟區上設定任何掛載選項。 |
"" |
|
配置 NFS 或 SMB 磁碟區的建立。選項為 |
|
|
每個 FlexVol volume 的最大 Qtree 數量必須在 [50, 300] 範圍內 |
|
|
您可以指定下列名稱之一:使用 Microsoft Management Console 或 ONTAP CLI 建立的 SMB 共用名稱,或允許 Trident 建立 SMB 共用的名稱。此參數對於 Amazon FSx for ONTAP 後端是必要的。 |
|
|
布林參數,用於使用 ONTAP REST API。當設定為 `true`時,Trident 將使用 ONTAP REST API 與後端通訊。此功能需要 ONTAP 9.11.1 或更新版本。此外,使用的 ONTAP 登入角色必須具有 `ontap`應用程式的存取權限。預先定義的 `vsadmin`和 `cluster-admin`角色可滿足此要求。 |
|
|
您可以在 AWS FSx for ONTAP 的組態檔中指定下列項目:- |
|
|
指定要儲存在 AWS Secrets Manager 中的 FSx SVM 認證。- |
磁碟區配置的後端組態選項
您可以使用 defaults 配置部分中的這些選項來控制預設配置。例如、請參閱下面的組態範例。
| 參數 | 說明 | 預設 |
|---|---|---|
|
LUN 的空間分配 |
|
|
空間保留模式;「 none 」(精簡)或「 volume 」(完整) |
|
|
要使用的 Snapshot 原則 |
|
|
要為建立的磁碟區指派 QoS 策略群組。每個儲存池或後端選擇 qosPolicy 或 adaptiveQosPolicy 其中之一。搭配 Trident 使用 QoS 策略群組需要 ONTAP 9.8 或更新版本。您應該使用非共享的 QoS 策略群組,並確保該策略群組單獨套用至每個成員。共享的 QoS 策略群組會強制限制所有工作負載的總吞吐量上限。 |
"" |
|
為建立的磁碟區指派的自適應 QoS 原則群組。每個儲存資源池或後端可選擇 qosPolicy 或 adaptiveQosPolicy 其中之一。ontap-nas-economy 不支援。 |
"" |
|
為快照保留的磁碟區百分比 "0" |
如果 |
|
建立時將複本從其父項分割 |
|
|
在新磁碟區上啟用 NetApp Volume Encryption(NVE);預設值為 |
|
|
啟用 LUKS 加密。請參閱 "使用 Linux Unified Key Setup ( LUKS )"。僅限 SAN。 |
"" |
|
要使用的分層原則 |
|
|
新磁碟區的模式。SMB 磁碟區請保留空白。 |
"" |
|
新磁碟區的安全樣式。NFS 支援 `mixed`和 `unix`安全樣式。SMB 支援 `mixed`和 `ntfs`安全樣式。 |
NFS 預設值為 |
配置 SMB Volume
您可以使用 ontap-nas 驅動程式來配置 SMB 磁碟區。在完成 ONTAP SAN 和 NAS 驅動程式整合 之前,請先完成以下步驟:"準備配置 SMB Volume"