基于权重的节点驱逐 - Oracle RAC 12.2 新特性

在 Oracle RAC 中,多个节点之间需要能够正常通信来保持集群的一致性。当一个节点发生故障或者发生脑裂,节点因网络等原因不能与其他节点互通时,很可能会在集群重新配置的过程中被驱逐出去。

RAC 的重新配置包含两个层面,一个是集群层面的,在发生脑裂的时候一般是基于编号做节点驱逐;另一个是实例层面的,这时候是根据节点获得的 RR 锁的权限判断的。在12.2之前,通过以上两种方式的重新配置,系统可以通过规则和计算自动决定哪个节点将会被驱逐出去。

而从12.2开始,引入了基于权重的节点驱逐。

在官网对该功能的介绍如下:

在 Oracle Clusterware 需要从集群中驱逐特定节点或一组节点的情况下,基于服务器权重的节点驱逐作为一种决胜机制,在这种情况下,所有节点代表驱逐的平等选择。 在这种情况下,基于服务器权重的节点驱逐机制有助于基于有关这些服务器上的负载的附加信息来识别要驱逐的节点或节点组。 存在两种主要机制,即系统固有的自动机制和基于用户输入的机制,以提供相应的指导。

使用基于服务器权重的节点驱逐允许在集群中的某些故障与业务需求之间调整哪个节点被逐出的选择,确保最重要的工作负载尽可能长时间保持活动,假设服务器之间的相等选择。

也就是说,12.2中的节点驱逐不是有系统自动决定的,而是可以根据业务关系,做更精细的控制。避免自动模式下的偏差对核心业务的影响。

特性介绍

可以手动设置 Oracle RAC 集群故障恢复机制,在节点不能互相通信的时候,该机制就会生效,决定哪些节点会被驱逐出去。

在脑裂的情况下,当集群发生了网络分裂,会将集群的节点划分为若干个不相交的分组,集群管理软件会通过特定的规则将部分节点从集群中踢出去。一般来说,会把那些大量占用系统关键资源的节点踢出去。

可以通过向数据库实例或节点添加值来影响决策的结果,以便在 Oracle Clusterware 必须决定是驱逐还是终止时,会考虑这些因素并尝试确保所有关键组件都可用。 可以配置权重函数来为群集中的关键组件添加权重,从而在决定在解决裂脑情况时排除哪些节点时增加输入。

使用与配置

在一些场景下,用户可能希望确保特定的节点不会在基于默认的投票规则中被踢出去,或者是为了保持某些硬件特性,某些资源因为特定的数据库或服务而存活,因此引入基于权重的驱逐。 用户可以根据以下标准为特定节点,资源或服务分配权重:

  • 只将权重分配给由 administrator 管理的节点。
  • 可以将权重分配给已注册 Oracle Clusterware 资源的服务器或应用程序。

权重有助于协调不同组件的重要等级,并影响 Oracle Clusterware 在管理裂脑情况时所做的选择。 在其他关键因素相同的情况下,Oracle 集群件选择权重最高的的节点保留在集群中。

使用场景

可以为各种组件分配权重,如下所示:

  • 为数据库实例或服务分配权重,可以在添加数据库实例或服务时将 -css_critical yes 参数与 srvctl add 数据库或 srvctl add service 命令一起使用。 也可以使用 srvctl modify database 和 srvctl modify service 命令的参数。
  • 为非 ora.* 资源分配权重,请在添加或修改资源时使用 crsctl add resource 和 crsctl modify resource 命令的 “attr”CSS_CRITICAL = yes 参数。
  • 为服务器分配权重,请使用 crsctl set server 命令使用 -css_critical yes 参数。

Note:

  • 必须重新启动节点上的 Oracle Clusterware 堆栈以使配置生效。 这不适用于更改在无需重新启动资源的情况下生效的资源。
  • 如果从托管管理员更改策略管理环境或两者的混合环境,则已分配的任何权重都将被存储,但不会被考虑,这意味着除非重新配置集群,否则将不再应用或不予考虑回到管理员管理。

RAC 更多新特性介绍:

1、Oracle RAC Internals 12.2

2、5分钟速成Oracle 12.2 RAC 专家

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2018-04-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏匠心独运的博客

分布式定时任务Elastic-Job框架在SpringBoot工程中的应用实践(二)

文章摘要:在生产环境中部署Elastic-Job集群后,那么如何来运维监控线上跑着的定时任务呢? 如果在生产环境的大规模服务器集群上部署了集成Elastic-...

2062
来自专栏云计算认知升级

【腾讯云的1001种玩法】 十分钟轻松搞定云架构 · 负载均衡的几种均衡模式

视频内容 [fyckc.jpeg] 今天,我们来学习一下负载均衡的几种均衡模式。通过了解负载均衡的均衡模式,我们可以更好的利用负载均衡来为我们的应用服务。 ...

6076
来自专栏云计算与大数据

架构: UMA vs NUMA

所有处理器共享相同的内存地址空间。这种体系结构主要解决的问题是关于cache一致性。

1901
来自专栏AILearning

Git 团队常用命令操作指南

命令如下: git clone -b <branch name> [remote repository address] 主要就是在clone的时候,后面添...

2018
来自专栏移动端周边技术扩展

python pytesseract

1725
来自专栏云加头条

智能云上手指南:如何将历史数据迁移到万象优图

6 月 21 日,腾讯云在 2017「云+未来」峰会上推出了战略新品——智能云,宣布将腾讯积累近 20 年的 AI 能力向政府、企业和开发者开放,其中首批开放计...

3623
来自专栏ChaMd5安全团队

挖洞经验之代理不当日进内网

大家好,我是STCX,应M姐姐之邀写一篇文章为咱们公众号做点贡献,那我就扯一下之前挖一个漏洞的经验。 ---- 正向代理和反向代理是forward/revers...

3296
来自专栏玄魂工作室

利用Png做持久型XSS攻击

关于文件上传漏洞,其实是老生常谈了,其实很多网站都做了很严格的控制。这里我们不去谈如何突破文件上传,而是假设我们能上传一张图片,然后当成html嵌入或者执行。 ...

1482
来自专栏linux驱动个人学习

Linux内存描述之高端内存--Linux内存管理(五)

过去,CPU的地址总线只有32位, 32的地址总线无论是从逻辑上还是从物理上都只能描述4G的地址空间(232=4Gbit),在物理上理论上最多拥有4G内存(除了...

3201
来自专栏逆向技术

脱壳第三讲,UPX压缩壳,以及补充壳知识

           脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 ...

2758

扫码关注云+社区

领取腾讯云代金券