17.8. 高可用性
17.8.1. 关于 HornetQ 共享存储 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在使用共享存储时,在线和备份服务器都用共享文件系统共享相同的整个数据目录。这包含 paging 目录、journal 目录、大型消息和绑定日志。当失效切换发生时,备份服务器开始接管,它将从共享文件系统加载持久性存储。然后客户可以进行连接。
重要
HornetQ 支持两种不同的共享存储配置:
- SAN 上的 GFS2,使用 ASYNCIO 日志类型。
- NFSv4,使用 ASYNCIO 或 NIO 日志类型。
重要
HornetQ 支持 NFS,但有着严格的配置准则,如下所示。
这种高可用性和数据复制不同,因为它要求有一个共享的文件系统供在线和备份节点访问。这通常是某种形式的高性能存储区域网络(Storage Area Network,SAN)。
红帽企业版 Linux NFS 实现支持直接 I/O(设置 O_DIRECT 标记并打开文件)以及基于内核的异步 I/O。使用这些功能,依据严格的配置规则,你可以将 NFS 做为一个共享存储选项使用。
- 您必须配置 HornetQ 使用下列日志类型之一:ASYNCIO/AIO 或 NIO。
- 红帽企业版 Linux NFS 客户缓存必须被禁用。
重要
你应该在 JBoss EAP 6 启动后检查服务器日志,以确保成功加载原生库且使用 ASYNCIO 日志类型。如果原生库加载失败,HornetQ 将使用 NIO 日志类型并在服务器日志里注明。
重要
实现异步 I/O 的 Native 库要求
libaio
安装在 JBoss EAP 6 运行的 Red Hat 企业版 Linux 系统上。
注意
我们推荐如果根据上面的条件使用 NFS,需要使用高可用的 NFS 配置。
共享存储高可用性的优势是在在线和备份节点间不需要进行复制。这意味着在正常操作时它不会有任何因为复制引起的性能损失。
共享存储的缺点是它要求一个共享文件系统,当备份服务器激活时,它需要从共享存储加载日志。根据存储里数据的多少,这会花费一些时间。
如果在普通操作时追求最高性能,且可以接受对快速 SAN 的访问及稍慢的失效切换速度(根据数据的多少),我们就会推荐高可用性的共享存储。