Skip to main content
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

ONTAP FPolicy 設定の要件とベストプラクティス

共同作成者 netapp-barbe netapp-pcarriga netapp-aaron-holt netapp-aherbin netapp-dbagwell netapp-forry netapp-ahibbard

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も含まれます。

  • ONTAP 9.20.1以降では、FPolicyポリシーはS3イベントをサポートします。S3オブジェクトイベント用にFPolicyを設定するには、以下の追加要件を満たす必要があります:

    • クラスター内のすべてのノードでONTAP 9.20.1以降が稼働している必要があります。異なるバージョンが混在するクラスターでは、すべてのノードがこの機能をサポートするまで、S3 FPolicyの設定がブロックされます。

    • ネイティブのS3バケットではなく、NASバケットのみがサポートされています。

    • protobuf通知フォーマットをサポートする外部FPolicyサーバー。S3イベントではXML形式はサポートされていません。

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のホーム ディレクトリ環境では、これらの処理が大きな割合を占めます。

    • S3クライアント主導の操作が正常に完了した場合のみ、通知が生成されます。内部的に生成される操作(オブジェクトの有効期限切れやスナップショットによる復元など)は、FPolicy通知を生成しません。

    • サポートされているS3操作は以下のとおりです:

      • オブジェクトの作成(PUT、COPY、およびCompleteMultipartUpload)

      • オブジェクトの削除(DELETEおよび複数削除)

      • オブジェクトタグ(タグPUTとタグDELETE)

        メモ GETおよび読み取りイベントは監視されません。
    • S3の複数削除リクエストでは最大1,000個のオブジェクトを削除できますが、FPolicyは正常に削除されたオブジェクトごとに1つの通知を送信します(SHMスロットは32 KBに制限されています)。それに応じて外部サーバーの容量を計画してください。

    • FPolicyポリシーのスコープを使用して、特定のNASバケットを名前で指定して含めるか除外するかを指定できます。設定されたバケット名にスペルミスがあったり、バケットが削除されたりした場合、FPolicyは操作をブロックせず、そのバケットに関する通知を生成しないだけです。

  • SVMに対するFPolicyスコープの設定:

    ポリシーの適用範囲を、SVM全体ではなく、共有、ボリューム、エクスポートなどの関連するストレージオブジェクトに限定してください。NetAppは、ディレクトリ拡張子のチェックを推奨します。 `is-file-extension-check-on-directories-enabled`パラメータが `true`に設定されている場合、ディレクトリオブジェクトは通常のファイルと同じ拡張子チェックの対象となります。

S3 FPolicyの制限

ONTAP 9.20.1以降、FPolicyはS3オブジェクトの監視をサポートしますが、次の制限事項があります:

  • S3 FPolicyは、非同期かつ非強制的なモードでのみ動作します。S3イベントでは、同期モード、強制ポリシー、およびネイティブブロッキング(ファイル拡張子に基づくブロッキング)はサポートされていません。

  • S3 FPolicy通知では、永続ストアはサポートされていません。

  • FPolicy外部エンジン接続におけるSSL/TLSは、S3通知ではサポートされていません。

  • 特権データアクセスとパススルー読み取りは、S3 FPolicyには適用されません。

  • 配信保証はサポートされていません。通知はベストエフォート型であり、外部FPolicyサーバーが切断された場合、または再試行後も共有メモリバッファ(SHM)が満杯のままの場合、破棄される可能性があります。

  • S3イベントでは、アクセス拒否および操作失敗の通知はサポートされていません。

ネットワーク構成

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に関連する統計を収集するには、診断モードにする必要があります。
手順
  1. FPolicyカウンタを収集します。

    1. statistics start -object fpolicy -instance <instance_name> -sample-id <ID>

    2. statistics start -object fpolicy_policy -instance <instance_name> -sample-id <ID>

  2. FPolicyカウンタを表示します。

    1. statistics show -object fpolicy -instance <instance_name> -sample-id <ID>

    2. 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アドレスを追加または変更する場合は、まずポリシーを無効にします。

FPolicyを設定してNetApp FlexCacheボリュームを監視する場合、NetAppでは、readおよびgetattrファイル操作を監視するようにFPolicyを設定しないことを推奨します。ONTAPでこれらの操作を監視するには、inode-to-path(I2P)データの取得が必要です。I2PデータはFlexCacheボリュームから取得できないため、オリジンボリュームから取得する必要があります。したがって、これらの操作を監視すると、FlexCacheが提供できるパフォーマンス上の利点が失われます。FlexCacheボリューム上のS3 NASバケットの場合、オリジンボリュームへの内部ライトバックおよびライトアラウンド操作はFPolicy通知を生成しません。ベストプラクティスとして、すべてのS3イベントをキャプチャするために、オリジンSVMとFlexCache SVMの両方でFPolicyを設定します。

FPolicyと外部のウイルス対策ソリューションを両方とも導入している場合、最初にウイルス対策ソリューションが通知を受信します。FPolicyの処理は、ウイルス対策スキャンの完了後に開始されます。ウイルス対策スキャナが低速だと全体的なパフォーマンスに影響する可能性があるため、ウイルス対策ソリューションの適切なサイジングが重要になります。

S3 FPolicyはMetroCluster構成でサポートされています。スイッチオーバー後、外部FPolicyサーバーが設定されており、そのサイトからアクセス可能な場合、リモート(稼働中の)サイトからFPolicy通知を生成できます。

ノードのテイクオーバーおよびギブバック操作中に、関連付けられたLIFが別のノードに移行する場合、FPolicyサーバーへの接続が一時的に中断される可能性があります。適切なLIFが利用可能になると、接続は自動的に再確立されます。この期間中に操作を再試行するS3クライアントは、接続が復旧した際に新しいFPolicy通知を生成します。

パススルー リードのアップグレードとリバートに関する考慮事項

パススルー リードをサポートしているONTAPリリースへのアップグレードまたはパススルー リードをサポートしていないリリースへのリバートを行う前に、アップグレードおよびリバートに関する考慮事項を把握しておく必要があります。

アップグレード

FPolicyパススルー リードをサポートしているONTAPのバージョンにすべてのノードをアップグレードしたあと、クラスタはパススルー リードを使用できるようになります。ただし、既存のFPolicy設定ではパススルー リードがデフォルトで無効になっています。既存のFPolicy設定でパススルー リードを使用するには、FPolicyポリシーを無効にして設定を変更したうえで、設定を再び有効にする必要があります。

すべてのノードがONTAP 9.20.1以降にアップグレードされたあと、S3プロトコルおよびS3オブジェクト操作(オブジェクトの作成、オブジェクトの削除、オブジェクトのタグ付け)を使用してFPolicyイベントを設定できます。バージョンが混在するクラスタでは、S3 FPolicyの設定はブロックされます。

リバート

FPolicyをサポートしていないONTAPのバージョンにリバートする前に、以下の条件を満たす必要があります。

  • パススルー リードを使用しているすべてのポリシーを無効にしたうえで、影響を受ける設定を変更してパススルー リードを使用しないようにする必要があります。

  • クラスタ上のすべてのFPolicyポリシーを無効にして、クラスタのFPolicy機能を無効にします。

永続的ストアをサポートしないバージョンのONTAPにリバートする前に、永続的ストアが設定されているFPolicyポリシーが1つもないことを確認してください。永続的ストアが設定されていると、リバートは失敗します。

S3 FPolicyをサポートしていないバージョンのONTAPに戻す前に、S3プロトコルで設定されているすべてのFPolicyイベントを削除する必要があります。S3 FPolicyの設定が残っている場合、リバートは失敗します。