ECS:CAS 连接字符串和 SDK 读取故障切换与 Centera 的差异
Summary: Centera 和 ECS 在为软件开发工具包 (SDK) 打开池后响应初始探测时的工作方式不同。
Symptoms
当使用带有 JCASScript 的内容寻址存储 (CAS) 协议连接到 ECS 时,当运行 info 命令,副本地址为空。
如果主 ECS 不可用,SDK 如何在读取期间进行故障切换?
在 SDK 池打开后响应初始探测时,Centera 和 ECS 的工作方式不同。
Cause
Resolution
Centera:
如果在初始探测期间和池打开后在连接字符串中提供主 Centera IP,Centera 会将探测响应中的副本 IP 地址发回 SDK。SDK 使用这些副本 IP 在主故障切换或连接故障切换(Centera 停止或网络到主停止)时进行作故障切换(读取、写入、删除、存在)。
如果 SDK 选项 lazy_pool_open ,则 SDK 不会探测到辅助地址。如果存在作或网络故障切换,则探测次要地址。
ECS:
如果在池打开后在初始探测响应中仅指定应用程序连接字符串中的主 IP 地址,则 ECS 不会在探测响应中发回复制副本 IP 地址。SDK 不知道辅助 IP 地址。在 ECS 上,存储区是全局存储区,旨在提供高度一致性。在写入对象时,无论复制状态如何,ECS 都会获取对象。这提供了从任何虚拟数据中心 (VDC) 进行的作故障切换(读取、写入、存在和删除)。
建议在连接字符串中使用主要地址和辅助地址,以便进行连接故障转移。
SDK 首先探测连接字符串中的第一个 IP。当它接收所有主 VDC IP 时,作为探测的一部分,SDK 不会探测连接字符串中的其他 IP(与 lazy_pool)时,此方法起作用。它使用连接字符串中的其他 IP 进行连接故障转移。
正常池打开(未使用 lazy_pool open - 工程建议)首先探测连接字符串中的第一个 IP。收到响应后,它会在逻辑上分隔主地址,仅探测连接中的下一个辅助 IP,并将所有辅助 IP 地址保留在缓存中。如果无法访问主 VDC,如果启用了中断期间访问 (ADO)(15 分钟超时),它将尝试所有主 IP(与 Centera 相同)。在所有 IP 引发网络错误后,它会尝试辅助 IP。一旦发生 15 分钟的 ADO 超时,辅助 VDC 将授予读取、写入、删除和存在作的访问权限。
如果不使用连接字符串中的辅助 IP,并且主 VDC 出现故障或网络连接中断。必须手动更新应用程序连接字符串,以包括辅助 VDC IP 以访问辅助 VDC。必须经过 15 分钟的 ADO 超时,作才能正常工作。