Alert : 当在AIX 7.1/7.2使用AIX Flash Cache 读写/dev/pfcdd0时System crashes
当前AXI 7.1 和7.2 应该是IBM服务期内的主流操作系统版本, AIX Flash cache应该是AIX 7.2时引入,后期又在AIX v7.1 tl4 SP2中支持。Flash Cache也称为数据的服务器端缓存。它允许LPAR使用ssd或Flash storage作为只读cache,以提高旋转磁盘的读取性能。
Flash cache需要两个组件:
1,Cache Management /usr/sbin/cache_mgt 是一个命令行工具,用于创建、分配、销毁Flash CACHE;
2, 缓存引擎——这个算法决定缓存什么,并从缓存中检索数据;
安装后可以使用以下命令检查
lslpp -l | grep Cache bos.pfcdd.rte 7.2.1.0 COMMITTED Power Flash Cache cache.mgt.rte 7.2.1.0 COMMITTED AIX SSD Cache Device bos.pfcdd.rte 7.2.1.0 COMMITTED Power Flash Cache cache.mgt.rte 7.2.1.0 COMMITTED AIX SSD Cache Device lslpp -l | grep lash bos.pfcdd.rte 7.2.1.0 COMMITTED Power Flash Cache 7.2.1.0 COMMITTED Common CAPI Flash Adapter 7.2.0.0 COMMITTED CAPI Flash Adapter Diagnostics 7.2.0.0 COMMITTED CAPI Flash Adapter Device devices.common.IBM.cflash.rte 7.2.1.0 COMMITTED Common CAPI Flash Device bos.pfcdd.rte 7.2.1.0 COMMITTED Power Flash Cache 7.2.1.0 COMMITTED Common CAPI Flash Adapter devices.common.IBM.cflash.rte 7.2.0.0 COMMITTED Common CAPI Flash Device
“/dev/pfcdd0″是 “AIX Flash Cache”使用的psudo device. 在IBM官网检查该关键字可以检索出以下问题
在AIX 7.1 和AXI 7.2 一些版本中任何程序在读取和写入”/dev/pfcdd0″设备时可能会致系统crash. 需要SA 及时的安装相应的补丁, 与ORACLE相关出现的问题有:
Server Reboots During Silent Mode Grid Installation For RAC 11.2.0.4 (文档 ID 2319755.1)
Bug 26270499 : RDA COLLECTION CAUSING NODE REBOOT IN RAC
一种是是静默安装GI时读取了该文件,Oracle解决方法是建议从OS layer删除”/dev/pfcdd0″
另一种是在运行oracle RDA对数据库做巡检时检查ASM模块时,同样也在读取”pfcdd0″时致node crash. 主要原因是因为AIX BUG,解决办法是当然首选安装OS PATCH, 同时Oracle在RDA新版本(8.17.17.9.12 or newer)中, 调整了RDA的代码,间接规避了该问题。
重现问题
# OS layer
$ dd if=/dev/pfcdd0 of=/tmp/pfcdd0.dd bs=1024k count=10
# Oracle GI layer
$ kfed read /dev/pfcdd0
小结:
这次预警主要是因为AIX的新特性Flash cache device相关的bug引起的ORACLE 数据库可用性风险, 虽然坑是AIX挖的,但是对于装数据库和巡检(RDA),DBA及客户就是直接受害者。 OracleDBA在使用RDA巡检运行在AIX 7.1 、7.2上使用了ASM 的数据库时可能会把库查死,希望你看到时不是已经掉过坑。同时应该注意在配置asm_diskstring时不要配置/dev/*, 这点在我之前的《ASM Disk Discovery 最佳实践》中也有整理。
对不起,这篇文章暂时关闭评论。