15.9. 重启之前失败的数据中心
当之前出现故障的数据中心重新上线时,请按照以下步骤恢复您的消息传递系统的原始状态:
- 重启托管 Red Hat Ceph Storage 集群节点的服务器
- 在消息传递系统中重启代理
- 从客户端应用程序重新建立到恢复的代理的连接
以下子章节显示执行这些步骤。
15.9.1. 重启存储集群服务器
当您重启前面失败数据中心的 Monitor、Metadata Server、Manager 和 Object Storage Device(OSD)节点时,您的 Red Hat Ceph Storage 集群自助修复以恢复完整数据冗余。在此过程中,Red Hat Ceph Storage 会根据需要自动将数据回填到恢复的 OSD 节点。
要验证您的存储集群是否自动修复并恢复完整的数据冗余,请使用前面在数据中心 停机期间验证存储集群健康状况的命令。重新执行这些命令时,您会看到之前 HEALTH_WARN
消息所指示的百分比开始提高,直到它返回 100%。
15.9.2. 重启代理服务器
以下流程演示了如何在存储集群不再以降级状态运行时重启代理服务器。
流程
- 停止任何连接到您在数据中心停机时手动启动的代理的客户端应用程序。
停止您手动启动的备份代理。
在 Linux 中:
<broker_instance_dir>/bin/artemis stop
在 Windows 中:
<broker_instance_dir>\bin\artemis-service.exe stop
在之前失败的数据中心中,重启原始 master 和 slave 代理。
在 Linux 中:
<broker_instance_dir>/bin/artemis run
在 Windows 中:
<broker_instance_dir>\bin\artemis-service.exe start
原始 master 代理会在重启时自动将其角色恢复为 master。
15.9.3. 重新建立客户端连接
重启代理服务器后,请将客户端应用程序重新连接到这些代理。以下小节介绍了如何重新连接内部和外部客户端应用程序。
15.9.3.1. 重新连接内部客户端
内部客户端是与恢复的代理相同的、以前失败的数据中心运行的用户。要重新连接内部客户端,请重启它们。每个客户端应用程序都会重新连接到连接配置中指定的恢复的 master 代理。
有关配置代理网络连接的详情请参考 第 2 章 在网络连接中配置接收器和连接器。
15.9.3.2. 重新连接外部客户端
外部客户端是那些在之前出现故障的数据中心外运行的。根据您的客户端类型,以及配置外部代理 客户端 中的信息,您可以将客户端配置为自动切换到备份代理,或者您手动建立这个连接。当您恢复之前失败的数据中心时,您将以类似的方式将客户端重新建立到恢复的 master 代理的连接,如下所述。
- 如果您将外部客户端配置为自动切换到备份代理,在关闭备份代理并重启原始 master 代理时,客户端会自动恢复到原始 master 代理。
- 如果在数据中心停机时手动将外部客户端连接到备份代理,则必须手动将客户端重新连接到您重启的原始 master 代理。