設定NetApp HCI 一個不只是功能的SolidFire 後端
瞭解如何在 Trident 安裝中建立和使用元素後端。
元素驅動程式詳細資料
Trident 提供 `solidfire-san`儲存驅動程式以與叢集通訊。支援的存取模式包括: ReadWriteOnce ( rwo )、 ReadOnlyMany ( ROX )、 _ReadWriteMany ( rwx )、 _ReadWriteOncePod ( RWOP )。
`solidfire-san`儲存驅動程式支援 _file_ 和 _block_ 磁碟區模式。對於 `Filesystem` volemode 、 Trident 會建立一個 Volume 並建立檔案系統。檔案系統類型由StorageClass指定。
驅動程式 | 傳輸協定 | Volume模式 | 支援的存取模式 | 支援的檔案系統 |
---|---|---|---|---|
|
iSCSI |
區塊 |
Rwo 、 ROX 、 rwx 、 RWOP |
無檔案系統。原始區塊裝置。 |
|
iSCSI |
檔案系統 |
RWO 、 RWOP |
|
開始之前
在建立元素後端之前、您需要下列項目。
-
支援的儲存系統、可執行Element軟體。
-
提供給NetApp HCI / SolidFire叢集管理員或租戶使用者的認證、以管理磁碟區。
-
您所有的Kubernetes工作節點都應該安裝適當的iSCSI工具。請參閱 "工作節點準備資訊"。
後端組態選項
如需後端組態選項、請參閱下表:
參數 | 說明 | 預設 |
---|---|---|
|
永遠為1 |
|
|
儲存驅動程式名稱 |
永遠為「 SolidFire - SAN 」 |
|
自訂名稱或儲存後端 |
「 SolidFire _ 」 + 儲存( iSCSI ) IP 位址 |
|
MVIP、適用於SolidFire 採用租戶認證的不含用戶身分證明的叢集 |
|
|
儲存設備(iSCSI)IP位址和連接埠 |
|
|
套用到磁碟區的任意JSON-格式化標籤集。 |
" |
|
要使用的租戶名稱(如果找不到、請建立) |
|
|
將iSCSI流量限制在特定的主機介面 |
"預設" |
|
使用 CHAP 驗證 iSCSI 。Trident 使用 CHAP 。 |
是的 |
|
要使用的存取群組ID清單 |
尋找名為「 Trident 」的存取群組 ID |
|
QoS規格 |
|
|
如果要求的磁碟區大小高於此值、則資源配置失敗 |
""(預設不強制執行) |
|
疑難排解時要使用的偵錯旗標。例如、 { "api" : false 、 "method" : true} |
null |
|
除非您正在進行疑難排解並需要詳細的記錄傾印、否則請勿使用 debugTraceFlags 。
|
範例 1 :具有三種磁碟區類型的驅動程式後端組態 solidfire-san
此範例顯示使用CHAP驗證的後端檔案、並建立具有特定QoS保證的三種Volume類型模型。您很可能會使用儲存類別參數來定義儲存類別、以使用其中的每個 `IOPS`類別。
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
labels:
k8scluster: dev1
backend: dev1-element-cluster
UseCHAP: true
Types:
- Type: Bronze
Qos:
minIOPS: 1000
maxIOPS: 2000
burstIOPS: 4000
- Type: Silver
Qos:
minIOPS: 4000
maxIOPS: 6000
burstIOPS: 8000
- Type: Gold
Qos:
minIOPS: 6000
maxIOPS: 8000
burstIOPS: 10000
範例 2 :具有虛擬集區之驅動程式的後端和儲存類別組態 solidfire-san
此範例顯示使用虛擬資源池設定的後端定義檔、以及參照這些資源池的StorageClass。
Trident 會在資源配置時、將儲存池上的標籤複製到後端儲存 LUN 。為了方便起見、儲存管理員可以針對每個虛擬資源池定義標籤、並依標籤將磁碟區分組。
在下面顯示的範例後端定義檔中、會針對所有儲存池設定特定的預設值、這些儲存池會將設 type`為 Silver 。虛擬集區是在一節中定義 `storage
。在此範例中、有些儲存資源池會自行設定類型、有些資源池則會覆寫上述預設值。
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
UseCHAP: true
Types:
- Type: Bronze
Qos:
minIOPS: 1000
maxIOPS: 2000
burstIOPS: 4000
- Type: Silver
Qos:
minIOPS: 4000
maxIOPS: 6000
burstIOPS: 8000
- Type: Gold
Qos:
minIOPS: 6000
maxIOPS: 8000
burstIOPS: 10000
type: Silver
labels:
store: solidfire
k8scluster: dev-1-cluster
region: us-east-1
storage:
- labels:
performance: gold
cost: "4"
zone: us-east-1a
type: Gold
- labels:
performance: silver
cost: "3"
zone: us-east-1b
type: Silver
- labels:
performance: bronze
cost: "2"
zone: us-east-1c
type: Bronze
- labels:
performance: silver
cost: "1"
zone: us-east-1d
下列StorageClass定義是指上述虛擬資源池。使用此 `parameters.selector`欄位、每個 StorageClass 都會呼叫哪些虛擬集區可用於主控磁碟區。磁碟區將會在所選的虛擬資源池中定義各個層面。
第一個 StorageClass (solidfire-gold-four
)將映射到第一個虛擬池。這是唯一提供黃金級效能的集區 Volume Type QoS
。Last StorageClass (solidfire-silver
(最後一個 StorageClass )調用任何提供銀牌性能的存儲池。Trident 會決定要選取哪個虛擬集區、並確保符合儲存需求。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-gold-four
provisioner: csi.trident.netapp.io
parameters:
selector: performance=gold; cost=4
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-three
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=3
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-bronze-two
provisioner: csi.trident.netapp.io
parameters:
selector: performance=bronze; cost=2
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-one
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=1
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver
fsType: ext4