6.3.3.5. デフォルトのエクスポート設定の変更

gluster CLI オプションを使用して、NFS-Ganesha 経由でボリュームをエクスポートまたはエクスポート解除することを推奨します。ただし、本項では、NFS-Ganesha で設定可能なパラメーターの変更について説明します。このようなパラメーターを変更するには、NFS-Ganesha を手動で起動する必要があります。
サポートされるエクスポートオプションは、man ページの ganesha-export-config 8 を参照してください。
デフォルトのエクスポート設定を変更するには、既存の ganesha クラスターのいずれかのノードで以下の手順を実行します。
  1. /run/gluster/shared_storage/nfs-ganesha/exports/ にある対応するエクスポートファイルにある必須フィールドを編集/追加します
  2. 以下のコマンドを実行します。
    # /usr/libexec/ganesha/ganesha-ha.sh --refresh-config <HA_CONF_DIR> <volname>
各オプションについての説明は以下のとおりです。
  • HA_CONF_DIR: ganesha-ha.conf ファイルを含むディレクトリーパス。デフォルトでは、/run/gluster/shared_storage/nfs-ganesha にあります。
  • volname - エクスポート設定を変更する必要があるボリュームの名前。
エクスポート設定ファイルのサンプル:
以下は、エントリーのエクスポートに必要なデフォルトのパラメーターセットです。ここで指定する値は、NFS-Ganesha の起動または停止に CLI オプションによって使用されるデフォルト値です。
# cat export.conf

EXPORT{
    Export_Id = 1 ;   # Export ID unique to each export
    Path = "volume_path";  # Path of the volume to be exported. Eg: "/test_volume"

    FSAL {
        name = GLUSTER;
        hostname = "10.xx.xx.xx";  # IP of one of the nodes in the trusted pool
        volume = "volume_name";     # Volume name. Eg: "test_volume"
    }

    Access_type = RW;     # Access permissions
    Squash = No_root_squash; # To enable/disable root squashing
    Disable_ACL = true;     # To enable/disable ACL
    Pseudo = "pseudo_path";     # NFSv4 pseudo path for this export. Eg: "/test_volume_pseudo"
    Protocols = "3”, “4" ;     # NFS protocols supported
    Transports = "UDP”, “TCP" ; # Transport protocols supported
    SecType = "sys";     # Security flavors supported
}
以降のセクションで、NFS-Ganesha を使用するさまざまな設定について説明します。予想される動作を確認するには、export.conf ファイルにマイナーな変更を加える必要があります。
  • 特定クライアントのパーミッションの提供
  • NFSv4 ACL の有効化および無効化
  • NFSv4 マウントに疑似パスを提供
  • サブディレクトリーのエクスポート
6.3.3.5.1. 特定クライアントのパーミッションの提供
EXPORT ブロックで指定したパラメーター値とパーミッションの値は、エクスポートしたボリュームをマウントするクライアントに適用されます。特定のクライアントに特定のパーミッションを提供するには、EXPORT ブロック 内にクライアントブロックを追加します。
たとえば、クライアント 10.00.00.01 に特定のパーミッションを割り当てるには、EXPORT ブロックに以下のブロックを追加します。
client {
        clients = 10.00.00.01;  # IP of the client.
        access_type = "RO"; # Read-only permissions
        Protocols = "3"; # Allow only NFSv3 protocol.
        anonymous_uid = 1440;
        anonymous_gid = 72;
  }
その他のクライアントはすべて、client ブロックで宣言されたパーミッションを継承します。