最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何修复Oracle RAC中由于磁盘IO超时引起的节点挂起
时间:2026-07-08 10:30:51 编辑:袖梨 来源:一聚教程网
crsctl命令卡住超30秒基本源于OCR磁盘I/O异常或SSH互信失效;需用dd和iostat实测OCR设备读速(顺序读≥80MB/s、随机读r_await<10ms、%util≤90%),并验证ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 oracle@rac2 date在5秒内响应,同时确保/home/oracle权限为700。
crsctl命令卡住超过30秒,基本就是磁盘IO或SSH问题
oracle rac中crsctl start crs、ocrcheck、crsctl query css votedisk等命令长时间无响应(光标不动、无报错、数分钟才返回),不是命令本身慢,而是底层强依赖被拖住。核心就两个:ocr磁盘读取是否正常,节点间ssh调用是否在5秒内完成。别先查日志,先测这两项。
实测OCR磁盘I/O速度:dd和iostat必须一起看
OCR不是普通文件,它是集群启动时同步校验的二进制注册表。单次4KB随机读延迟超50ms,crsctl start crs就会卡在CRS-4124或CRS-2672阶段。
- 先定位OCR设备路径:
crsctl query css votedisk,找带+OCR或/dev/oracle/ocr01这类标识的行 - 若OCR在ASM磁盘组(如
+OCR),必须先用asmcmd lsdg确认它对应哪些物理设备,再对具体设备测速;直接测ASM别名没意义 - 顺序读测试(模拟大块元数据加载):
dd if=/dev/oracle/ocr01 of=/dev/null bs=1M count=1024 iflag=direct status=progress,理想值≥80MB/s(SATA SSD),低于30MB/s需干预 - 随机读压力观察:
iostat -x 1,重点关注r_await(应<10ms)、%util(长期>90%说明IO队列积压)
验证SSH互信是否真生效:/home/oracle权限比.ssh还关键
RAC内部调用SSH是带参数封装的:ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5。很多DBA反复重配authorized_keys却失败,根本原因是/home/oracle权限不对——OpenSSH服务端默认拒绝755或775的家目录。
- 检查权限:
ls -ld /home/oracle,若显示drwxr-xr-x(755)或drwxrwxr-x(775),立刻执行chmod 700 /home/oracle - 同时确认:
.ssh目录权限为700,authorized_keys为600,且属主是oracle:oinstall - 验证方式不是
ssh rac2,而是ssh -o StrictHostKeyChecking=no -o ConnectTimeout=5 oracle@rac2 date,必须在5秒内返回
节点已挂起时,别硬等crsctl返回
如果节点已假死(比如top卡住、ps无响应、系统日志出现end_request: I/O error, dev sdi或nfs: server not responding),crsctl不可能成功。此时强行执行只会浪费时间。
- 优先查
dmesg | tail -50和/var/log/messages,确认是否有磁盘坏道、NFS超时、控制器故障等硬件级报错 - 若OCR放在NFS上,且服务端无响应,节点会被驱逐但无法自动重启——操作系统已卡在IO hang里,连
kill -9都可能不生效 - 不要反复执行
crsctl stop crs -f,改用root用户直接reboot -f或硬重启;重启后第一件事仍是测OCR设备和SSH延时
/home/oracle权限早被其他运维改成了755。
相关文章
- 《上古卷轴OL》后续赛季路线图临时更改:疑似受Xbox大裁员波及 07-08
- 《符文世界:龙之荒野》法老权杖获取方法介绍 07-08
- 《符文世界:龙之荒野》诺金裹尸布获得方法介绍 07-08
- 符文世界:龙之荒野 道顿边地无伤刷蓝龙位置分享 07-08
- 符文世界:龙之荒野沙漠地区材料获得方法介绍 07-08
- 诛仙2玩法是什么 07-08