第 4 章 更新 Overcloud
此过程更新 overcloud。
前提条件
- 您已将 undercloud 更新至最新版本。
4.1. 加快 overcloud 更新的速度
为加快 overcloud 更新过程,您可以配置 DockerPuppetProcessCount
heat 参数,归档已删除的数据库条目,并在执行更新前在 overcloud 节点上下载所需的软件包。
有关加快大型 OpenStack 部署更新过程的更多信息,请参阅红帽知识库文章 Openstack Director 节点性能调优。
流程
-
以
stack
用户的身份登录 undercloud。 Source
stackrc
文件:$ source ~/stackrc
要增加
container-puppet
用来生成配置文件的并发进程数量,您必须配置DockerPuppetProcessCount
参数。在
templates
目录中创建一个名为updates-environment.yaml
的环境文件:$ touch ~/templates/updates-environment.yaml
编辑该文件并添加以下内容:
parameter_defaults: DockerPuppetProcessCount: 8
-
在运行
openstack overcloud update prepare
、openstack overcloud ceph-upgrade run
, 和openstack overcloud update converge
命令时,使用-e
选项包含此环境文件。
在 Controller 节点上,归档您的已删除的数据库条目:
从 overcloud,列出 Controller 节点的所有实例:
$ source ~/overcloudrc $ openstack server list
登录到运行
nova_api_cron
容器的 Controller 节点:ssh heat-admin@<controller_ip>
-
将
<controller name 或 IP
> 替换为 Controller 节点的 IP 地址。
-
将
归档已删除的数据库条目:
$ sudo docker exec -u 42436 -ti nova_api_cron bash $ nova-manage db archive_deleted_rows --max_rows 1000 $ exit
要下载所有 overcloud 节点上更新所需的所有软件包,请完成以下步骤:
创建 overcloud 的静态清单文件:
$ 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
运行
yum-download-only.yaml
Ansible playbook:$ ansible-playbook \ -i ~/inventory.yaml \ -f 20 ~/yum-download-only.yaml \ --limit Controller,Compute,CephStorage