Chapter 20. Managing Resource Usage

When Red Hat Gluster Storage is deployed on the same machine as other resource intensive software and services, it can be useful to limit the resources that glusterd attempts to use in order to avoid resource contention between processes.
On Red Hat Gluster Storage 3.2 and higher deployments based on Red Hat Enterprise Linux 7, this can be configured using gdeploy. For more information, see Section 5.1.11, “Limiting Gluster Resources”.
On earlier versions of Red Hat Gluster Storage, it is necessary to manually configure a control group slice for the glusterd service in order to manage glusterd's access to system resources.

Procedure 20.1. Limiting glusterd resources on RHEL7 based Red Hat Gluster Storage

  1. Stop all gluster processes

    # systemctl stop glusterd
  2. Create a service configuration directory for glusterd

    # mkdir /etc/systemd/system/glusterd.service.d
  3. Create a service configuration file

    # echo "[Service]
    CPUAccounting=yes
    Slice=glusterfs.slice" >> /etc/systemd/system/glusterd.service.d/99-cpu.conf
  4. Create a slice file

    The following defines a slice that sets CPUQuota to the recommended value of 400% (four cores).
    # echo "[Slice]
    CPUQuota=400%" >> /etc/systemd/system/glusterfs.slice
    You can alter the percentage to suit your environment by editing the value in the slice file:
    # systemctl set-property glusterfs.slice CPUQuota=value
  5. Restart the system daemon

    # systemctl daemon-reload
  6. Start gluster processes

    # systemctl start glusterd
For more information about configuring resource management on Red Hat Enterprise Linux 7, see the Resource Management Guide: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html-single/Resource_Management_Guide/index.html#sec-What_are_Control_Groups
Resource management works differently on Red Hat Enterprise Linux 6. See the Red Hat Enterprise Linux 6 Resource Management Guide for details: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch-Using_Control_Groups.html