21.2.4. 分散ボリュームのセルフ修復の制御
分散ボリュームの場合、複数のブリックを持つノードがオフラインになり、オンラインに戻ると、self-heal デーモンがブリックを修復します。この自己修復により、大量のデータが発生した場合に CPU の使用率が高くなり、継続中の I/O 操作に影響を与える可能性があるため、ストレージ効率が低下します。
Self-heal デーモンの CPU およびメモリーの使用状況を制御するには、以下の手順に従います。
- 以下のコマンドを使用して scripts ディレクトリーに移動します。
# cd /usr/share/glusterfs/scripts
- 以下のコマンドを使用して、self-heal デーモンの PID を確認します。
# ps -aef | grep glustershd
出力は以下の形式になります。root 1565 1 0 Feb05 ? 00:09:17 /usr/sbin/glusterfs -s localhost --volfile-id gluster/glustershd -p /var/run/gluster/glustershd/glustershd.pid -l /var/log/glusterfs/glustershd.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 glustershd
この出力では、1565 は selfheald サービスの PID を表します。 - 以下のコマンドを使用して
control-cpu-load
スクリプトを実行します。# sh control-cpu-load.sh
- システムが以下の入力を要求したら、前の手順で取得したセル修復デーモンの PID を入力して
Enter
キーを押します。[root@XX-XX scripts]# sh control-cpu-load.sh Enter gluster daemon pid for which you want to control CPU. 1565
- システムが以下の入力を要求したら、
y
と入力してEnter
キーを押します。If you want to continue the script to attach 1565 with new cgroup_gluster_1565 cgroup Press (y/n)?
この例では、1565 は selfheald サービスの PID を表します。selfheald サービスの PID は、システムによって異なる場合があります。 - システムが以下の入力を要求したら、セルフ修復デーモンに割り当てるのに必要なクォータ値を入力して
Enter
キーを押します。Creating child cgroup directory 'cgroup_gluster_1565 cgroup' for glustershd.service. Enter quota value in range [10,100]: 25
この例では、self-heal デーモンのクォータ値は25
に設定されます。注記Self-heal デーモンの推奨されるクォータの値は 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.
自己修復デーモンの CPU 使用率を確認するには、top コマンドを実行します。
重要
デーモンが新しいデーモン PID で再起動されるたびに、この手順を実施します。