5.5. 替换 Object Storage 节点
参考本节中的说明,了解如何在不影响集群完整性的情况下替换 Object Storage 节点。此示例涉及您要替换 overcloud-objectstorage-1
节点的三节点 Object Storage 集群。此操作过程的目标是添加一个节点,然后删除 overcloud-objectstorage-1
节点。新节点替换 overcloud-objectstorage-1
节点。
步骤
通过
ObjectStorageCount
参数增加 Object Storage 数量。此参数通常位于node-info.yaml
中,这是包含节点数的环境文件:parameter_defaults: ObjectStorageCount: 4
ObjectStorageCount
参数定义环境中 Object Storage 节点的数量。在本例中,将 Object Storage 节点的数量从3
扩展到4
。使用更新的
ObjectStorageCount
参数,运行部署命令:$ source ~/stackrc (undercloud) $ openstack overcloud deploy --templates -e node-info.yaml <environment_files>
部署命令完成后,overcloud 将包含新增的 Object Storage 节点。
将数据复制到新节点。在删除节点(本例中为
overcloud-objectstorage-1
)前,先等待新节点上完成复制传递。在/var/log/swift/swift.log
文件中检查复制传递进度。当传递完成时,Object Storage 服务应该会记录类似于以下示例的日志条目:Mar 29 08:49:05 localhost *object-server: Object replication complete.* Mar 29 08:49:11 localhost *container-server: Replication run OVER* Mar 29 08:49:13 localhost *account-server: Replication run OVER*
若要从环中删除旧节点,可减小
ObjectStorageCount
参数来省略旧节点。在本例中,将ObjectStorageCount
参数减小到3
:parameter_defaults: ObjectStorageCount: 3
创建一个新环境文件,命名为
remove-object-node.yaml
。此文件将确认并移除指定的 Object Storage 节点。以下内容指定了overcloud-objectstorage-1
的移除:parameter_defaults: ObjectStorageRemovalPolicies: [{'resource_list': ['1']}]
在部署命令中包含
node-info.yaml
和remove-object-node.yaml
文件:(undercloud) $ openstack overcloud deploy --templates -e node-info.yaml <environment_files> -e remove-object-node.yaml
director 从 overcloud 中删除 Object Storage 节点,并更新 overcloud 中的其他节点来使删除生效。
请包含初始 overcloud 创建中的所有环境文件和选项。这包括非 Compute 节点的相同缩放参数。