9.3. OVS-DPDK デプロイメントにおける電力節約
省電力プロファイル cpu-partitioning-powersave
が Red Hat Enterprise Linux 9 (RHEL 9) で導入され、Red Hat OpenStack Platform (RHOSP) 17.1.3 で利用できるようになりました。この TuneD プロファイルは、RHOSP 17.1 NFV 環境で電力を節約するための基本的なビルディングブロックです。
前提条件
-
アンダークラウドホストへのアクセスと
stack
ユーザーの認証情報。 電力節約を実現したい CPU では、より高い C ステートを許可できるようになります。
詳細は、
tuned-profiles-cpu-partitioning(7)
の man ページのmax_power_state
オプションを参照してください。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 stackrc
ファイルを取得します。$ source ~/stackrc
-
Ansible Playbook YAML ファイル (例:
/home/stack/cli-overcloud-tuned-maxpower-conf.yaml
) を作成します。 cli-overcloud-tuned-maxpower-conf.yaml
ファイルに次の設定を追加します。cat <<EOF > /home/stack/cli-overcloud-tuned-maxpower-conf.yaml {% raw %} --- #/home/stack/cli-overcloud-tuned-maxpower-conf.yaml - name: Overcloud Node set tuned power state hosts: compute-0 compute-1 any_errors_fatal: true gather_facts: false pre_tasks: - name: Wait for provisioned nodes to boot wait_for_connection: timeout: 600 delay: 10 connection: local tasks: - name: Check the max power state for this system become: true block: - name: Get power states shell: "for s in /sys/devices/system/cpu/cpu2/cpuidle/*; do grep . $s/{name,latency}; done" register: _list_of_power_states - name: Print available power states debug: msg: "{{ _list_of_power_states.stdout.split('\n') }}" - name: Check for active tuned power-save profile stat: path: "/etc/tuned/active_profile" register: _active_profile - name: Check the profile slurp: path: "/etc/tuned/active_profile" when: _active_profile.stat.exists register: _active_profile_name - name: Print states debug: var: (_active_profile_name.content|b64decode|string) - name: Check the max power state for this system block: - name: Check if the cstate config is present in the conf file lineinfile: dest: /etc/tuned/cpu-partitioning-powersave-variables.conf regexp: '^max_power_state' line: 'max_power_state=cstate.name:C6' register: _cstate_entry_check {% endraw %} EOF
ロールデータファイルに省電力プロファイルを追加します。
詳細は、10.2. ロールとイメージファイルの生成 を参照してください。
cli-overcloud-tuned-maxpower-conf.yaml
Playbook をベアメタルノード定義ファイルに追加します。詳細は、10.5. ベアメタルノード定義ファイルの作成 を参照してください。
NIC 設定テンプレートでキューサイズが設定されていることを確認します。
詳細は、10.6. NIC 設定テンプレートの作成 を参照してください。
関連情報