Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
第4章 オーバークラウドの更新
以下の手順では、オーバークラウドを更新します。
前提条件
- アンダークラウドが最新バージョンに更新されていること
4.1. オーバークラウド更新のスピードアップ
オーバークラウドの更新プロセスを迅速化するには、DockerPuppetProcessCount
heat パラメーターを設定し、削除されたデータベースエントリーをアーカイブし、更新を実施する前にオーバークラウドノードに必要なパッケージをダウンロードします。
大規模な OpenStack デプロイメントの更新プロセスの迅速化に関する詳しい情報は、Red Hat ナレッジベースのアーティクル Openstack Director Node Performance Tuning for large deployments を参照してください。
手順
-
アンダークラウドに
stack
ユーザーとしてログインします。 stackrc
ファイルを取得します。$ source ~/stackrc
設定ファイルの生成に
container-puppet
が使用する同時プロセスの数を増やすには、DockerPuppetProcessCount
パラメーターを設定する必要があります。templates
ディレクトリーにupdates-environment.yaml
という名前の環境ファイルを作成します。$ touch ~/templates/updates-environment.yaml
ファイルを編集し、以下の内容を追加します。
parameter_defaults: DockerPuppetProcessCount: 8
-
-e
オプションを使用して、openstack overcloud update prepare
、openstack overcloud ceph-upgrade run
、およびopenstack overcloud update converge
コマンドを実行するときにこの環境ファイルを含めます。
コントローラーノードで、削除したデータベースエントリーをアーカイブします:
オーバークラウドから、コントローラーノードのすべてのインスタンスを一覧表示します。
$ source ~/overcloudrc $ openstack server list
nova_api_cron
コンテナーを実行しているコントローラーノードにログオンします。ssh heat-admin@<controller_ip>
-
<controller name or IP>
をコントローラーノードの IP アドレスに置き換えます。
-
削除されたデータベースエントリーをアーカイブします。
$ sudo docker exec -u 42436 -ti nova_api_cron bash $ nova-manage db archive_deleted_rows --max_rows 1000 $ exit
すべてのオーバークラウドノードで更新に必要なパッケージをすべてダウンロードするには、以下の手順を実施します。
オーバークラウドの静的なインベントリーファイルを作成します。
$ tripleo-ansible-inventory \ --ansible_ssh_user heat-admin \ --static-yaml-inventory ~/inventory.yaml
以下の Ansible Playbook を作成します。
$ cat > ~/yum-download-only.yaml <<'EOF' - hosts: all gather_facts: false tasks: - name: Pre-download all packages on all overcloud nodes shell: yum upgrade -y --downloadonly become: true EOF
Ansible Playbook
yum-download-only.yaml
を実行します。$ ansible-playbook \ -i ~/inventory.yaml \ -f 20 ~/yum-download-only.yaml \ --limit Controller,Compute,CephStorage