【甲骨文12 c Flex集群专题】——叶节点的故障迁移

  

  李      

  一个Flex集群中可以包含两类节点,分别是枢纽节点和叶节点。   

     

  中心节点   

        <李>   

  这种节点几乎完全等价于12 c以前版本的传统RAC节点,在12 c中这种节点就是集群的核心(为什么说是核心呢?因为后面会介绍12 c flex集群中的非核心节点——叶子节点)。   

  李   <李>   

  每个枢纽节点之间通过私网连接,而且需要配置ssh对等性。   

  李   <李>   

  每个节点需要访问共享存储,因为ocr投票都依赖于共享存储。   

  李   <李>   

  中心节点上既运行ASM实例又运行db实例。   

  李   <李>   

  每个flex集群至少一个中心节点最多64个中心节点。   

  李         

  叶子节点   

     

  
  

        <李>   

  相比中心节点,叶子节点对于集群来说不是那么核心,与集群耦合度很低,而且叶子节点之间不需要互联。   

  李   <李>   

  每个叶子节点通过一个中心节点连接集群并获取数据。   

  李   <李>   

  虽然叶子节点不要求直接访问共享存储,但最好还是连上共享存储,因为说不准未来哪天就要把这个叶子节点转为中心节点使用。   

  

  ,   

  李   <李>   

  他们上面运行着轻量版的集群件。   

  李   <李>   

  叶子节点上面不能运行ASM实例,也不能在上面建库,因为上面运行的实例打开方式只能是只读的。   

  李   <李>   

  叶子节点上可运行多种应用,例如中间件,EBS, IDM等,叶节点上的应用会在叶子节点挂掉后自动切换到其他叶节点。   

  李   <李>   

  一个flex集群中可包含0个或多个叶节点。   

  李   <李>   

  叶子节点和枢纽节点拥有相同的公网和私网。   

  李      

  即使flex集群中没有一个叶节点,中心节点也可以正常的像传统rac节点一样工作。但如果flex集群中只有叶子节点没有一个中心节点是万万不可的,因为叶子节点需要通过中心节点上的asm实例获取数据。   

  

  当集群件启动在叶子节点上时,叶子节点就会根据GNS信息查找所有中心节点,然后选择其中一个中心节点来获取数据(配置GNS是使用叶子节点的重要前提)。一个中心节点同时可能被0个或多个叶子节点连接,而一个叶子节点同时只能连接一个中心node.hub节点和叶子节点之间也会交换心跳信息,只有这样叶子节点才能加入集群并作为集群的一部分。   

  

  标准集群可无痛转换为flex集群,但flex集群无法转为标准集群,除非你重新配置(约等于重装)。   

  

     

     

  当作为集群的一部分的某枢纽节点挂了,将发生什么?   

     

  当发生如下情况时,中心节点会被从集群中移除:   

     <李>   

  ,被驱逐   

  李   <李>   

  ,服务器关了机   

  李   <李>   

  ,手动停止甲骨文集群件   

  李      

  这种情况发生时,连接着这个枢纽节点的叶子节点会自动挑一个活着的中心节点来作为数据源。这篇文章中,我会论证:,   

     <李>   

  如何确定叶子节点连的是那个枢纽节点?,   

  李   <李>   

  当叶子节点连接的枢纽节点挂了后,这个叶子节点如何进行故障迁移吗?   

  李      

  现状:   

  

  为了更好的阐述,我搭建了如下结构的12.1.0.2c的flex集群:   

【甲骨文12 c Flex集群专题】——叶节点的故障迁移