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