Chapter 10. Managing Red Hat Storage Volumes

This chapter describes how to perform common volume management operations on the Red Hat Storage volumes.

10.1. Tuning Volume Options

You can tune volume options, as needed, while the trusted storage pool is online and available.
To tune volume options
  • Tune volume options using the following command:
    # gluster volume set VOLNAME OPTION PARAMETER
    For example, to specify the performance cache size for test-volume:
    # gluster volume set test-volume performance.cache-size 256MB
    Set volume successful
    The following table lists the Volume options along with its description and default value:

    Note

    The default value listed in the table is subject to change and may not be the same for all versions.
    Option Value Description Allowed Values Default Value
    auth.allow IP addresses or hostnames of the clients which should be allowed to access the volume. Valid hostnames or IP addresses which includes wild card patterns including *, such as 192.168.1.*. A list of comma separated addresses is accepted, but a single hostname must not exceed 256 characters. * (allow all)
    auth.reject IP addresses or hostnames of the clients which should be denied access to the volume. Valid hostnames or IP addresses which includes wild card patterns including *, such as 192.168.1.*. A list of comma separated addresses is accepted, but a single hostname must not exceed 256 characters. none (reject none)
    cluster.min-free-disk Specifies the percentage of disk space that must be kept free. Might be useful for non-uniform bricks. Percentage of required minimum free disk space 10%
    cluster.self-heal-daemon Allows you to turn-off proactive self-heal on replicated volumes. on | off on
    cluster.server-quorum-type If set to server, enables the specified volume to participate in quorum. For more information on configuring quorum, see Section 10.9, “Configuring Server-Side Quorum” none | server none
    cluster.server-quorum-ratio Sets the quorum percentage for the trusted storage pool. 0 - 100 >50%
    diagnostics.brick-log-level Changes the log-level of the bricks. info | debug | warning | error | critical | none | trace info
    diagnostics.client-log-level Changes the log-level of the clients. info | debug | warning | error | critical | none | trace info
    features.read-only Enables you to mount the entire volume as read-only for all the clients accessing it. on | off off
    geo-replication.indexing Use this option to automatically sync the changes in the file system from Master to Slave. on | off off
    network.ping-timeout The time duration for which the client waits to check if the server is responsive. When a ping timeout occurs, network disconnects between the client and server. All resources held by server on behalf of the client gets cleaned up. When network connects, all resources needs to be re-acquired before the client can resume its operations on the server. Additionally, the locks are acquired and the lock tables updated.
    This reconnect is a very expensive operation and should be avoided.
    42 seconds 42 seconds
    nfs.export-dir By default, all volumes of NFS are exported as individual exports. Now, this option allows you to export only the specified subdirectory or subdirectories in the volume. This option can also be used in conjunction with nfs.export-volumes option to restrict exports only to the subdirectories specified through this option. An absolute path or a comma separated list of absolute paths of subdirectories of the volumes. None
    nfs.export-dirs By default, all subvolumes of NFS are exported as individual exports. Enabling this option allows any directory on a volumes to be exported separately. on | off on
    nfs.export-volumes Enables or disables exporting entire volumes. If used in conjunction with nfs.export-dir, can allow setting up only subdirectories as exports. on | off on
    nfs.rpc-auth-allow<IP- Addresses> Allows a comma separated list of addresses to connect to the server. By default, all clients are allowed. IP address accept all
    nfs.rpc-auth-reject <IP- Addresses> Rejects a comma separated list of addresses from connecting to the server. By default, all connections are allowed. IP address reject none
    nfs.ports-insecure Allows client connections from unprivileged ports. By default only privileged ports are allowed. This is a global setting in case insecure ports are to be enabled for all exports using a single option. on | off off
    nfs.addr-namelookup Turn-off name lookup for incoming client connections using this option. In some setups, the name server can take too long to reply to DNS queries resulting in timeouts of mount requests. Use this option to turn off name lookups during address authentication. Note, turning this off will prevent you from using hostnames in nfs.rpc-auth-* filters. on | off on
    nfs.port <port- number> Use this option on systems that need glusterFS NFS to be associated with a non-default port number. 1025-65535 38465- 38467
    nfs.disable Disables NFS export of individual volumes. on | off off
    performance.io-thread-count The number of threads in IO threads translator. 0 - 65 16
    performance.cache-max-file-size Sets the maximum file size cached by the io-cache translator. Can use the normal size descriptors of KB, MB, GB,TB or PB (for example, 6GB). Maximum size unit 64. size in bytes 2 ^ 64-1 bytes
    performance.cache-min-file-size Sets the minimum file size cached by the io-cache translator. Values same as max above. size in bytes 0 B
    performance.cache-refresh-timeout The cached data for a file will be retained till cache-refresh-timeout seconds, after which data re-validation is performed. 0 - 61 seconds 1 second
    performance.cache-size Size of the read cache. size in bytes 32 MB
    server.allow-insecure Allows client connections from unprivileged ports. By default, only privileged ports are allowed. This is a global setting in case insecure ports are to be enabled for all exports using a single option. on | off off
    server.root-squash Prevents root users from having root privileges and assigns them the privileges of nfsnobody. This effectively squashes the power of the root user to the user nfsnobody, preventing unauthorized modification of files on the Red Hat Storage Servers. on | off off

    Important

    Red Hat recommends you to set server.allow-insecure option to on if there are too many bricks in each volume or if there are too many services which have already utilized all the privileged ports in the system. Turning this option on allows ports to accept/reject messages from insecure ports. So, use this option only if your deployment requires it.
    You can view the changed volume settings using the gluster volume info VOLNAME command.