ONTAP のSAN構成オプションと例
Tridentのインストール時にONTAP SANドライバを作成して使用する方法について説明します。このセクションでは、バックエンドの構成例と、バックエンドをStorageClassesにマッピングするための詳細を示します。
"ASA r2システム"ストレージ層の実装は他のONTAPシステム(ASA、AFF、FAS)とは異なります。これらの違いは、記載されている特定のパラメータの使用に影響します。"ASA r2 システムと他の ONTAP システムの違いについて詳しくは、こちらをご覧ください。"です。
|
のみ `ontap-san`ドライバー (iSCSI および NVMe/TCP プロトコル付き) は、ASA r2 システムでサポートされています。 |
、システムがASA r2であることを指定する必要がありません。 ontap-san`として `storageDriverName
TridentはASA r2または従来のONTAPシステムを自動的に検出します。以下の表に示すように、一部のバックエンド設定パラメータはASA r2システムには適用されません。
バックエンド構成オプション
バックエンド設定オプションについては、次の表を参照してください。
パラメータ | 説明 | デフォルト | ||
---|---|---|---|---|
「バージョン」 |
常に 1 |
|||
'torageDriverName' |
ストレージドライバの名前 |
|
||
backendName` |
カスタム名またはストレージバックエンド |
ドライバ名+"_"+ dataLIF |
||
「管理 LIF 」 |
クラスタ管理LIFまたはSVM管理LIFのIPアドレス。 Fully Qualified Domain Name(FQDN;完全修飾ドメイン名)を指定できます。 IPv6フラグを使用してTridentがインストールされている場合は、IPv6アドレスを使用するように設定できます。IPv6アドレスは、のように角かっこで定義する必要があります シームレスなMetroClusterスイッチオーバーについては、を参照してMetroClusterの例ください。
|
"10.0.0.1 ","[2001:1234:abcd::fe]" |
||
「重複排除 |
プロトコル LIF の IP アドレス。IPv6フラグを使用してTridentがインストールされている場合は、IPv6アドレスを使用するように設定できます。IPv6アドレスは、のように角かっこで定義する必要があります |
SVMの派生物です |
||
'VM' |
使用する Storage Virtual Machine |
SVM 「管理 LIF 」が指定されている場合に生成されます |
||
「 useCHAP 」 |
CHAPを使用してONTAP SANドライバのiSCSIを認証します(ブーリアン)。バックエンドで指定されたSVMのデフォルト認証として双方向CHAPを設定して使用する場合は、Tridentのをに設定し `true`ます。詳細については、を参照してください "バックエンドにONTAP SANドライバを設定する準備をします" 。FCP または NVMe/TCP ではサポートされません。 |
「偽」 |
||
「 chapInitiatorSecret 」 |
CHAP イニシエータシークレット。「 useCHAP = TRUE 」の場合は必須 |
"" |
||
「ラベル」 |
ボリュームに適用する任意の JSON 形式のラベルのセット |
"" |
||
「 chapTargetInitiatorSecret 」 |
CHAP ターゲットイニシエータシークレット。「 useCHAP = TRUE 」の場合は必須 |
"" |
||
「 chapUsername 」 |
インバウンドユーザ名。「 useCHAP = TRUE 」の場合は必須 |
"" |
||
「 chapTargetUsername 」 |
ターゲットユーザ名。「 useCHAP = TRUE 」の場合は必須 |
"" |
||
「 clientCertificate 」をクリックします |
クライアント証明書の Base64 エンコード値。証明書ベースの認証に使用されます |
"" |
||
「 clientPrivateKey 」 |
クライアント秘密鍵の Base64 エンコード値。証明書ベースの認証に使用されます |
"" |
||
「 trustedCacertifate 」 |
信頼された CA 証明書の Base64 エンコード値。任意。証明書ベースの認証に使用されます。 |
"" |
||
「ユーザ名」 |
ONTAP クラスタとの通信に必要なユーザ名。クレデンシャルベースの認証に使用されます。 |
"" |
||
「 password 」と入力します |
ONTAP クラスタとの通信にパスワードが必要です。クレデンシャルベースの認証に使用されます。 |
"" |
||
'VM' |
使用する Storage Virtual Machine |
SVM 「管理 LIF 」が指定されている場合に生成されます |
||
'toragePrefix' |
SVM で新しいボリュームをプロビジョニングする際に使用するプレフィックスを指定します。あとから変更することはできません。このパラメータを更新するには、新しいバックエンドを作成する必要があります。 |
|
||
「集約」 |
プロビジョニング用のアグリゲート(オプション。設定する場合は SVM に割り当てる必要があります)。ドライバの場合
ASA r2 システムには指定しないでください。 |
"" |
||
「 AggreglimitateUsage 」と入力します |
使用率がこの割合を超えている場合は、プロビジョニングが失敗します。Amazon FSx for NetApp ONTAPバックエンドを使用している場合は、を指定しないで |
"" (デフォルトでは適用されません) |
||
「 limitVolumeSize 」と入力します |
要求されたボリュームサイズがこの値を超えている場合、プロビジョニングが失敗します。また、LUNで管理するボリュームの最大サイズも制限します。 |
""(デフォルトでは適用されません) |
||
'lunsPerFlexvol |
FlexVol あたりの最大 LUN 数。有効な範囲は 50 、 200 です |
|
||
「バグトレースフラグ」 |
トラブルシューティング時に使用するデバッグフラグ。例:{"api":false、"method":true} |
|
||
「 useREST` 」 |
ONTAP REST API を使用するためのブール パラメーター。 `useREST`に設定すると `true`、 TridentはONTAP REST APIを使用してバックエンドと通信します。 `false` Trident は、バックエンドとの通信に ONTAPI (ZAPI) 呼び出しを使用します。この機能にはONTAP 9.11.1 以降が必要です。さらに、使用するONTAPログインロールには、 `ontapi`応用。これは、事前に定義された `vsadmin`そして `cluster-admin`役割。 Trident 24.06リリースおよびONTAP 9.15.1以降では、 `useREST`設定されている `true`デフォルト; 変更 `useREST`に `false`ONTAPI (ZAPI) 呼び出しを使用します。 `useREST`NVMe/TCP に完全対応しています。
指定されている場合、常に `true`ASA r2 システムの場合。 |
|
||
|
iSCSI、 |
|
||
|
を使用して、 `formatOptions`コマンドのコマンドライン引数を指定します。この引数 `mkfs`は、ボリュームがフォーマットされるたびに適用されます。これにより、好みに応じてボリュームをフォーマットできます。デバイスパスを除いて、mkfsコマンドオプションと同様にformatOptionsを指定してください。例:「-E nodiscard」 対応機種 |
|||
|
ONTAP SANエコノミーバックエンドでLUNを使用する場合の、要求可能な最大FlexVolサイズ。 |
"" (デフォルトでは適用されません) |
||
|
バックエンドがLUNを格納するために新しいFlexVolボリュームを作成することを制限します |
formatOptionsの使用に関する推奨事項
Tridentでは、フォーマット処理を高速化するために、次のオプションを推奨しています。
-E nodiscard:
-
keep:mkfsの時点でブロックを破棄しないでください(ブロックの破棄は、最初はソリッドステートデバイスやスパース/シンプロビジョニングされたストレージで有効です)。これは廃止されたオプション「-K」に代わるもので、すべてのファイルシステム(xfs、ext3、およびext4)に適用できます。
ボリュームのプロビジョニング用のバックエンド構成オプション
これらのオプションを使用して、のデフォルトプロビジョニングを制御できます defaults
設定のセクション。例については、以下の設定例を参照してください。
パラメータ | 説明 | デフォルト |
---|---|---|
「平和の配分」 |
space-allocation for LUN のコマンドを指定します |
"true" 指定されている場合は、 |
「平和のための準備」を参照してください |
スペースリザベーションモード:「none」(シン)または「volume」(シック)。設定 |
"なし" |
「ナプショットポリシー」 |
使用するSnapshotポリシー。設定 |
"なし" |
「 QOSPolicy 」 |
作成したボリュームに割り当てる QoS ポリシーグループ。ストレージプール / バックエンドごとに QOSPolicy または adaptiveQosPolicy のいずれかを選択します。TridentでQoSポリシーグループを使用するには、ONTAP 9 .8以降が必要です。共有されていないQoSポリシーグループを使用し、ポリシーグループが各コンスティチュエントに個別に適用されるようにします。QoSポリシーグループを共有すると、すべてのワークロードの合計スループットの上限が適用されます。 |
"" |
「 adaptiveQosPolicy 」を参照してください |
アダプティブ QoS ポリシーグループ:作成したボリュームに割り当てます。ストレージプール / バックエンドごとに QOSPolicy または adaptiveQosPolicy のいずれかを選択します |
"" |
「スナップショット予約」 |
Snapshot用にリザーブされているボリュームの割合。ASA r2 システムには指定しないでください。 |
次の場合は「0」 |
'plitOnClone |
作成時にクローンを親からスプリットします |
いいえ |
「暗号化」 |
新しいボリュームでNetApp Volume Encryption(NVE)を有効にします。デフォルトはです。 `false`このオプションを使用するには、クラスタで NVE のライセンスが設定され、有効になっている必要があります。バックエンドでNAEが有効になっている場合、TridentでプロビジョニングされたすべてのボリュームでNAEが有効になります。詳細については、を参照してください"TridentとNVEおよびNAEとの連携"。 |
"false" 指定されている場合は、 |
|
LUKS暗号化を有効にします。を参照してください "Linux Unified Key Setup(LUKS;統合キーセットアップ)を使用"。 |
"" 設定 |
階層ポリシー |
階層化ポリシーは「なし」を使用します。ASA r2 システムでは指定しないでください。 |
|
|
カスタムボリューム名を作成するためのテンプレート。 |
"" |
ボリュームプロビジョニングの例
デフォルトが定義されている例を次に示します。
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: trident_svm
username: admin
password: <password>
labels:
k8scluster: dev2
backend: dev2-sanbackend
storagePrefix: alternate-trident
debugTraceFlags:
api: false
method: true
defaults:
spaceReserve: volume
qosPolicy: standard
spaceAllocation: 'false'
snapshotPolicy: default
snapshotReserve: '10'
|
ドライバを使用して作成されたすべてのボリュームについて、 `ontap-san`TridentはLUNメタデータに対応するために10%の容量をFlexVolに追加します。LUN は、ユーザが PVC で要求したサイズとまったく同じサイズでプロビジョニングされます。Tridentは、FlexVolに10%を追加します(ONTAPでは使用可能なサイズとして表示されます)。ユーザには、要求した使用可能容量が割り当てられます。また、利用可能なスペースがフルに活用されていないかぎり、 LUN が読み取り専用になることもありません。これは、 ONTAP と SAN の経済性には該当しません。 |
定義されたバックエンドの場合 snapshotReserve
、Tridentは次のようにボリュームのサイズを計算します。
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
にTridentがFlexVolに追加する10%の容量です。 snapshotReserve
= 5%、PVC要求 = 5 GiBの場合、ボリュームの合計サイズは5.79 GiB、使用可能なサイズは5.5 GiBです。 `volume show`コマンドを実行すると、次の例のような結果が表示されます。

現在、既存のボリュームに対して新しい計算を行うには、サイズ変更だけを使用します。
最小限の設定例
次の例は、ほとんどのパラメータをデフォルトのままにする基本的な設定を示しています。これは、バックエンドを定義する最も簡単な方法です。
|
TridentでAmazon FSx on NetApp ONTAPを使用している場合、NetAppでは、IPアドレスではなく、LIFのDNS名を指定することを推奨します。 |
ONTAP SANの例
これは、 ontap-san
ドライバ。
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
k8scluster: test-cluster-1
backend: testcluster1-sanbackend
username: vsadmin
password: <password>
MetroClusterの例
スイッチオーバーやスイッチバックの実行中にバックエンド定義を手動で更新する必要がないようにバックエンドを設定できます。 "SVMのレプリケーションとリカバリ"。
スイッチオーバーとスイッチバックをシームレスに実行するには、を使用してSVMを指定し managementLIF
、パラメータは省略します svm
。例:
version: 1
storageDriverName: ontap-san
managementLIF: 192.168.1.66
username: vsadmin
password: password
ONTAP SANの経済性の例
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
username: vsadmin
password: <password>
証明書ベースの認証の例
この基本的な設定例では、 clientCertificate
、 clientPrivateKey`および `trustedCACertificate
(信頼されたCAを使用している場合はオプション)がに入力されます backend.json
およびは、クライアント証明書、秘密鍵、信頼されたCA証明書のbase64エンコード値をそれぞれ取得します。
---
version: 1
storageDriverName: ontap-san
backendName: DefaultSANBackend
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2
clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX
trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
双方向CHAPの例
次の例では、 useCHAP
をに設定します true
。
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
labels:
k8scluster: test-cluster-1
backend: testcluster1-sanbackend
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
NVMe/TCPの例
ONTAPバックエンドでNVMeを使用するSVMを設定しておく必要があります。これはNVMe/TCPの基本的なバックエンド構成です。
---
version: 1
backendName: NVMeBackend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_nvme
username: vsadmin
password: password
sanType: nvme
useREST: true
SCSI over FC(FCP)の例
ONTAPバックエンドでFCを使用してSVMを設定しておく必要があります。これはFCの基本的なバックエンド構成です。
---
version: 1
backendName: fcp-backend
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_fc
username: vsadmin
password: password
sanType: fcp
useREST: true
nameTemplateを使用したバックエンド構成の例
---
version: 1
storageDriverName: ontap-san
backendName: ontap-san-backend
managementLIF: <ip address>
svm: svm0
username: <admin>
password: <password>
defaults:
nameTemplate: "{{.volume.Name}}_{{.labels.cluster}}_{{.volume.Namespace}}_{{.vo\
lume.RequestName}}"
labels:
cluster: ClusterA
PVC: "{{.volume.Namespace}}_{{.volume.RequestName}}"
ONTAP SANエコノミードライバのformatOptionsの例
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: ""
svm: svm1
username: ""
password: "!"
storagePrefix: whelk_
debugTraceFlags:
method: true
api: true
defaults:
formatOptions: -E nodiscard
仮想プールを使用するバックエンドの例
これらのサンプルバックエンド定義ファイルでは、次のような特定のデフォルトがすべてのストレージプールに設定されています。 spaceReserve
「なし」の場合は、 spaceAllocation
との誤り encryption
実行されます。仮想プールは、ストレージセクションで定義します。
Tridentでは、[Comments]フィールドにプロビジョニングラベルが設定されます。コメントは、仮想プール上のすべてのラベルをプロビジョニング時にストレージボリュームにコピーするFlexVol volume Tridentに設定されます。ストレージ管理者は、仮想プールごとにラベルを定義したり、ボリュームをラベルでグループ化したりできます。
これらの例では、一部のストレージプールが独自の spaceReserve
、 spaceAllocation`および `encryption
値、および一部のプールはデフォルト値よりも優先されます。
ONTAP SANの例
---
version: 1
storageDriverName: ontap-san
managementLIF: 10.0.0.1
svm: svm_iscsi
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
defaults:
spaceAllocation: "false"
encryption: "false"
qosPolicy: standard
labels:
store: san_store
kubernetes-cluster: prod-cluster-1
region: us_east_1
storage:
- labels:
protection: gold
creditpoints: "40000"
zone: us_east_1a
defaults:
spaceAllocation: "true"
encryption: "true"
adaptiveQosPolicy: adaptive-extreme
- labels:
protection: silver
creditpoints: "20000"
zone: us_east_1b
defaults:
spaceAllocation: "false"
encryption: "true"
qosPolicy: premium
- labels:
protection: bronze
creditpoints: "5000"
zone: us_east_1c
defaults:
spaceAllocation: "true"
encryption: "false"
ONTAP SANの経済性の例
---
version: 1
storageDriverName: ontap-san-economy
managementLIF: 10.0.0.1
svm: svm_iscsi_eco
useCHAP: true
chapInitiatorSecret: cl9qxIm36DKyawxy
chapTargetInitiatorSecret: rqxigXgkesIpwxyz
chapTargetUsername: iJF4heBRT0TCwxyz
chapUsername: uh2aNCLSd6cNwxyz
username: vsadmin
password: <password>
defaults:
spaceAllocation: "false"
encryption: "false"
labels:
store: san_economy_store
region: us_east_1
storage:
- labels:
app: oracledb
cost: "30"
zone: us_east_1a
defaults:
spaceAllocation: "true"
encryption: "true"
- labels:
app: postgresdb
cost: "20"
zone: us_east_1b
defaults:
spaceAllocation: "false"
encryption: "true"
- labels:
app: mysqldb
cost: "10"
zone: us_east_1c
defaults:
spaceAllocation: "true"
encryption: "false"
- labels:
department: legal
creditpoints: "5000"
zone: us_east_1c
defaults:
spaceAllocation: "true"
encryption: "false"
NVMe/TCPの例
---
version: 1
storageDriverName: ontap-san
sanType: nvme
managementLIF: 10.0.0.1
svm: nvme_svm
username: vsadmin
password: <password>
useREST: true
defaults:
spaceAllocation: "false"
encryption: "true"
storage:
- labels:
app: testApp
cost: "20"
defaults:
spaceAllocation: "false"
encryption: "false"
バックエンドを StorageClasses にマッピングします
次のStorageClass定義は、 仮想プールを使用するバックエンドの例。を使用する parameters.selector
フィールドでは、各StorageClassがボリュームのホストに使用できる仮想プールを呼び出します。ボリュームには、選択した仮想プール内で定義された要素があります。
-
。
protection-gold
StorageClassは、ontap-san
バックエンド:ゴールドレベルの保護を提供する唯一のプールです。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: csi.trident.netapp.io parameters: selector: "protection=gold" fsType: "ext4"
-
。
protection-not-gold
StorageClassは、内の2番目と3番目の仮想プールにマッピングされます。ontap-san
バックエンド:これらは、ゴールド以外の保護レベルを提供する唯一のプールです。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: csi.trident.netapp.io parameters: selector: "protection!=gold" fsType: "ext4"
-
。
app-mysqldb
StorageClassは内の3番目の仮想プールにマッピングされますontap-san-economy
バックエンド:これは、mysqldbタイプアプリケーション用のストレージプール構成を提供する唯一のプールです。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: csi.trident.netapp.io parameters: selector: "app=mysqldb" fsType: "ext4"
-
。
protection-silver-creditpoints-20k
StorageClassは内の2番目の仮想プールにマッピングされますontap-san
バックエンド:シルバーレベルの保護と20000クレジットポイントを提供する唯一のプールです。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-silver-creditpoints-20k provisioner: csi.trident.netapp.io parameters: selector: "protection=silver; creditpoints=20000" fsType: "ext4"
-
。
creditpoints-5k
StorageClassは内の3番目の仮想プールにマッピングされますontap-san
バックエンドと内の4番目の仮想プールontap-san-economy
バックエンド:これらは、5000クレジットポイントを持つ唯一のプールオファリングです。apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: csi.trident.netapp.io parameters: selector: "creditpoints=5000" fsType: "ext4"
-
。
my-test-app-sc
StorageClassはにマッピングされますtestAPP
内の仮想プールontap-san
ドライバsanType: nvme
。これは唯一のプールサービスです。testApp
。--- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: my-test-app-sc provisioner: csi.trident.netapp.io parameters: selector: "app=testApp" fsType: "ext4"
Tridentが選択する仮想プールを決定し、ストレージ要件が満たされるようにします。