故障处理:Oracle一体机更换磁盘控制器后部分磁盘状态异常的案例处理
我们的文章会在微信公众号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卡后,部分磁盘的状态异常,让帮忙分析一下,状态信息如下:
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日志
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 查看磁盘详细信息
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的错误,可以确认磁盘是好的。
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)

故障处理:Oracle一体机更换磁盘控制器后部分磁盘状态异常的案例处理的更多相关文章
- Mac Pro更换SSD后,在Win7下启用ACHI的方法AHCI
在Mac Pro下更换SSD后,如果安装Win7,要将SSD改为AHCI模式是非常麻烦的.本文介绍如何将Mac的Win7下的SSD改为AHCI方式驱动,及几种常见问题的处理. 一.当Lion与Win7 ...
- 一步一步搭建oracle 11gR2 rac+dg之共享磁盘设置(三)【转】
一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 之共享磁盘准备 (三) 注意:这一步是配置rac的过程中非常重要的一步,很多童鞋 ...
- 使用 MegaCLI 检测磁盘状态并更换磁盘
专栏首页阿dai_linux使用 MegaCLI 检测磁盘状态并更换磁盘 原 10
- Windows 10系统更换Windows 7系统磁盘分区注意事项一
新买的电脑预装系统是WIN10,考虑到兼容性问题,打算更换为WIN7,但在新机上不能直接装WIN7系统,需要在BIOS启动中做一点小改动. 原因分析:由于Windows 8采用的是UEFI引导和GPT ...
- DBCP连接Oracle,数据库重启后现OALL8 is in an inconsistent state异常
最近,DBCP连接Oracle,数据库重启后现OALL8 is in an inconsistent state异常. 版本说明 commons-dbcp-1.4.jar commons-pool-1 ...
- PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法
PLSQL往Oracle数据库插入中文后变为问号 和 启动PLSQL时提示NLS_LANG在客户端不能确定的解决办法 1.检查服务器的字符编码 Select * from V$NLS_PARAMETE ...
- Oracle误删除表数据后的恢复具体解释
Oracle误删除表数据后的恢复具体解释 測试环境: SYSTEM:IBM AIX 5L Oracle Version:10gR2 1. undo_re ...
- 织梦DEDECMS更换目录后页面内的图片和缩略图无法显示解决方法
http://www.win8f.com/seoyouhua/6609.html 很多人碰到织梦更换目录后内容图片和缩略图无法显示的问题,在此,慧鸿网络特地搜集整理了一篇关于织梦出现缩略图和内容无法显 ...
- Harbor删除镜像后且GC清理后,磁盘空间没有释放的问题
1.原因 Harbor删除镜像后且GC清理后,磁盘空间没有释放.因为我们push大量相同标签的镜像,Docker 镜像由标签引用,并由唯一的摘要标识.这意味着如果myImage使用标记推送两个图像,在 ...
- 当ORACLE归档日志满后如何正确删除归档日志
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格 ...
随机推荐
- 一文带你看透什么是ResNet
目录 什么是ResNet 提出背景 梯度爆炸/梯度消失: 退化现象: 原理解析 网络结构 参考资料 什么是ResNet 首先我们来看什么是ResNet,其全称为Residual Network(残差网 ...
- 聊聊四种实时通信技术:长轮询、短轮询、WebSocket 和 SSE
这篇文章,我们聊聊 四种实时通信技术:短轮询.长轮询.WebSocket 和 SSE . 1 短轮询 浏览器 定时(如每秒)向服务器发送 HTTP 请求,服务器立即返回当前数据(无论是否有更新). 优 ...
- php 根据时间设置多少小时 ,前天,昨天,多少月,多少年
public static function formatTime($time){ if (is_int($time)) { $time = intval($time); } elseif ($tim ...
- Tortoise-ORM级联查询与预加载性能优化
title: Tortoise-ORM级联查询与预加载性能优化 date: 2025/04/26 12:25:42 updated: 2025/04/26 12:25:42 author: cmdra ...
- K8s新手系列之资源清单(Manifests)
Manifests的基本概念 在 Kubernetes 中,Manifests(清单)是用于定义集群中资源对象的声明式配置文件(通常以 YAML 或 JSON 格式编写,生产环境中通常以YAML编写) ...
- 【HUST】网安|操作系统实验|实验二 进程管理与死锁
目的 1)理解进程/线程的概念和应用编程过程: 2)理解进程/线程的同步机制和应用编程: 任务 1)在Linux下创建一对父子进程. 2)在Linux下创建2个线程A和B,循环输出数据或字符串. 3) ...
- Axure在线教育考试原型图在线网课教育交互模板rp源文件
Axure在线教育考试原型图在线网课教育交互模板rp源文件 Axure在线教育原型图在线网课教育交互模板rp源文件是一款原创的儿童教育类的APP模板,使用axure rp软件制作.app中包含大约40 ...
- VScode中的自定义模板
1.背景 在用bootstrap框架,写前端代码时,由于每个页面都有固定的模板格式,比如都包含CDN等,所以在每次写代码的时候,都要重复写这些,效率比较低下.幸运的是,VScode中可以编辑各个语言的 ...
- .NET外挂系列:8. harmony 的IL编织 Transpiler
一:背景 1. 讲故事 前面文章所介绍的一些注入技术都是以方法为原子单位,但在一些罕见的场合中,这种方法粒度又太大了,能不能以语句为单位,那这个就是我们这篇介绍的 Transpiler,它可以修改方法 ...
- 适用于Ventoy和VirtualBox的WinToGo系统制作教程
由于篇幅原因,上个教程的内容太多,并且也有挺多地方不能一概而论,因此笔者决定还是将文章拆分开来,便于只需要制作WinToGo系统或LinuxToGo系统的读者 --笔者言 这篇文章适用于只使用Vent ...