我们的文章会在微信公众号IT民工的龙马人生和博客网站( www.htz.pw )同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!
由于博客中有大量代码,通过页面浏览效果更佳。
这是今年和朋友一起讨论的第5个关于一体机磁盘故障的案例,这几个案例都有一个通用的问题就是朋友他们把Oracle一体机当着普通的X86服务器来维护,最后在磁盘更换后引起各种问题。其实在上一篇文章中,我们就说过Oracle一体机是软硬一体机架构,磁盘故障的发现和更换都不能基于普通X86模式来弄,这里我们把建议部分放到开头,希望能引起大家的注意。
5,建议
Oracle一体机的硬件运维与普通x86服务器有本质区别,尤其是在磁盘和存储子系统的管理上,需要用户引起高度重视:
-
软硬件深度融合:Oracle一体机将硬件(如磁盘、控制器、HBA卡等)与专有的软件栈(如CellCLI、自动化健康检测、磁盘隔离机制等)深度集成。任何硬件更换或调整,都会被系统自动检测并触发一系列自保护和校验机制,这与普通x86服务器"即插即用"的理念完全不同。
-
磁盘状态自动管理:一体机会根据I/O错误、健康状态等自动将磁盘隔离(如confinedOffline),并进行后续检测和处理。普通x86服务器通常只依赖SMART等简单健康检测,磁盘异常时不会自动隔离,更多依赖人工介入。
-
更换硬件需配合软件操作:在Oracle一体机上,硬件更换(如HBA卡、磁盘、RAID卡等)后,往往需要配合专有命令(如CellCLI)进行状态同步、重检测、强制上线等操作,否则即使物理更换完成,系统层面依然无法正常识别和使用新硬件。而普通x86服务器更换硬件后,操作系统通常能自动识别并使用。
-
运维知识储备:建议运维人员定期学习Oracle一体机相关的硬件管理、告警处理、恢复操作等知识,避免用传统x86服务器的思路处理一体机故障,减少因操作不当带来的风险。
总之,Oracle一体机的磁盘和存储管理机制远比普通x86服务器复杂和严格,任何硬件操作都需谨慎,务必遵循官方流程和最佳实践,确保数据安全和业务连续。
1,故障描述
朋友反应X7一体机更换HBA卡后,部分磁盘的状态异常,让帮忙分析一下,状态信息如下:
plain_text
CellCLI> list physicaldisk
252:0 QWE45T normal
252:1 ZXC12V warning - confinedOffline - powering off
252:2 BNM67U warning - confinedOffline - powering off
252:3 YUI89O normal
252:4 MNB34R warning - confinedOffline - powering off
252:5 LKJ56P normal
FLASH_10_1 XJKE942601126Q8WZ-1 normal
FLASH_10_2 XJKE942601126Q8WZ-2 normal
FLASH_5_1 XJKE942601276Q8WZ-1 normal
FLASH_5_2 XJKE942601276Q8WZ-2 normal
M2_SYS_0 XJDW9420020Q2150B normal
M2_SYS_1 XJDW9420020N150B normal
2,故障分析
warning - confinedOffline其实是一个中间状态,是一体机认为磁盘有问题后,主动对磁盘进行隔离。隔离后一体机会主动对磁盘进行测试,如果测试正常,那么清除此状态;如果测试磁盘后确认存在问题,会更改磁盘状态到对应的错误的状态。
2.1 查看alert日志
plain_text
27_1 2025-06-19T00:37:31+08:00 critical "DiskController check has detected the following issue(s): Attribute Name : DiskControllerModel Required : Avago MegaRAID SAS 9361-16i Found : Unknown Attribute Name : DiskControllerFirmwareRevision Required : 24.19.0-0063 Found : Unknown"
27_2 2025-07-03T18:56:26+08:00 clear "Check for configuration of DiskController is successful."
28_133 2025-06-19T22:22:49+08:00 info "Data hard disk entered confinement status. The LUN 0_1 changed status to warning - confinedOnline. CellDisk changed status to normal - confinedOnline. Status : WARNING - CONFINEDONLINE Manufacturer : HGST Model Number : X7210B520QUN010Y Size : 010T Serial Number : 1841ZXC12V Firmware : B4Y2 Slot Number : 1 Cell Disk : CD_01_nodeadm99 Grid Disk : RECOC1_CD_01_nodeadm99, DATAC1_CD_01_nodeadm99 Reason for confinement : threshold for disk I/O errors exceeded."
28_134 2025-06-19T22:23:27+08:00 warning "Data hard disk entered confinement offline status. The LUN 0_1 changed status to warning - confinedOffline. CellDisk changed status to normal - confinedOffline. All subsequent I/Os on this disk are failed immediately. Confinement tests will be run on the disk to determine if the disk should be dropped. Status : WARNING - CONFINEDOFFLINE Manufacturer : HGST Model Number : X7210B520QUN010Y Size : 010T Serial Number : 1841ZXC12V Firmware : B4Y2 Slot Number : 1 Cell Disk : CD_01_nodeadm99 Grid Disk : RECOC1_CD_01_nodeadm99, DATAC1_CD_01_nodeadm99 Reason for confinement : threshold for disk I/O errors exceeded."
29_1 2025-06-19T08:31:56+08:00 info "Data hard disk entered confinement status. The LUN 0_2 changed status to warning - confinedOnline. CellDisk changed status to normal - confinedOnline. Status : WARNING - CONFINEDONLINE Manufacturer : HGST Model Number : X7210B520QUN010Y Size : 010T Serial Number : 1840BNM67U Firmware : B4Y2 Slot Number : 2 Cell Disk : CD_02_nodeadm99 Grid Disk : DATAC1_CD_02_nodeadm99, RECOC1_CD_02_nodeadm99 Reason for confinement : threshold for disk I/O errors exceeded."
29_2 2025-06-19T09:31:15+08:00 info "Data hard disk entered confinement status. The LUN 0_2 changed status to warning. CellDisk changed status to normal - confinedOnline. Status : NORMAL Manufacturer : HGST Model Number : X7210B520QUN010Y Size : 010T Serial Number : 1840BNM67U Firmware : B4Y2 Slot Number : 2 Cell Disk : CD_02_nodeadm99 Grid Disk : DATAC1_CD_02_nodeadm99, RECOC1_CD_02_nodeadm99 Reason for confinement : threshold for disk I/O errors exceeded."
这里明确显示了磁盘因为IO错误次数达到了阈值,一体机主动将磁盘进行隔离。
2.2 查看磁盘详细信息
plain_text
CellCLI> list physicaldisk 252:1 detail
name: 252:1
deviceId: 16
deviceName: /dev/sdd
diskType: HardDisk
enclosureDeviceId: 252
errOtherCount: 0
luns: 0_1
makeModel: "HGST X7210B520QUN010Y"
physicalFirmware: B4Y2
physicalInsertTime: 2025-07-03T18:33:51+08:00
physicalInterface: sas
physicalSerial: ZXC12V
physicalSize: 8.91015625T
slotNumber: 1
status: warning - confinedOffline - powering off
CellCLI> list physicaldisk 252:0 detail
name: 252:0
deviceId: 15
deviceName: /dev/sdc
diskType: HardDisk
enclosureDeviceId: 252
errOtherCount: 0
luns: 0_0
makeModel: "HGST X7210B520QUN010Y"
physicalFirmware: B4Y2
physicalInsertTime: 2019-03-01T12:00:51+08:00
physicalInterface: sas
physicalSerial: QWE45T
physicalSize: 8.91015625T
slotNumber: 0
status: normal
通过physicalInsertTime后面的时间,可以发现正常的磁盘在控制器更换后正常加入时间是对的,异常的磁盘在控制器更换后加入的时间为控制器更换的时间。
2.3 手动测试磁盘
通过smartctl来手动测试磁盘时,并没有提示坏块,也没有触发IO的错误,可以确认磁盘是好的。
plain_text
smartctl -H /dev/sdg
smartctl 5.43 2012-06-30 r3573 [x86_64-linux-4.1.12-94.8.4.el6uek.x86_64] (local build)
Copyright (C) 2002-12 by Bruce Allen, http://smartmontools.sourceforge.net
3,故障原因
磁盘控制器故障后,导致磁盘在写入时报IO错误,一体机主动将磁盘隔离,隔离后一体机主动的磁盘检查功能未完成对磁盘的检查,此时更换磁盘控制器,导致磁盘的状态最后变成warning - confinedOffline - powering off。
4,解决方案:
- 磁盘删除后更换新的磁盘。
- 老磁盘强制加入到一体机中,此操作有一定风险(本次建议朋友采用的这一步)。
- 删除此存储节点的磁盘状态和分配的2进制文件,重启存储节点服务,重新生成对应的2进制文件。
- 手动修改上面2进制文件,恢复磁盘状态(目前还没有找到对应的方法)
5,建议
Oracle一体机的硬件运维与普通x86服务器有本质区别,尤其是在磁盘和存储子系统的管理上,需要用户引起高度重视:
-
软硬件深度融合:Oracle一体机将硬件(如磁盘、控制器、HBA卡等)与专有的软件栈(如CellCLI、自动化健康检测、磁盘隔离机制等)深度集成。任何硬件更换或调整,都会被系统自动检测并触发一系列自保护和校验机制,这与普通x86服务器"即插即用"的理念完全不同。
-
磁盘状态自动管理:一体机会根据I/O错误、健康状态等自动将磁盘隔离(如confinedOffline),并进行后续检测和处理。普通x86服务器通常只依赖SMART等简单健康检测,磁盘异常时不会自动隔离,更多依赖人工介入。
-
更换硬件需配合软件操作:在Oracle一体机上,硬件更换(如HBA卡、磁盘、RAID卡等)后,往往需要配合专有命令(如CellCLI)进行状态同步、重检测、强制上线等操作,否则即使物理更换完成,系统层面依然无法正常识别和使用新硬件。而普通x86服务器更换硬件后,操作系统通常能自动识别并使用。
-
运维知识储备:建议运维人员定期学习Oracle一体机相关的硬件管理、告警处理、恢复操作等知识,避免用传统x86服务器的思路处理一体机故障,减少因操作不当带来的风险。
总之,Oracle一体机的磁盘和存储管理机制远比普通x86服务器复杂和严格,任何硬件操作都需谨慎,务必遵循官方流程和最佳实践,确保数据安全和业务连续。
------------------作者介绍-----------------------
姓名:黄廷忠
现就职:Oracle中国高级服务团队
曾就职:OceanBase、云和恩墨、东方龙马等
电话、微信、QQ:18081072613
个人博客: (http://www.htz.pw)
CSDN地址: (https://blog.csdn.net/wwwhtzpw)
博客园地址: (https://www.cnblogs.com/www-htz-pw)