In order to reserve bandwidth for non-realtime I/O (RVIO) operations on certain clients, you must specify the amount in the QOS central configuration file. This file is located under $CVFSROOT/config/ (for example, /usr/cvfs/config). The configuration file name consists of the file system name and the suffix _rvio.opt. For example, the central configuration file name for a file system called fs1 would be fs1_rvio.opt.
The configuration does not affect the normal RTIO requests; it affects only the bandwidth allocation to non-RTIO requests. Note the following characteristics of RVIO:
- RTIO has higher priority and is always satisfied first. RVIO uses whatever bandwidth is left.
- RVIO reservation is not guaranteed. Instead, it is adjusted dynamically. When there are new RVIO or RTIO requests, the bandwidth reserved for clients with previous RVIO requests is readjusted. Each RVIO client will get the RVIO bandwidth reserved proportional to its request amount.
- The RVIO bandwidth allocated for a client is the total bandwidth for non-RTIO requests on the client. The bandwidth (token) will not return like a normal non-RTIO client does if it's been idle for a hold time. Non-RTIO requests on clients with an RVIO reservation is subject to the same throttling mechanism as non-RTIO requests on normal clients.
- Other active non-RTIO clients equally share the bandwidth left over after the possible RTIO and RVIO allocations. If no bandwidth is left, the minimal reserved bandwidth (defined in the stripe group section of the file system configuration file) is used.
A central configuration file has multiple entries, and each entry defines the RVIO reservation for a client. Following are the fields of an entry:
host bw-type sg=yy,[sg=yy]
- host is the host name, IP address (either V4 or V6), or FQDN, etc. of the client. The host name should be able to be resolved (converted to a valid IP address) by the FSM server. If there are multiple IPs on the host, use the IP that is used to communicate with the FSM.
- bw-type is the type of bandwidth to be specified. There are two bandwidth type options:
- qosmb means the subsequent value for bandwidth reservation uses MB/s (megabytes per second) as the unit of measure.
- qosios means the subsequent value for bandwidth reservation uses IOs/s (inputs/outputs per second) as the unit of measure.
- sg stands for stripe group. You may specify a stripe group by entering the stripe group name, or by stripe group number starting from 0 for the first stripe group. If you'd like to specify the same RVIO bandwidth reservation for all eligible stripe groups, you can use the asterisk wildcard in the format *=yy.
Any line in the configuration file starting with the pound sign (#) is considered a comment line and is not executed.
For additional information about entering the configuration file for QOS, see the man page called qos_config.
Below are some configuration file entry examples:
box1.xyz.com qosios 2=200,4=50,sg5=45
10.10.1.8 qosmb *=60