使用Ceph ansible和滚动更新剧本对Ceph集群进行小版本更新

使用Ceph ansible和滚动更新剧本对Ceph集群进行小版本更新,ansible,ceph,Ansible,Ceph,我想将我的ceph群集升级到当前安装的主要版本(模拟)的最新次要版本。我有一个ceph ansible部署设置,用于使用site.ymlplaybook部署新节点。我从文档中了解到,我需要执行滚动更新剧本,以便执行更新,无论是小更新还是大更新 对于一个小的更新,我只需执行playbook,并将ceph\u stable\u release设置为我当前安装的版本 为了进行主要更新(在进行次要更新之后),我将本例中的ceph_stable_release从Mick更改为nautilus,然后执行滚动

我想将我的ceph群集升级到当前安装的主要版本(模拟)的最新次要版本。我有一个ceph ansible部署设置,用于使用
site.yml
playbook部署新节点。我从文档中了解到,我需要执行滚动更新剧本,以便执行更新,无论是小更新还是大更新

对于一个小的更新,我只需执行playbook,并将
ceph\u stable\u release
设置为我当前安装的版本

为了进行主要更新(在进行次要更新之后),我将本例中的ceph_stable_release从Mick更改为nautilus,然后执行滚动更新剧本

政府缺少这方面的信息


这个假设正确吗?

回答我自己的问题:

我和他核实了一下,确信我的假设是正确的

要对ceph集群进行较小的更新,请将变量ceph_stable_版本保持在当前安装的版本

要检查您的ceph组件当前运行的版本,如果您想让自己放心,可以发出以下命令:

# ceph tell mon.* version 

and

# ceph tell osd.* version
输出应显示监视器和OSD的相同版本

使用运行升级

ansible-playbook -i inventory infrastructure-playbooks/rolling_update.yml
将首先更新所有监视器,然后更新管理器,然后更新OSD。根据您的ceph设置,还将更新其他类型的服务。因为我只运行监视器、OSD和管理器,所以我不知道它们将以什么顺序发生

对我来说,把Mick升级到它的最新版本,我只有一个小毛病。ceph ansible正在等待更新的osd恢复,但有一个PG保持在
活动+尺寸过小+重新映射+回填状态
。直到我用删除了
norebalance
标志,它才恢复

# ceph osd unset norebalance

此后,osd立即恢复,ceph ansible可以继续。作为旁注,如果这种情况也发生在你身上。

回答我自己的问题:

我和他核实了一下,确信我的假设是正确的

要对ceph集群进行较小的更新,请将变量ceph_stable_版本保持在当前安装的版本

要检查您的ceph组件当前运行的版本,如果您想让自己放心,可以发出以下命令:

# ceph tell mon.* version 

and

# ceph tell osd.* version
输出应显示监视器和OSD的相同版本

使用运行升级

ansible-playbook -i inventory infrastructure-playbooks/rolling_update.yml
将首先更新所有监视器,然后更新管理器,然后更新OSD。根据您的ceph设置,还将更新其他类型的服务。因为我只运行监视器、OSD和管理器,所以我不知道它们将以什么顺序发生

对我来说,把Mick升级到它的最新版本,我只有一个小毛病。ceph ansible正在等待更新的osd恢复,但有一个PG保持在
活动+尺寸过小+重新映射+回填状态
。直到我用删除了
norebalance
标志,它才恢复

# ceph osd unset norebalance
此后,osd立即恢复,ceph ansible可以继续。作为旁注,如果这种情况也发生在你身上