第 4 章 更新 Overcloud
此过程更新 overcloud。
前提条件
- 您已将 undercloud 更新至最新版本。
4.1. 加快 overcloud 更新的速度 复制链接链接已复制到粘贴板!
为加快 overcloud 更新过程,您可以配置 DockerPuppetProcessCount heat 参数,归档已删除的数据库条目,并在执行更新前在 overcloud 节点上下载所需的软件包。
有关加快大型 OpenStack 部署更新过程的更多信息,请参阅红帽知识库文章 Openstack Director 节点性能调优。
流程
-
以
stack用户的身份登录 undercloud。 Source
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 -
在运行
openstack overcloud update prepare、openstack overcloud ceph-upgrade run, 和openstack overcloud update converge命令时,使用-e选项包含此环境文件。
在 Controller 节点上,归档您的已删除的数据库条目:
从 overcloud,列出 Controller 节点的所有实例:
source ~/overcloudrc openstack server list
$ source ~/overcloudrc $ openstack server listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 登录到运行
nova_api_cron容器的 Controller 节点:ssh heat-admin@<controller_ip>
ssh heat-admin@<controller_ip>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
<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
$ 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
要下载所有 overcloud 节点上更新所需的所有软件包,请完成以下步骤:
创建 overcloud 的静态清单文件:
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 运行
yum-download-only.yamlAnsible playbook: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