ONTAP FPolicyを構成するための要件、考慮事項、およびベストプラクティス
Storage Virtual Machine(SVM)でFPolicyの設定を作成して設定する前に、FPolicyの設定に関する一定の要件、考慮事項、およびベストプラクティスについて確認しておく必要があります。
FPolicy機能の設定には、コマンドライン インターフェイス(CLI)またはREST APIを使用します。
FPolicyを設定するための要件
Storage Virtual Machine(SVM)でFPolicyを設定して有効にする前に、一定の要件について確認しておく必要があります。
-
クラスタ内のすべてのノードで、FPolicyがサポートされているバージョンのONTAPが実行されている必要があります。
-
ONTAPの標準のFPolicyエンジンを使用しない場合は、外部FPolicyサーバ(FPolicyサーバ)をインストールしておく必要があります。
-
FPolicyポリシーが有効になっているSVMのデータLIFからアクセスできるサーバに、FPolicyサーバがインストールされている必要があります。
ONTAP 9.8 以降、 ONTAP は `data-fpolicy-client`サービスの追加により、アウトバウンド FPolicy 接続用のクライアント LIF サービスを提供します。"LIF とサービス ポリシーの詳細"。 -
FPolicyポリシーの外部エンジンの設定で、FPolicyサーバのIPアドレスがプライマリ サーバまたはセカンダリ サーバとして設定されている必要があります。
-
FPolicyサーバで特権データ チャネルを使用してデータにアクセスする場合は、次に示す追加の要件を満たしている必要があります。
-
クラスタでSMBのライセンスが有効になっている必要があります。
特権データ アクセスは SMB 接続を使用して実現されます。
-
権限付きデータ チャネルを使用してファイルにアクセスするためのユーザ クレデンシャルが設定されている必要があります。
-
FPolicy サーバーは、FPolicy 設定で設定された資格情報に基づいて実行する必要があります。
-
FPolicy サーバーとの通信に使用されるすべてのデータ LIF は、許可されたプロトコルの 1 つとして `cifs`を設定する必要があります。
これには、パススルー リード接続で使用されるLIFも含まれます。
-
FPolicyを設定する際のベストプラクティスと推奨事項
Storage Virtual Machine(SVM)でFPolicyを設定するときは、FPolicy設定によって監視のパフォーマンスが向上し、要件を満たす結果が得られるようにするため、設定に関する一般的なベストプラクティスと推奨事項を理解しておく必要があります。
パフォーマンス、サイジング、設定に関する具体的なガイドラインについては、FPolicyパートナー アプリケーションを参照してください。
永続的ストア
ONTAP 9.14.1以降では、FPolicyを使用して永続的ストアを作成し、SVM内の非同期で必須でないポリシーのファイル アクセス イベントをキャプチャできます。永続的ストアは、クライアントI/O処理をFPolicy通知処理から分離して、クライアントのレイテンシを低減するのに役立ちます。同期(必須かどうかは問わない)および非同期で必須の設定はサポートされていません。
-
永続的ストア機能を使用する前に、この設定がパートナー アプリケーションでサポートされていることを確認してください。
-
FPolicyが有効になっているSVMごとに永続的ストアが1つ必要です。
-
SVMごとに設定できる永続的ストアは1つだけです。ポリシーの提供パートナーが異なる場合でも、各SVM上のすべてのFPolicy設定に単一の永続的ストアを使用する必要があります。
-
-
ONTAP 9.15.1以降:
-
永続的ストア、そのボリューム、およびボリューム設定は、永続的ストアの作成時に自動的に処理されます。
-
-
ONTAP 9.14.1:
-
永続的ストア、そのボリューム、およびボリューム設定は手動で処理します。
-
-
永続的ストアのボリュームは、FPolicyによって監視されるトラフィック量が最大になると想定されるLIFがあるノードに作成します。
-
ONTAP 9.15.1 以降:永続ストアの作成中にボリュームが自動的に作成および構成されます。
-
ONTAP 9.14.1:クラスタ管理者は、FPolicy が有効になっている各 SVM で永続ストア用のボリュームを作成して設定する必要があります。
-
-
永続的ストアに蓄積された通知がプロビジョニングされたボリュームのサイズを超えると、FPolicyによって、受信する通知のうち、破棄してもかまわないEMSメッセージが含まれるものの破棄が開始されます。
-
ONTAP 9.15.1 以降: `size`パラメータに加えて、 `autosize-mode`パラメータを使用すると、使用済みスペースの量に応じてボリュームを拡大または縮小できます。
-
ONTAP 9.14.1: `size`パラメータがボリューム作成時に設定され、最大値が設定されます。
-
-
永続ストアボリュームのスナップショットポリシーを `default`ではなく `none`に設定してください。これは、スナップショットが誤って復元されて現在のイベントが失われないようにし、イベント処理が重複する可能性を防ぐためです。
-
ONTAP 9.15.1 以降: `snapshot-policy`パラメータは、永続ストアの作成中に自動的に none に設定されます。
-
ONTAP 9.14.1: `snapshot-policy`パラメータは、ボリューム作成時に `none`に設定されます。
-
-
永続的イベント レコードの偶発的な破損や削除を避けるため、外部ユーザ プロトコル アクセス(CIFS / NFS)では永続的ストアにアクセスできないようにします。
-
ONTAP 9.15.1 以降:ONTAP は、永続ストアの作成中に、ボリュームを外部ユーザー プロトコル アクセス(CIFS/NFS)から自動的にブロックします。
-
ONTAP 9.14.1:FPolicy を有効にした後、ONTAP でボリュームをアンマウントしてジャンクション パスを削除します。これにより、外部ユーザーのプロトコル アクセス(CIFS/NFS)によるアクセスができなくなります。
-
詳細については、"FPolicyの永続的ストア"および"永続的ストアの作成"を参照してください。
永続的ストアのフェイルオーバーおよびギブバック
想定外のリブートが発生した場合や、FPolicyを無効にして再度有効にした場合、永続的ストアは最後にイベントを受信したときの状態で保持されます。テイクオーバー処理が完了すると、新しいイベントがパートナー ノードに格納されて処理されます。ギブバック処理のあとで、ノードのテイクオーバー発生時に残っていた可能性がある未処理のイベントの処理が、永続的ストアで再開されます。未処理のイベントよりもライブ イベントが優先されます。
永続ストアボリュームが同じSVM内のノード間で移動された場合、まだ処理されていない通知も新しいノードに移動します。保留中の通知が外部サーバーに確実に配信されるようにするには、ボリュームの移動後、いずれかのノードで `fpolicy persistent-store create`コマンドを再実行する必要があります。
`fpolicy persistent-store create`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/vserver-fpolicy-persistent-store-create.html["ONTAPコマンド リファレンス"^]を参照してください。
ポリシーの設定
SVMのFPolicy外部エンジン / イベント / スコープを設定することで、全体的なエクスペリエンスとセキュリティを強化できます。
-
SVMのFPolicy外部エンジンの設定:
-
セキュリティの強化には、パフォーマンス コストが伴います。Secure Sockets Layer(SSL)通信を有効にすると、共有にアクセスする際のパフォーマンスに影響します。
-
FPolicyサーバの通知処理の耐障害性と高可用性を確保するためには、FPolicy外部エンジンに複数のFPolicyサーバを設定する必要があります。
-
-
SVMのFPolicyイベントの設定:
ファイル処理の監視は、全体的なエクスペリエンスに影響します。たとえば、ストレージ側の不要なファイル処理をフィルタリングすると、エクスペリエンスが改善されます。NetAppは、次のような設定を推奨しています。
-
ユースケースに支障をきたさない範囲で最大限の数のフィルタを有効にし、監視するファイル処理の種類を最小限にとどめる。
-
属性取得、読み取り、書き込み、開く、閉じるの各処理にフィルタを使用する。SMBとNFSのホーム ディレクトリ環境では、これらの処理が大きな割合を占めます。
-
-
SVMに対するFPolicyスコープの設定:
ポリシーの適用範囲を、SVM全体ではなく、共有、ボリューム、エクスポートなどの関連するストレージオブジェクトに限定してください。NetAppは、ディレクトリ拡張子のチェックを推奨します。 `is-file-extension-check-on-directories-enabled`パラメータが `true`に設定されている場合、ディレクトリオブジェクトは通常のファイルと同じ拡張子チェックの対象となります。
ネットワーク構成
FPolicyサーバとコントローラの間のネットワーク接続は、低レイテンシである必要があります。NetAppは、プライベート ネットワークを使用してFPolicyトラフィックをクライアント トラフィックから分離することを推奨しています。
加えて、レイテンシを最小限に抑え、広帯域幅接続を確保するために、外部FPolicyサーバ(FPolicyサーバ)は広帯域幅接続が確保されたクラスタの近くに配置することが推奨されます。
|
|
FPolicyトラフィック用のLIFがクライアント トラフィック用のLIFとは別のポートに設定されているシナリオでは、ポートの障害が原因でFPolicy LIFがもう一方のノードにフェイルオーバーされる可能性があります。その結果、FPolicyサーバがノードから到達不能になり、ノードでのファイル処理に関するFPolicy通知が失敗します。この問題を回避するには、FPolicyサーバがノード上の1つ以上のLIFを通じて到達可能であり、そのノードで実行されるファイル処理に対するFPolicy要求を処理できることを確認します。 |
ハードウェア構成
FPolicyサーバは、物理サーバと仮想サーバのどちらにも配置できます。FPolicyサーバが仮想環境にある場合は、仮想サーバに専用のリソース(CPU、ネットワーク、メモリ)を割り当てる必要があります。
SVMがクライアント要求に応答する際のレイテンシの原因となる可能性があるFPolicyサーバの過負荷状態を防ぐために、クラスタ ノードとFPolicyサーバの比率を最適化する必要があります。最適な比率は、FPolicyサーバが使用されているパートナー アプリケーションによって異なります。NetAppは、適切な値を見極めるためにパートナーと協力することを推奨しています。
複数ポリシーの設定
ネイティブ ブロッキング用のFPolicyポリシーはシーケンス番号に関係なく最優先され、決定変更ポリシーは他のポリシーよりも優先されます。ポリシーの優先度は、ユースケースによって異なります。NetAppは、適切な優先度を見極めるためにパートナーと協力することを推奨しています。
サイズに関する考慮事項
FPolicyは、SMB処理とNFS処理のインライン監視を実行し、外部サーバに通知を送信し、外部エンジンの通信モード(同期または非同期)に基づいて応答を待ちます。このプロセスは、SMBとNFSのアクセスとCPUリソースのパフォーマンスに影響します。
何らかの問題につながる可能性を抑えるため、NetAppは、FPolicyを有効にする前にパートナーと協力して環境の評価とサイジングを行うことを推奨しています。パフォーマンスは、ユーザ数、ユーザあたりの処理数やデータ サイズなどのワークロード特性、ネットワーク レイテンシ、障害やサーバの速度低下など、複数の要因から影響を受けます。
パフォーマンスの監視
FPolicyは、通知ベースのシステムです。通知は外部サーバに送信され、そこで処理され、生成された応答がONTAPに返されます。この往復プロセスにより、クライアント アクセスのレイテンシが増加します。
FPolicyサーバとONTAPのパフォーマンス カウンタを監視することで、ソリューション内のボトルネックを特定し、必要に応じてパラメータを調整してソリューションを最適化できます。たとえば、FPolicyのレイテンシの増加は、連鎖的にSMBとNFSのアクセス レイテンシに影響を及ぼします。そのため、ワークロード(SMBとNFS)とFPolicyのレイテンシのどちらも監視する必要があります。加えて、ONTAPのサービス品質(QoS)ポリシーを使用して、FPolicyが有効になっているボリュームやSVMごとにワークロードの設定を行えます。
NetApp では、 `statistics show –object workload`コマンドを実行してワークロード統計を表示することを推奨しています。さらに、以下のパラメータを監視する必要があります:
-
平均 / 読み取り / 書き込みレイテンシ
-
処理の総数
-
読み取り / 書き込みカウンタ
FPolicyサブシステムのパフォーマンスを監視するために、次のFPolicyカウンタを使用できます。
|
|
FPolicyに関連する統計を収集するには、診断モードにする必要があります。 |
-
FPolicyカウンタを収集します。
-
statistics start -object fpolicy -instance <instance_name> -sample-id <ID> -
statistics start -object fpolicy_policy -instance <instance_name> -sample-id <ID>
-
-
FPolicyカウンタを表示します。
-
statistics show -object fpolicy -instance <instance_name> -sample-id <ID> -
statistics show -object fpolicy_server -instance <instance_name> -sample-id <ID>`fpolicy`および `fpolicy_server`カウンタは、次の表で説明するいくつかのパフォーマンス パラメータに関する情報を提供します。
カウンタ 概要 fpolicy カウンター
aborted_requests
SVMで処理が中止されたスクリーニング要求の数
event_count
通知の原因になったイベントのリスト
max_request_latency
スクリーニング要求の最大レイテンシ
outstanding_requests
処理中のスクリーン要求の総数
processed_requests
SVMでFPolicyの処理が完了したスクリーニング要求の総数
request_latency_hist
スクリーニング要求のレイテンシのヒストグラム
requests_dispatched_rate
送信されたスクリーニング要求の1秒あたりの数
requests_received_rate
受信したスクリーニング要求の1秒あたりの数
fpolicy_server カウンタ
max_request_latency
スクリーニング要求の最大レイテンシ
outstanding_requests
応答待ちのスクリーニング要求の総数
request_latency
スクリーニング要求の平均レイテンシ
request_latency_hist
スクリーニング要求のレイテンシのヒストグラム
request_sent_rate
FPolicyサーバに送信されたスクリーニング要求の1秒あたりの数
response_received_rate
FPolicyサーバから受信したスクリーニング応答の1秒あたりの数
`statistics start`および `statistics show`の詳細については、link:https://docs.netapp.com/us-en/ontap-cli/search.html?q=statistics["ONTAPコマンド リファレンス"^]をご覧ください。
-
FPolicyのワークフローと他のテクノロジへの依存の管理
NetAppは、設定を変更する前にFPolicyポリシーを無効にすることを推奨しています。たとえば、有効になっているポリシーに設定された外部エンジンのIPアドレスを追加または変更する場合は、まずポリシーを無効にします。
NetApp FlexCacheボリュームを監視するようにFPolicyを設定する場合、NetAppは、読み取りと属性取得のファイル処理を監視するようにFPolicyを設定しないことを推奨しています。これらの処理をONTAPで監視するには、Inode-to-Path(I2P)データを取得する必要があります。I2Pデータは、FlexCacheボリュームからは取得できないため、元のボリュームから取得する必要があります。そのため、これらの処理を監視することで、FlexCacheで得られるパフォーマンス上のメリットが帳消しになってしまいます。
FPolicyと外部のウイルス対策ソリューションを両方とも導入している場合、最初にウイルス対策ソリューションが通知を受信します。FPolicyの処理は、ウイルス対策スキャンの完了後に開始されます。ウイルス対策スキャナが低速だと全体的なパフォーマンスに影響する可能性があるため、ウイルス対策ソリューションの適切なサイジングが重要になります。
パススルー リードのアップグレードとリバートに関する考慮事項
パススルー リードをサポートしているONTAPリリースへのアップグレードまたはパススルー リードをサポートしていないリリースへのリバートを行う前に、アップグレードおよびリバートに関する考慮事項を把握しておく必要があります。
アップグレード
FPolicyパススルー リードをサポートしているONTAPのバージョンにすべてのノードをアップグレードしたあと、クラスタはパススルー リードを使用できるようになります。ただし、既存のFPolicy設定ではパススルー リードがデフォルトで無効になっています。既存のFPolicy設定でパススルー リードを使用するには、FPolicyポリシーを無効にして設定を変更したうえで、設定を再び有効にする必要があります。
リバート
FPolicyをサポートしていないONTAPのバージョンにリバートする前に、以下の条件を満たす必要があります。
-
パススルー リードを使用しているすべてのポリシーを無効にしたうえで、影響を受ける設定を変更してパススルー リードを使用しないようにする必要があります。
-
クラスタ上のすべてのFPolicyポリシーを無効にして、クラスタのFPolicy機能を無効にします。
永続的ストアをサポートしないバージョンのONTAPにリバートする前に、永続的ストアが設定されているFPolicyポリシーが1つもないことを確認してください。永続的ストアが設定されていると、リバートは失敗します。