域控制器升级的先决条件验证失败新建_OpenStack O版到R版快速不停服升级实战!...

本文详述了一个从Ocata到Rocky版本的OpenStack不停服滚动升级过程,涉及升级规划、服务升级顺序、数据库迁移、配置更新等多个关键步骤,并强调了升级前的数据备份、回滚计划和功能检测的重要性。升级过程中,需关注数据库版本验证、服务停机时间的最小化以及升级失败的回滚操作。
摘要由CSDN通过智能技术生成

环境说明以及升级介绍

当前环境为Ocata 三控制HA环境,Neutron对接Huawei SDN,后端存储使用mimic版本的Ceph。Ceph不进行升级,仅升级OpenStack,同时SDN也会跟进升级。

本次预计从Ocata直接升级到Rocky版本。实现滚动升级。

环境计算资源使用较少,升级之前会将所有的虚拟机进行整合,热迁移到固定的计算节点上。预留2-3台空余计算节点进行优先升级。本次环境为三个控制节点,单个控制节点可以停止服务,只要确认虚拟机不中断,业务不中断即可。

这里有几个重要步骤,我们推荐在计划任何OpenStack升级时采取:

  1. 通篇详读OpenStack版本注释,以识别出潜在的版本间的不兼容性。尤其在对原生代码更改的情况下,比如对接商业SDN后,引起数据库升级失败问题。

  2. 选择合适的方法升级OpenStack以及确认升级的目的。OpenStack Ocata版本之后支持滚动升级,可以不停服务。

  3. 准备一个升级失败的回滚计划。随时准备回滚。得益于OpenStack服务都为无状态,回滚主要是还原包版本以及导回旧的数据。

  4. 准备一个数据备份计划,至少,带有配置文件和数据库的备份。以及提前准备好新版本配置文件。配置文件不会因为软件的升级而升级,需要手工更新。

  5. 依照特定服务的SLAs,定一个可接受的云停机时间,如果可能存在数据丢失,提醒你的用户,服务的中断时间。升级期间尽量不要操作云平台。

  6. 在有条件的情况下,提前使用与生产环境相同的测试环境,测试升级方法。升级过程中请在控制与网络服务正常后再升级计算节点。否则容易出现断网现象。

OpenStack升级方式有如下几种:

  • 平行云:部署一个独立的OpenStack云并从升级前的云迁移所有资源到升级后的云上。这是最简单粗暴的方式。同时,它也有一个最简单的回滚程序。然而,它需要大量的硬件资源并导致很长的停机时间。

  • 滚动升级:以下2种方法会依次升级每个服务器上的每个组件,最终获得一个已升级的OpenStack云。

  • 就地升级:这个方法需要在升级时关闭相应服务,引起一定的停机时间,然而少于平行云的方法。

  • 并列式升级:从OpenStack Icehouse起,控制器已从计算节点上分离,所以你可以独立升级它们。通过这个方法,你可以部署一个已升级的控制器,并从旧控制器上转移所有的数据到新控制器上,再用新控制器无缝替代旧控制器。旧控制器原封不动,所以回滚也很容易完成。为了实现零停机时间,在HA模式中,你需要超过一个控制器。


本次升级目标

  • 平滑升级,业务无影响,升级后功能组件正常。

  • 最短服务暂停时间。但云主机,云盘以及网络等云资源正常工作。

  • 升级失败可立刻回退。回退后可继续提供云服务。


升级规划

  1. 云主机热迁移,腾出部份空余计算节点用于优先升级以及测试。

  2. 备份所有节点的配置文件以及所有的数据库,用于回滚(数据库在虚拟机迁移后进行备份)。

  3. 准备所有新版本的配置文件(版本升级后有些配置项不再使用,新的配置项需要添加)。

  4. 停止三台控制节点所有的OpenStack服务,如果控制网络安装在一起,请保留网络节点的服务,尤其是dhcp-agent,确保虚拟机可以获取IP地址。

  5. 按照keystone—glance—cinder—nova—neutron的升级顺序进行升级。升级包含软件包以及数据库。升级先升级一个控制节点。

  6. 当一个控制节点升级完毕,开始升级单个网络节点以及计算节点,确认服务正常,功能正常。最后进行全部升级(谨慎升级openvswitch,否则造成业务虚拟机断网)

  7. 升级过程中如出现无法继续下去的故障,请使用备份数据库进行回滚,使用另外的控制节点以及网络节点提供正常的服务。

  8. 升级过程中确认rabbitmq cluster,mariadb cluster,haproxy,memcached等服务正常。


先决条件

几乎所有的OpenStack服务都支持数据库迁移。这意味着每个服务将会在(升级)开始时尝试升级其数据库。通常,自动化升级会由OpenStack稳定版本完整测试过,并可以安全的使用(如果需要人工升级,可以禁用自动升级)。与此同时,从Kilo版本开始,数据库降级已经不被支持。也就是说,唯一可靠的数据库回滚的方法是从备份中恢复数据库。在开始升级过程之前执行一些环境清理以确保一致的状态。例如,删除后未从系统中完全清除的实例可能会导致不确定的行为。确认当前的版本信息无误。版本信息确认方式如下:

  • 对于使用OpenStack Networking服务(neutron)的环境,请验证数据库的发行版本。例如:

    # su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \  --config-file /etc/neutron/plugins/ml2/ml2_conf.ini current" neutron
  • 对于使用OpenStack Compute计算服务(nova)的环境,请验证数据库的发行版本。例如:

    # su -s /bin/sh -c "nova-manage db version" nova
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值