ONTAP のSAN構成オプションと例
ONTAP SAN ドライバを作成して Astra Trident インストールで使用する方法をご確認ください。このセクションでは、バックエンド構成の例と、バックエンドをストレージクラスにマッピングする方法を詳しく説明します。
バックエンド構成オプション
バックエンド設定オプションについては、次の表を参照してください。
パラメータ | 説明 | デフォルト |
---|---|---|
|
常に 1 |
|
|
ストレージドライバの名前 |
「 ONTAP-NAS 」、「 ONTAP-NAS-エコノミー 」、「 ONTAP-NAS-flexgroup 」、「 ONTAP-SAN 」、「 ONTAP-SAN-エコノミー 」 |
|
カスタム名またはストレージバックエンド |
ドライバ名 + "_" + データ LIF |
|
クラスタ管理LIFまたはSVM管理LIFのIPアドレス:シームレスなMetroCluster スイッチオーバーを実現するには、SVM管理LIFを指定する必要があります。Fully Qualified Domain Name(FQDN;完全修飾ドメイン名)を指定できます。を使用してAstra Tridentをインストールした場合、IPv6アドレスを使用するようにを設定できます |
「 10.0.0.1 」、「 [2001:1234:abcd::fefe] 」 |
|
プロトコル LIF の IP アドレス。* iSCSIには指定しないでください。* Astra Tridentが使用します "ONTAP の選択的LUNマップ" iSCSI LIFを検出するには、マルチパスセッションを確立する必要があります。の場合は警告が生成されます |
SVMの派生物です |
|
CHAPを使用してONTAP SANドライバのiSCSIを認証します(ブーリアン)。をに設定します |
いいえ |
|
CHAP イニシエータシークレット。の場合は必須です |
「」 |
|
ボリュームに適用する任意の JSON 形式のラベルのセット |
「」 |
|
CHAP ターゲットイニシエータシークレット。の場合は必須です |
「」 |
|
インバウンドユーザ名。の場合は必須です |
「」 |
|
ターゲットユーザ名。の場合は必須です |
「」 |
|
クライアント証明書の Base64 エンコード値。証明書ベースの認証に使用されます |
「」 |
|
クライアント秘密鍵の Base64 エンコード値。証明書ベースの認証に使用されます |
「」 |
|
信頼された CA 証明書の Base64 エンコード値。任意。証明書ベースの認証に使用されます。 |
「」 |
|
ONTAP クラスタとの通信に必要なユーザ名。クレデンシャルベースの認証に使用されます。 |
「」 |
|
ONTAP クラスタとの通信にパスワードが必要です。クレデンシャルベースの認証に使用されます。 |
「」 |
|
使用する Storage Virtual Machine |
SVMの場合に生成されます |
|
SANボリュームで使用するigroupの名前。を参照してください を参照してください。 |
"trident-<backend-UUID> " |
|
SVM で新しいボリュームをプロビジョニングする際に使用するプレフィックスを指定します。あとから変更することはできません。このパラメータを更新するには、新しいバックエンドを作成する必要があります。 |
Trident |
|
使用率がこの割合を超えている場合は、プロビジョニングが失敗します。NetApp ONTAP バックエンドにAmazon FSXを使用している場合は、指定しないでください |
“”(デフォルトでは適用されません) |
|
要求されたボリュームサイズがこの値を超えている場合、プロビジョニングが失敗します。また、qtreeおよびLUNに対して管理するボリュームの最大サイズを制限します。 |
“”(デフォルトでは適用されません) |
|
FlexVol あたりの最大 LUN 数。有効な範囲は 50 、 200 です |
100 |
|
トラブルシューティング時に使用するデバッグフラグ。例:{"API":false、"method":true}は、トラブルシューティングを行って詳細なログダンプが必要な場合を除き、使用しません。 |
null |
|
ONTAP REST API を使用するためのブーリアンパラメータ。* テクニカルプレビュー * |
いいえ |
の詳細 igroupName
igroupName
ONTAP クラスタですでに作成されているigroupに設定できます。指定しない場合、Astra Tridentはという名前のigroupを自動的に作成します trident-<backend-UUID>
。
定義済みのigroupNameを指定する場合は、各Kubernetesクラスタで1つのigroupを使用することを推奨します。ただし、SVMが環境間で共有される場合です。これは、Astra TridentがIQNの追加と削除を自動的に管理するために必要です。
-
igroupName
を更新し、Astra Tridentの外部のSVMで作成、管理される新しいigroupを参照できるようになりました。 -
igroupName
省略できます。この場合、Astra Tridentが、という名前のigroupを作成して管理しますtrident-<backend-UUID>
自動的に。
どちらの場合も、ボリュームの添付ファイルには引き続きアクセスできます。以降のボリューム接続では、更新された igroup が使用されます。この更新によって、バックエンドにあるボリュームへのアクセスが中断されることはありません。
ボリュームのプロビジョニング用のバックエンド構成オプション
これらのオプションを使用して、のデフォルトプロビジョニングを制御できます defaults
設定のセクション。例については、以下の設定例を参照してください。
パラメータ | 説明 | デフォルト |
---|---|---|
|
space-allocation for LUN のコマンドを指定します |
正しいです |
|
スペースリザベーションモード:「 none 」(シン)または「 volume 」(シック) |
なし |
|
使用する Snapshot ポリシー |
なし |
|
作成したボリュームに割り当てる QoS ポリシーグループ。ストレージプール / バックエンドごとに QOSPolicy または adaptiveQosPolicy のいずれかを選択します。Trident が Astra で QoS ポリシーグループを使用するには、 ONTAP 9.8 以降が必要です。非共有のQoSポリシーグループを使用して、各コンスティチュエントに個別にポリシーグループを適用することを推奨します。共有 QoS ポリシーグループにより、すべてのワークロードの合計スループットに対して上限が適用されます。 |
「」 |
|
アダプティブ QoS ポリシーグループ:作成したボリュームに割り当てます。ストレージプール / バックエンドごとに QOSPolicy または adaptiveQosPolicy のいずれかを選択します |
「」 |
|
スナップショット "0" 用に予約されたボリュームの割合 |
状況 |
|
作成時にクローンを親からスプリットします |
いいえ |
|
新しいボリュームでNetApp Volume Encryption(NVE)を有効にします。デフォルトはです |
いいえ |
|
LUKS暗号化を有効にします。を参照してください "Linux Unified Key Setup(LUKS;統合キーセットアップ)を使用"。 |
"" |
|
新しいボリュームのセキュリティ形式 |
|
|
「なし」を使用する階層化ポリシー |
ONTAP 9.5 よりも前の SVM-DR 構成の「スナップショットのみ」 |
ボリュームプロビジョニングの例
次に、デフォルトが定義されている例を示します。
--- 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 igroupName: custom debugTraceFlags: api: false method: true defaults: spaceReserve: volume qosPolicy: standard spaceAllocation: 'false' snapshotPolicy: default snapshotReserve: '10'
を使用して作成したすべてのボリューム ontap-san ドライバであるAstra Tridentが、FlexVol のメタデータに対応するために、さらに10%の容量を追加LUN は、ユーザが PVC で要求したサイズとまったく同じサイズでプロビジョニングされます。Astra Trident が FlexVol に 10% を追加( ONTAP で利用可能なサイズとして表示)ユーザには、要求した使用可能容量が割り当てられます。また、利用可能なスペースがフルに活用されていないかぎり、 LUN が読み取り専用になることもありません。これは、 ONTAP と SAN の経済性には該当しません。
|
を定義するバックエンドの場合 `snapshotReserve`Tridentは、次のようにボリュームサイズを計算します。
Total volume size = [(PVC requested size) / (1 - (snapshotReserve percentage) / 100)] * 1.1
1.1 は、 Astra Trident の 10% の追加料金で、 FlexVol のメタデータに対応します。の場合 snapshotReserve
= 5%、PVC要求= 5GiB、ボリュームの合計サイズは5.79GiB、使用可能なサイズは5.5GiBです。。 volume show
次の例のような結果が表示されます。
現在、既存のボリュームに対して新しい計算を行うには、サイズ変更だけを使用します。
最小限の設定例
次の例は、ほとんどのパラメータをデフォルトのままにする基本的な設定を示しています。これは、バックエンドを定義する最も簡単な方法です。
ネットアップ ONTAP で Astra Trident を使用している場合、 IP アドレスではなく LIF に DNS 名を指定することを推奨します。 |
ontap-san
証明書ベースの認証を使用するドライバ
これは、バックエンドの最小限の設定例です。 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 igroupName: trident clientCertificate: ZXR0ZXJwYXB...ICMgJ3BhcGVyc2 clientPrivateKey: vciwKIyAgZG...0cnksIGRlc2NyaX trustedCACertificate: zcyBbaG...b3Igb3duIGNsYXNz
ontap-san
双方向CHAPを備えたドライバ
これは、バックエンドの最小限の設定例です。この基本設定では、が作成されます ontap-san
バックエンドの指定 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 igroupName: trident username: vsadmin password: password
ontap-san-economy
ドライバ
--- 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 igroupName: trident username: vsadmin password: password
仮想プールを使用するバックエンドの例
次のバックエンド定義ファイルの例では、などのすべてのストレージプールに対して特定のデフォルトが設定されています spaceReserve
「なし」の場合は、 spaceAllocation
との誤り encryption
実行されます。仮想プールは、ストレージセクションで定義します。
Astra Tridentは、[Comments]フィールドにプロビジョニングラベルを設定します。FlexVol にコメントが設定されます。Astra Tridentは、プロビジョニング時に仮想プール上にあるすべてのラベルをストレージボリュームにコピーします。ストレージ管理者は、仮想プールごとにラベルを定義したり、ボリュームをラベルでグループ化したりできます。
この例では、一部のストレージプールが独自に設定されています spaceReserve
、 spaceAllocation`および `encryption
値を指定すると、一部のプールでは、上記のデフォルト値が上書きされます。
--- version: 1 storageDriverName: ontap-san managementLIF: 10.0.0.1 svm: svm_iscsi useCHAP: true chapInitiatorSecret: cl9qxIm36DKyawxy chapTargetInitiatorSecret: rqxigXgkesIpwxyz chapTargetUsername: iJF4heBRT0TCwxyz chapUsername: uh2aNCLSd6cNwxyz igroupName: trident 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'
のiSCSIの例を次に示します ontap-san-economy
ドライバ:
--- 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 igroupName: trident 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'
バックエンドを StorageClasses にマッピングします
次のStorageClass定義は、上記の仮想プールを参照しています。を使用する parameters.selector
各ストレージクラスは、ボリュームのホストに使用できる仮想プールを呼び出します。ボリュームには、選択した仮想プール内で定義された要素があります。
-
最初のストレージクラス (
protection-gold
)を使用して、の1番目の2番目の仮想プールにマッピングしますontap-nas-flexgroup
のバックエンドと最初の仮想プールontap-san
バックエンド:ゴールドレベルの保護を提供している唯一のプールです。 -
2つ目のStorageClass (
protection-not-gold
)は、の3番目の4番目の仮想プールにマッピングされますontap-nas-flexgroup
バックエンドと、の2番目の3番目の仮想プールontap-san
バックエンド:金色以外の保護レベルを提供する唯一のプールです。 -
第3のストレージクラス (
app-mysqldb
)は、の4番目の仮想プールにマッピングされますontap-nas
のバックエンドおよび3番目の仮想プールontap-san-economy
バックエンド:mysqldb タイプのアプリケーション用のストレージプール設定を提供しているプールは、これらだけです。 -
第4のストレージクラス (
protection-silver-creditpoints-20k
)は、の3番目の仮想プールにマッピングされますontap-nas-flexgroup
バックエンドとの2番目の仮想プールontap-san
バックエンド:ゴールドレベルの保護を提供している唯一のプールは、 20000 の利用可能なクレジットポイントです。 -
第5のストレージクラス (
creditpoints-5k
)は、の2番目の仮想プールにマッピングされますontap-nas-economy
のバックエンドおよび3番目の仮想プールontap-san
バックエンド:5000 ポイントの利用可能な唯一のプールは以下のとおりです。
Tridentが、どの仮想プールを選択するかを判断し、ストレージ要件を確実に満たすようにします。
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-gold provisioner: netapp.io/trident parameters: selector: "protection=gold" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-not-gold provisioner: netapp.io/trident parameters: selector: "protection!=gold" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: app-mysqldb provisioner: netapp.io/trident parameters: selector: "app=mysqldb" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: protection-silver-creditpoints-20k provisioner: netapp.io/trident parameters: selector: "protection=silver; creditpoints=20000" fsType: "ext4" --- apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: creditpoints-5k provisioner: netapp.io/trident parameters: selector: "creditpoints=5000" fsType: "ext4"