号码携带集中管理系统的高可用技术应用
私有网络,最简单的可以是一条“Heart-Beat”线,HA技术利用私有网络,对HA环境中的各节点进行监控替代TCP/IP的通讯路径。
(2)在一个HA网络上,各个节点上的TCP/IP网络、非TCP/IP网络会不断地发送并接收Keep-Alive消息,一旦向某个HA节点连续发送一定数量包都丢失后就可确认对方节点发生故障。当某个节点的主用网卡(Service Adapter)发生故障时,该节点的HA代理就会进行网卡切换,将原来Service Adapter的IP地址转移到新的Standby Adapter上,而Standby的地址转移到故障网卡上,同时进行网络上其他节点的ARP的刷新,这样就实现了网卡的可靠性保证。
(3)如果TCP/IP网络和非TCP/IP网络上的K-A全部丢失,则HA软件判断该节点发生故障,并产生资源接管,即共享磁盘陈列上的资源由备份节点接管;同时发生IP地址接管,即HA软件将故障节点的Service IP AddrESS转移到备份节点上,使网络上的Client仍然使用这个IP地址。同样发生应用接管,该应用在接管节点上自动重启,从而使系统能继续对外服务。
3.5.2 数据库集群软件
我们以ORACLE的真正应用集群(Real Application Cluster,RAC)软件为例,介绍数据库集群软件的主要特点。
(1)共享磁盘
与Single-Instance Oracle的存储方式最主要的不同之处在于RAC存储必须将所有RAC中数据文件存放在共享设备中,以便访问相同Database的Instance能够共享。同时,为了能够使每个Instance能够独立操作,也为了系统恢复时其他Instance能找到相关的操作痕迹,RAC数据库与单实例数据库在存储结构上还存在以下不同:
(1)每一个Instance都有自己的SGA(系统全局区)。
(2)每一个Instance都有自己的Background Process。
(3)每一个Instance都有自己的Redo Logs。
(4)每一个Instance都有自己的Undo表空间。
RAC也不能使用传统的文件系统,因为传统的文件系统不支持多系统的并行挂载,必须将文件存储在没有任何文件系统的裸设备或是支持多系统并发访问的文件系统中。
RAC操作要求在所有Instance中对控制共享资源的访问进行同步。RAC使用Global Resource Directory来记录Cluster Database中资源的使用信息,Global Cache Service(GCS)和Global Enqueue Service(GES)管理GRD中的信息。每个Instance在进行读写操作后,要由GCS或者GES按照严格的流程同步到其他Instance的Buffer中。
(2)缓存融合(Cache Fusion)
在RAC环境中,每个实例的内存结构和后台进程都是相同的,它们看起来像单一系统的一样。每个实例的SGA内有一个缓冲区,使用Cache Fusion技术,每个实例就像使用单一缓存一样使用集群实例的缓存来处理数据库。Cache Fusion技术可以最大限度地降低磁盘I/O,优化数据读写。节点之间会产生不小的网络通信和CPU的开销,因此双节点RAC的性能不会是单节点性能的两倍。
(3)透明应用切换
当RAC群集中的一个节点发生了故障,故障节点上所有保存在内存中运行的事务会丢失,Oracle将故障节点所拥有数据块的控制权限重新转交给正常节点,此过程称为全局缓存服务重置。在全局缓存服务重置发生时,RAC中所有服务器都会被冻结,所有应用程序将被挂起,GCS将不会响应群集中任何节点发出的请求;重置后,Oracle读取日志记录,确定并锁定需要恢复的页面,并执行回滚,此时数据库恢复可用。
3.6 应用软件的系统恢复方案
即使我们采取了前面所有的措施,也需要考虑在前面方案失败的情况下,即系统底层软件或者硬件发生错误而导致系统重启时的处理办法。
系统在重启前,系统中正在运行的有若干个流程,每个流程都处于不同的状态,应用软件的恢复方案就是要保证系统重启后,这些状态都能够恢复并自动运行到结束状态。为此,系统在运行过程中,所有消息和流程的状态都需要在修改的时候保存在数据库中,而不能仅仅保存在内存中,在System Recover的时候,需要检查数据库中所有没有到最终状态的消息和流程并进行后续处理。
CSMS在System Recover后实现过程如下:
(1)恢复所有消息:恢复CSMS发出的消息,恢复CSMS收到的消息。
(2)恢复申请流程。
(3)恢复注销流程。
(4)恢复停机相关流程。
(5)恢复审计流程。
(6)检查当天的生效广播。
(7)检查当天的同步。
(8)检查当月的同步。
系统恢复的关键就是要清楚每个流程的不同状态,比如在消息的恢复中,对于从CSMS发送出去的NP消息,状态包括:
●Init(初始)。
●Sending(发送中):该消息已经发送给SOA/LSMS,等待ACK。
●Wait Send(等待发送):ACK超时重发。
●Sent(发送成功):收到ACK信息。
●Complete(
- 物联网时代数据的可用性至关重要(01-18)
- 号码携带集中管理系统的高可用技术应用分析(06-07)
- 移动Ad hoc网络基于链路可用时间的动态源路由协议(09-13)
- 电子标签:RFID技术应用与七大特点(05-12)
- 基于智能家居无线ZigBee技术应用解析(07-18)