从事数据库工作多年,目前看好分布式NeSQL/HTAP数据库在企业客户市场的发展。未来的主要方向是——致力于 NewSQL/HTAP 数据库的推广普及。
分类: Sybase
2011-05-26 10:29:47
如果IQ 集群的当前协调节点出现故障,或者必须关闭以进行维护,那么整个Multiplex将会置于只读状态。在此状态中,您可以查询现有 IQ 数据,但是无法修改数据或创建共享对象。如果恢复IQ集群的写功能,必须将集群中的某个成员服务器升级为协调器。这个操作称为“手动故障切换”。
如果当前协调器未运行,则 Multiplex 要求使用指定的故障切换节点接替协调器。此节点在执行手动故障切换时必须可用。在创建 Multiplex 的过程中,第一个创建的辅助服务器将成为指定的故障切换节点,但您可以随后将任意其它辅助服务器指定为故障切换节点。使用 sp_iqmpxinfo 过程显示指定的故障切换节点。
用户有责任在进行“手动故障切换”之前确保先前的协调节点中的IQ Server进程不再运行。注意:当先前的协调器IQ Server进程仍活动时,启动“手动故障切换”可能导致数据库损坏。
Sybase 建议您将某个“读节点”作为指定的故障切换节点。“读节点”没有待执行的可写入事务,这使得故障切换更为简单。
具体的切换步骤:
(1) 确保协调程器节点的IQ Server进程已停止(如果在关闭原始协调器时有任何读写事务在辅助节点上运行,则将回退这些事务)
(2) 请连接到任何正在运行的 Multiplex 服务器并执行存储过程 sp_iqmpxinfo。列 coordinator_failover 显示指定的“故障切换节点”,该节点将作为新的“协调器节点”。
(3) 连接到指定的故障切换节点并运行 COMMIT,然后运行 BEGIN TRANSACTION 以确保此节点使用最新的 TLV 日志。
(4) 使用 dbstop 实用程序完全关闭指定的故障切换节点。
(5) 在命令行中,使用故障切换开关 (-iqmpx_failover 1) 在服务器启动实用程序上重新启动计划的协调器:
start_iq -iqmpx_failover 1
-n mpxnode_w1 -x "tcpip{port=2764}" mp2.db
服务器启动完成后,故障切换进程完成,指定的故障切换节点成为新的协调节点。故障切换之后,在后续事务中,其它辅助服务器识别新的协调器并连接到该协调器以处理所有读写事务。之前的协调器成为“读节点”,可作为常规辅助节点启动。要启动之前的协调器,您必须将其与新协调器进行同步才能正常启动。