第18章 リソース使用状況の管理

Red Hat Gluster Storage が他のリソース集中型ソフトウェアおよびサービスと同じマシンにデプロイされる場合、プロセス間のリソースの競合を避けるために glusterd が使用するリソースを制限すると便利です。
Red Hat Enterprise Linux 6 では、リソース管理が異なります。詳細は『Red Hat Enterprise Linux 6 リソース管理ガイド』を参照してください。https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch-Using_Control_Groups.html
重要
Red Hat Gluster Storage は 3.5 Batch Update 1 以降では、Red Hat Enterprise Linux 6 (RHEL 6) でサポートされません。インストールガイドの『バージョンの詳細』表および『Red Hat Gluster Storage ソフトウェアコンポーネントおよびバージョン』 を参照してください。

手順18.1 Gluster デーモンの CPU 使用率の制御

control-cpu-load スクリプトは、cgroup フレームワークを使用してプロセスの CPU クォータを設定して、Gluster デーモンの CPU 使用率を制御するユーティリティーを提供します。
  1. 以下のコマンドを使用して scripts フォルダーに移動します。
    # cd /usr/share/glusterfs/scripts
  2. 以下のコマンドを使用して、必要な gluster デーモンの PID を確認します。
    # ps -aef | grep daemon_name
    出力は以下の形式になります。
    root      1565...output omitted...grep --color=auto daemon_name
    この出力では、1565 はデーモンサービスの PID を表します。PID が異なるシステムやデーモンの異なるインスタンスで一致しないため、このプロセスを実行するたびに関連する PID を確認するようにしてください。
  3. 以下のコマンドを使用して control-cpu-load スクリプトを実行します。
    # sh control-cpu-load.sh
  4. システムで以下の入力を求めるプロンプトが出されたら、前の手順で取得したデーモンの PID を入力して Enter キーを押します。
    [root@XX-XX scripts]# sh control-cpu-load.sh
    Enter gluster daemon pid for which you want to control CPU.
    1565
  5. システムに以下の入力を求めるプロンプトが出されたら、y と入力して Enter キーを押します。
    If you want to continue the script to attach 1565 with new cgroup_gluster_1565 cgroup Press (y/n)?
  6. システムが以下の通知を要求したら、デーモンに割り当てるのに必要なクォータ値を入力して Enter キーを押します。
    Creating child cgroup directory 'cgroup_gluster_1565 cgroup' for daemon_name.service.
    Enter quota value in range [10,100]:
    25
    
    この例では、デーモンサービスのクォータ値は 25 に設定されます。
    クォータ値が正常に設定されていると、システムは以下のメッセージが表示されます。
    Entered quota value is 25
    Setting 25000 to cpu.cfs_quota_us for gluster_cgroup.
    Tasks are attached successfully specific to 1565 to cgroup_gluster_1565.
重要
デーモンが再起動し、新しいデーモン PID が使用されるたびに、この手順を実施します。

手順18.2 Gluster デーモンのメモリー使用量の制御

control-mem スクリプトは、cgroup フレームワークを使用してプロセスのメモリー制限を設定して、Gluster デーモンのメモリー使用率を制御するユーティリティーを提供します。
  1. 以下のコマンドを使用して scripts フォルダーに移動します。
    # cd /usr/share/glusterfs/scripts
  2. 以下のコマンドを使用して、必要な gluster デーモンの PID を確認します。
    # ps -aef | grep daemon_name
    出力は以下の形式になります。
    root      1565     1  0 Feb05 ?        00:09:17 /usr/sbin/glusterfs -s localhost --volfile-id gluster/daemon_name -p /var/run/gluster/daemon_name/daemon_name.pid -l /var/log/glusterfs/daemon_name.log -S /var/run/gluster/ed49b959a0dc9b2185913084e3b2b339.socket --xlator-option *replicate*.node-uuid=13dbfa1e-ebbf-4cee-a1ac-ca6763903c55
      root     16766 14420  0 19:00 pts/0    00:00:00 grep --color=auto daemon_name
    この出力では、1565 はデーモンサービスの PID を表します。
  3. 以下のコマンドを使用して control-cpu-load スクリプトを実行します。
    # sh control-mem.sh
  4. システムが以下の入力を要求したら、前の手順で取得したデーモンの PID を入力して Enter キーを押します。
    [root@XX-XX scripts]# sh control-mem.sh
    Enter gluster daemon pid for which you want to control CPU.
    1565
    この例では、1565 はデーモンサービスの PID を表します。デーモンサービスの PID は、システムによって異なる場合があります。
  5. システムが以下の入力を要求したら、y と入力して Enter キーを押します。
    If you want to continue the script to attach daeomon with new cgroup. Press (y/n)?
    システムは、以下の通知を要求します。
    Creating child cgroup directory 'cgroup_gluster_1565 cgroup' for daemon_name.service.
  6. システムが以下の入力を要求したら、デーモンに割り当てるのに必要なメモリー値を入力して Enter キーを押します。
    Enter Memory value in Mega bytes [100,8000000000000]:
    この例では、メモリー値は 5000 に設定されます。メモリー値が正しく設定されていると、システムは以下のメッセージを表示します。
    Entered memory limit value is 5000.
    Setting 5242880000 to memory.limit_in_bytes for /sys/fs/cgroup/memory/system.slice/daemon_name.service/cgroup_gluster_1565.
    Tasks are attached successfully specific to 1565 to cgroup_gluster_1565.
重要
デーモンが再起動し、新しいデーモン PID が使用されるたびに、この手順を実施します。