ONTAP のSAN構成オプションと例
Tridentのインストール時にONTAP SANドライバを作成して使用する方法について説明します。このセクションでは、バックエンドの構成例と、バックエンドをStorageClassesにマッピングするための詳細を示します。
バックエンド構成オプション
バックエンド設定オプションについては、次の表を参照してください。
パラメータ | 説明 | デフォルト | ||
---|---|---|---|---|
「バージョン」 |
常に 1 |
|||
'torageDriverName' |
ストレージドライバの名前 |
|
||
backendName` |
カスタム名またはストレージバックエンド |
ドライバ名+"_"+ dataLIF |
||
「管理 LIF 」 |
クラスタ管理LIFまたはSVM管理LIFのIPアドレス。Fully Qualified Domain Name(FQDN;完全修飾ドメイン名)を指定できます。IPv6フラグを使用してTridentがインストールされている場合は、IPv6アドレスを使用するように設定できます。IPv6アドレスは、のように角かっこで定義する必要があります |
「 10.0.0.1 」、「 [2001:1234:abcd::fefe] 」 |
||
「重複排除 |
プロトコル LIF の IP アドレス。IPv6フラグを使用してTridentがインストールされている場合は、IPv6アドレスを使用するように設定できます。IPv6アドレスは、のように角かっこで定義する必要があります |
SVMの派生物です |
||
'VM' |
使用する Storage Virtual Machine |
SVM 「管理 LIF 」が指定されている場合に生成されます |
||
「 useCHAP 」 |
CHAPを使用してONTAP SANドライバのiSCSIを認証します(ブーリアン)。バックエンドで指定されたSVMのデフォルト認証として双方向CHAPを設定して使用する場合は、Tridentのをに設定し `true`ます。詳細については、を参照してください "バックエンドにONTAP SANドライバを設定する準備をします" 。 |
「偽」 |
||
「 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 に割り当てる必要があります)。ドライバの場合
|
"" |
||
「 AggreglimitateUsage 」と入力します |
使用率がこの割合を超えている場合は、プロビジョニングが失敗します。Amazon FSx for NetApp ONTAPバックエンドを使用している場合は、を指定しないで |
"" (デフォルトでは適用されません) |
||
「 limitVolumeSize 」と入力します |
要求されたボリュームサイズがこの値を超えている場合、プロビジョニングが失敗します。また、LUNで管理するボリュームの最大サイズも制限します。 |
""(デフォルトでは適用されません) |
||
'lunsPerFlexvol |
FlexVol あたりの最大 LUN 数。有効な範囲は 50 、 200 です |
|
||
「バグトレースフラグ」 |
トラブルシューティング時に使用するデバッグフラグ。例:{"api":false、"method":true} |
|
||
「 useREST` 」 |
ONTAP REST API を使用するためのブーリアンパラメータ。 |
|
||
|
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 のコマンドを指定します |
"正しい" |
「平和のための準備」を参照してください |
スペースリザベーションモード:「none」(シン)または「volume」(シック) |
"なし" |
「ナプショットポリシー」 |
使用する Snapshot ポリシー |
"なし" |
「 QOSPolicy 」 |
作成したボリュームに割り当てる QoS ポリシーグループ。ストレージプール / バックエンドごとに QOSPolicy または adaptiveQosPolicy のいずれかを選択します。TridentでQoSポリシーグループを使用するには、ONTAP 9 .8以降が必要です。共有されていないQoSポリシーグループを使用し、ポリシーグループが各コンスティチュエントに個別に適用されるようにします。QoSポリシーグループを共有すると、すべてのワークロードの合計スループットの上限が適用されます。 |
"" |
「 adaptiveQosPolicy 」を参照してください |
アダプティブ QoS ポリシーグループ:作成したボリュームに割り当てます。ストレージプール / バックエンドごとに QOSPolicy または adaptiveQosPolicy のいずれかを選択します |
"" |
「スナップショット予約」 |
Snapshot 用にリザーブされているボリュームの割合 |
次の場合は「0」 |
'plitOnClone |
作成時にクローンを親からスプリットします |
いいえ |
「暗号化」 |
新しいボリュームでNetApp Volume Encryption(NVE)を有効にします。デフォルトはです。 `false`このオプションを使用するには、クラスタで NVE のライセンスが設定され、有効になっている必要があります。バックエンドでNAEが有効になっている場合、TridentでプロビジョニングされたすべてのボリュームでNAEが有効になります。詳細については、を参照してください"TridentとNVEおよびNAEとの連携"。 |
いいえ |
|
LUKS暗号化を有効にします。を参照してください "Linux Unified Key Setup(LUKS;統合キーセットアップ)を使用"。 |
"" |
'ecurityStyle' |
新しいボリュームのセキュリティ形式 |
|
階層ポリシー |
「none」を使用する階層化ポリシー |
ONTAP 9.5より前のSVM-DR設定の場合は「snapshot-only」 |
|
カスタムボリューム名を作成するためのテンプレート。 |
"" |
ボリュームプロビジョニングの例
デフォルトが定義されている例を次に示します。
--- 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
1.1は、LUNメタデータに対応するためにFlexVolに追加される10%のTridentです。= 5%、PVC要求= 5GiBの場合、 `snapshotReserve`ボリュームの合計サイズは5.79GiB、使用可能なサイズは5.5GiBです。 `volume show`次の例のような結果が表示されます。
現在、既存のボリュームに対して新しい計算を行うには、サイズ変更だけを使用します。
最小限の設定例
次の例は、ほとんどのパラメータをデフォルトのままにする基本的な設定を示しています。これは、バックエンドを定義する最も簡単な方法です。
TridentでAmazon FSx on NetApp ONTAPを使用している場合は、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>
ONTAP SANの経済性の例
--- version: 1 storageDriverName: ontap-san-economy managementLIF: 10.0.0.1 svm: svm_iscsi_eco username: vsadmin password: <password>
-
例
スイッチオーバーやスイッチバックの実行中にバックエンド定義を手動で更新する必要がないようにバックエンドを設定できます。 "SVMのレプリケーションとリカバリ"。
シームレスなスイッチオーバーとスイッチバックを実現するには、 managementLIF
を省略します。 dataLIF
および svm
パラメータ例:
--- version: 1 storageDriverName: ontap-san managementLIF: 192.168.1.66 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
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}}_{{.volume.RequestName}}" }, "labels": {"cluster": "ClusterA", "PVC": "{{.volume.Namespace}}_{{.volume.RequestName}}"}
<code> ONTAP SANエコノミー</code>ドライバの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 にコメントが設定されます。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が選択する仮想プールを決定し、ストレージ要件が満たされるようにします。