RAC 攻击 - Oracle 集群数据库实战/集群软件和围栏
外观
本实验的目的是通过强制配置来演示 Oracle 集群软件的围栏功能,该配置将触发 Oracle 集群软件内置的围栏功能。使用 Oracle 集群软件,围栏在节点级别进行处理,通过重新启动无响应或故障节点来处理。这类似于“射杀另一台机器”(STOMITH)算法,但实际上是自杀,而不是影响其他机器。网上有很多很好的资料可以提供更多信息。
- 从一个正常的、运行的集群开始,数据库实例正在运行。
- 监控每个节点上集群软件的日志文件。在每个节点上,启动一个新的窗口并运行以下命令:[oracle@<node_name> ~]$ tail –f \ > /u01/grid/oracle/product/11.2.0/grid_1/log/`hostname -s`/crsd/crsd.log [oracle@<node_name> ~]$ tail –f \ > /u01/grid/oracle/product/11.2.0/grid_1/log/`hostname -s`/cssd/ocssd.log
- 我们将模拟“拔掉”网络接口,方法是将其中一个私有网络接口关闭。在 collabn2 节点上,通过运行以下命令(以 root 用户身份)将私有网络接口关闭:[root@collabn2 ~]# ifconfig eth1 down 或者,您也可以通过在 VMware 中物理地将 HostOnly 网络适配器脱机来模拟这种情况。
- 执行完此命令后,观察您在步骤 2 中开始监控的日志文件。您应该在这些日志文件中看到错误,最终(可能需要一两分钟,实际上)您将观察到一个节点重新启动。如果您使用 ifconfig 触发故障,则该节点将重新加入集群,并且实例应自动启动。如果您使用 VMware 触发故障,则该节点将不会重新加入集群。
- 哪个文件包含指示节点为何没有重新加入集群的错误消息?
- 重新启动的节点是否总是与出现故障的节点相同?为什么或为什么不?