介绍
除了服务器数量(1 对 2)之外,Oracle 数据库机精简版 (S/L) 和高可用性 (HA) 之间的主要区别在于数据磁盘位置。它们位于精简版 ODA 的服务器内部,以及 HA ODA 的专用磁盘盒中。显然,这是因为当 2 个节点要使用相同的磁盘时,这些磁盘必须共享。这就是 HA 需要 SAS 磁盘柜的原因。
ODA 上的磁盘技术
在lite ODAs上,磁盘是服务器内部的SSD,没有任何接口连接到PCI Express总线,这就是NVMe技术。这是非常快的。有更快的技术,如 NVRam,但性价比使 NVMe 技术成为游戏规则的改变者。
HA ODA 在磁盘带宽方面并没有那么快。这是因为 NVMe 仅适用于本地连接到服务器主板的磁盘。两个 HA ODA 节点都带有 SAS 控制器,这些控制器连接到一个带有 SAS SSD 的 SAS 磁盘盒。由于这个机箱很大(与 2 个节点加在一起的高度相同),磁盘容量比精简版 ODA 高得多。带 SSD 的满载 X9-2HA ODA 容量为 184TB,是满载 ODA X9-2L 81TB 容量的两倍多。此外,X9-2HA 还可以增加一个存储盘柜,将硬盘容量翻倍至 369TB。如果您需要更多容量,可以使用该机柜的高容量版本,其中混合了 SSD 和 HDD,最大 RAW 容量为 740TB。这是巨大的!
ODA 上的硬件监控
监视 ODA 硬件是从管理控制台 ILOM 完成的。如果出现错误,ILOM 可以发送 SNMP 陷阱并发出警报。对于 HA ODA,您需要监视 2 个 ILOM,因为这 2 个节点是独立的硬件。监控存储柜时有一个问题。此机柜未激活,这意味着它没有任何智能,因此无法发出任何警报。节点中的 ILOM 不知道节点外部的硬件。您可能认为这不是真正的问题,因为数据磁盘由 ASM 监控。但是这个外壳也有 SAS 接口来连接节点。如果这些接口之一出现故障,您可能无法检测到问题。
用例
我的客户有多个 HA ODA,我正在对这些 ODA 进行健全性检查。一切都很好,直到我在 X6-2HA 上做了一个 orachk:
odaadmcli orachk
INFO: 2022-11-16 16:41:11: Running orachk under /usr/bin/orachk Searching for running databases . . . . .
........
List of running databases registered in OCR
1. XXX
3. YYY
4. ZZZ
5. All of above
6. None of above
Select databases from list for checking best practices. For multiple databases, select 5 for All or comma separated number like 1,2 etc [1-6][5]. 6
RDBMS binaries found at /u01/app/oracle/product/19.0.0.0/dbhome_1 and ORACLE_HOME not set. Do you want to set ORACLE_HOME to "/u01/app/oracle/product/19.0.0.0/dbhome_1"?[y/n][y] y
...
FAIL => Several enclosure components controllers might be down
...这不是一件好事。我的存储柜有问题。
我将使用 odaadmcli 进行另一次检查:
odaadmcli show enclosure
NAME SUBSYSTEM STATUS METRIC
E0_FAN0 Cooling OK 4910 rpm
E0_FAN1 Cooling OK 4530 rpm
E0_FAN2 Cooling OK 4920 rpm
E0_FAN3 Cooling OK 4570 rpm
E0_IOM0 Encl_Electronics OK -
E0_IOM1 Encl_Electronics Not availab -
E0_PSU0 Power_Supply OK -
E0_PSU1 Power_Supply OK -
E0_TEMP0 Amb_Temp OK 23 C
E0_TEMP1 Midplane_Temp OK 23 C
E0_TEMP2 PCM0_Inlet_Temp OK 29 C
E0_TEMP3 PCM0_Hotspot_Temp OK 26 C
E0_TEMP4 PCM1_Inlet_Temp OK 44 C
E0_TEMP5 PCM1_Hotspot_Temp OK 28 C
E0_TEMP6 IOM0_Temp OK 22 C
E0_TEMP7 IOM1_Temp OK 28 C通过其中一个 SAS 控制器看不到机柜。也许有故障,但节点不能说有故障。正如我在 MOS 上发现的那样,它可能与未插入的 SAS 电缆有关。
让我们做一个验证存储拓扑:
odacli validate-storagetopology
INFO : ODA Topology Verification
INFO : Running on Node0
INFO : Check hardware type
SUCCESS : Type of hardware found : X6-2
INFO : Check for Environment(Bare Metal or Virtual Machine)
SUCCESS : Type of environment found : Bare Metal
INFO : Check number of Controllers
SUCCESS : Number of Internal RAID bus controllers found : 1
SUCCESS : Number of External SCSI controllers found : 2
INFO : Check for Controllers correct PCIe slot address
SUCCESS : Internal RAID controller : 23:00.0
SUCCESS : External LSI SAS controller 0 : 03:00.0
SUCCESS : External LSI SAS controller 1 : 13:00.0
INFO : Check if JBOD powered on
SUCCESS : 0JBOD : Powered-on
INFO : Check for correct number of EBODS(2 or 4)
FAILURE : Check for correct number of EBODS(2 or 4) : 1
ERROR : 1 EBOD found on the system, which is less than 2 EBODS with 1 JBOD
INFO : Above details can also be found in the log file=/opt/oracle/oak/log/srvxxx/storagetopology/StorageTopology-2022-11-16-17:21:43_34790_17083.log
EBOD代表Expanded Bunch Of Disks,不是很清楚。但是由于磁盘没问题,这可能与机箱中的布线或控制器有关。
解决方案
我的客户去了数据中心,首先检查了布线,但没问题。在 My Oracle Support 上打开一个 SR 很快就解决了这个问题。发送了一个新的控制器,它在机柜中与有缺陷的控制器交换,没有任何停机时间,然后一切都很好。
结论
HA存储柜不智能绝对没有问题。此类服务器不需要智能存储,因为 ODA 是“简单的。可靠的。负担得起的”解决方案。
在这种特殊情况下,很难检测到故障是真实的。但是我的客户使用的 RAC 设置在其中一个冗余组件中出现故障,可能已经几个月了。这绝对不能令人满意。有时,仍然需要手动和人工检查!
原文标题:Warning: ODA HA disk enclosure is not smart!
原文作者:Jérôme Dubar
原文链接:https://www.dbi-services.com/blog/warning-oda-ha-disk-enclosure-is-not-smart/




