KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

PFSSサーバのNFSスレッド数の確認・変更方法

登録日 :2025/11/09 20:35
カテゴリ :Linux

PFSSサーバがNFS-Ganeshaを使用している場合のNFSスレッド数(worker thread)確認・設定方法について回答します。

NFS-Ganeshaのスレッド数とは
Ganeshaでは「worker thread」が実際にリクエストを処理するスレッドで、これがNFSサーバのスレッド数に相当します。

デフォルトは少数のスレッドですが、多数のリクエストを効率的にさばくために数十〜100以上に増やすことが推奨されます。

スレッド数(worker thread)確認方法
Ganeshaの動作ログやステータスから確認可能です。

サービス状態を確認:

systemctl status nfs-ganesha

Ganeshaログファイル(例:/var/log/ganesha/ganesha.log)にworkerスレッド関連の記述があるか確認

スレッド数の設定(ganesha.conf)
ganesha.confファイルのNFSV4またはNFSブロックに以下のパラメータを追加または修正します。

NFS {
    Threads = 100;  # スレッド数を100に設定
    # 他の設定例
    # ... 
}

もしくはグローバル設定ブロックNFSV4でも同様に設定可能(ganesha.conf内)

設定例:

EXPORT {
   # Export設定…
}

NFS {
    Threads = 100;
}

変更後の反映手順
設定ファイル/etc/ganesha/ganesha.confなどを編集

Ganeshaサービスを再起動

sudo systemctl restart nfs-ganesha

ログやステータスで反映確認

補足
多すぎるスレッド数はCPUリソース消費の増加を招くため、サーバスペックを踏まえてチューニングしてください

必要に応じてログレベルを上げて詳細診断を行うことも可能です

以上がNFS-GaneshaのNFSスレッド数の確認と設定方法になります。必要に応じて具体的なganesha.confの内容例も提供可能です。


設定ファイルと重要コマンド例

以下はNFS-Ganeshaの事前設定やチューニングで使う設定ファイル例と重要コマンド例です。

ganesha.conf の設定例(一部抜粋)

NFS_CORE_PARAM {
    Enable_NLM = false;         # ロックマネージャは無効化例
    Enable_RQUOTA = false;      # クォータ機能無効化例
    Protocols = 4;              # NFSv4のみ有効化
    Threads = 100;              # workerスレッド数100に設定
}

EXPORT_DEFAULTS {
    Access_Type = RW;
    Attr_Expiration_Time = 0.5;
    Delegations = false;
}

EXPORT {
    Export_Id = 101;
    Path = "/data";             # エクスポートするパス
    Pseudo = "/pseudo";
    Access_Type = RW;
    FSAL {
        Name = VFS;             # ファイルシステム取得方法
    }
    SecType = "sys";
    Squash = "No_root_squash";
}

LOG {
    Default_Log_Level = WARN;
}

重要コマンド例
サービス管理

sudo systemctl restart nfs-ganesha         # Ganeshaサーバの再起動
sudo systemctl status nfs-ganesha          # 状態確認

workerスレッド数の確認

ps -L -p $(pidof ganesha)                   # スレッド数表示

ファイルディスクリプタ上限確認

ulimit -n                                   # 現在の上限
cat /proc/$(pidof ganesha)/limits | grep "Max open files"

参考ファイルパス例
設定ファイルパス例

/etc/ganesha/ganesha.conf
/etc/ganesha/nfs-ganesha.conf

これら設定でworker thread数やログ制御、エクスポート設定などを管理しつつ適切な性能チューニングを行います。
具体的な環境変数やチューニングパラメータの追加・変更も必要に応じて可能です。