メインコンテンツへスキップ

Astra Trident の NFS マウントを OpenShift 上で最適化する方法

Views:
2
Visibility:
Public
Votes:
0
Category:
astra_trident
Specialty:
nas
Last Updated:

環境

  • OpenShift Container Platform 4.x
  • OpenShift Virtualization 4.x
  • NFSバックアップのStorageClassesを使用するAstra Trident
  • NFSv4.1またはNFSv4.2バックエンドを使用するONTAP 9
  • Red Hat Enterprise Linux CoreOS(RHCOS)ワーカーノードおよびコントロールプレーンノード

概要

この記事では、ONTAP NFSバックエンドを使用する Astra Trident 環境(OpenShift 上で動作し、OpenShift 仮想化ワークロードを含む同時実行ワークロード下でレイテンシの上昇またはレイテンシスパイクが発生している環境)向けの基本的なチューニングガイダンスを提供します。

これらの設定は基本的な推奨事項であり、普遍的なデフォルト設定ではありません。パフォーマンスは、ワークロードプロファイル、ネットワークトポロジー、およびバックエンド構成によって異なります。

ステップ1と2を基準として適用し、パフォーマンスを再評価し、ワークロードのパフォーマンスが依然として低い場合にのみステップ3を使用してください。メンテナンス期間中に変更内容を検証し、必要に応じてデプロイメントに合わせて調整してください。

手順

  1. Trident バックエンドまたはStorageClassのマウントオプションをsec=sys,nconnect=8に更新します。
    • バックエンドの例:
      kind: TridentBackendConfig
      spec:
        nfsMountOptions: sec=sys,nconnect=8
    • StorageClass の例:
      mountOptions:
      - sec=sys
      - nconnect=8
    • StorageClass メソッドを使用する場合は、同じ名前で StorageClass を削除して再作成してください。
    • 既存のポッドと仮想マシンは、再起動、停止/起動、またはライブマイグレーションによって PVC が再マウントされるまで、変更を反映しません。
  2. ワーカーの MachineConfig を適用して、sunrpc および nfs モジュールをロードし、ライブ値を設定します。
    • /sys/module/sunrpc/parameters/tcp_max_slot_table_entries128に設定します。
    • /sys/module/nfs/parameters/max_session_slots1024に設定します。
    • ワーカープールが終了するまで待機し、その後、コントロールプレーンのMachineConfigを使用して同じsystemdユニットを適用します。
  3. ロールアウトを監視し、両方のプールが正常に完了したことを確認します。
    oc get mcp worker -w
    oc get mcp master -w
    • UPDATED=TrueUPDATING=False、およびDEGRADED=Falseを確認します。
  4. 更新されたノードでサービスとライブ値を検証します
    oc debug node/<node> -- chroot /host systemctl status nfs-slot-tuning.service --no-pager
    oc debug node/<node> -- chroot /host sh -c 'cat /sys/module/sunrpc/parameters/tcp_max_slot_table_entries; cat /sys/module/nfs/parameters/max_session_slots'
  5. ONTAP SVM の設定 -v4.x-session-num-slotsを段階的に増やします。
    • 180から256512768、そして1024に順次増加させます。
    • set -privilege advanced
      vserver nfs show -vserver <svm_name> -fields v4.x-session-num-slots
      vserver nfs modify -vserver <svm_name> -v4.x-session-num-slots <value>
      set -privilege admin
    • 影響を受けるワークロードを再マウントまたは再起動して、新しい NFSv4.x セッションが更新されたスロット数をネゴシエートするようにしてください。
  6. レイテンシが悪化した場合は、逆順にロールバックしてください。
    • Trident マウントオプションを sec=sys に戻します。
    • ONTAP セッションスロットを 180 にリセットします:
      set -privilege advanced
      vserver nfs modify -vserver <svm_name> -v4.x-session-num-slots 180
      set -privilege admin
    • ワーカーの MachineConfig を削除し、完了するまで待ってから、コントロールプレーンの MachineConfig を削除します。

パートナーノート

 

追加情報

  • プールは一度に1つずつロールアウトしてください。ワーカープールとコントロールプレーンプールを同時に更新しないでください。
  • 開始前にPodDisruptionBudgetsがドレインをブロックしていないことを確認してください。
  • max_session_slots=1024はクライアント側の上限値です。ONTAPは、新しいNFSv4.1またはNFSv4.2セッションに対して、クライアントとサーバーの低い方の値にネゴシエートします。
  • tcp_max_slot_table_entries=128はTCP接続ごとの明示的なRPC上限を設定します。スロットテーブルの引き上げとは表現しないでください。
  • このワークフローではmodprobe.dの代わりにsystemdユニットを使用するため、モジュールパスが存在し、起動時にライブ値が適用されます。
  • ONTAPのセッションスロットの変更は、新たに確立されたNFSv4.xセッションにのみ適用されます。
  • オプションでOpenShiftのnode-exporter mountstatsコレクターを有効にして、チューニング前後のクライアント側NFSアクティビティを測定できます。

内部情報

 

Sign in to view the entire content of this KB article.

New to NetApp?

Learn more about our award-winning Support

NetApp provides no representations or warranties regarding the accuracy or reliability or serviceability of any information or recommendations provided in this publication or with respect to any results that may be obtained by the use of the information or observance of any recommendations provided herein. The information in this document is distributed AS IS and the use of this information or the implementation of any recommendations or techniques herein is a customer's responsibility and depends on the customer's ability to evaluate and integrate them into the customer's operational environment. This document and the information contained herein may be used solely in connection with the NetApp products discussed in this document.
  • この記事は役に立ちましたか?