1、故障概要
一套Exadata X6-2(4个计算节点 + 7个存储节点 ),上午11点多,业务部门反馈业务系统当前出现了严重的堵塞现象,大量的单据出现积压,数据库的活跃会话增多,出现大量的buffer busy waits等待事件。
2、故障原因分析
2.1 检查Exadata所有节点的alerthistory日志,发现其中一台存储节点的闪存卡出现故障,具体日志如下所示。
dm01celadm05: 3_1 2022-10-18T10:59:56+08:00 info "Flash disk entered confinement status. The LUN 2_1 changed status to warning - confinedOnline. CellDisk changed status to normal - confinedOnline. Status : WARNING - CONFINEDONLINE Manufacturer : Oracle Model Number : Flash Accelerator F320 PCIe Card Size : 2981GB Serial Number : S2T7NA0JB03083 Firmware : KPYAIR3Q Slot Number : PCI Slot: 2; FDOM: 1 Cell Disk : FD_01_dm01celadm05 Grid Disk : Not configured Flash Cache : Present Flash Log : Present Reason for confinement : threshold for disk I/O errors exceeded."
CellCLI> list celldisk FD_01_dm01celadm05 detail name: FD_01_dm01celadm05 comment: creationTime: 2018-09-13T19:44:54+08:00 deviceName: /dev/nvme2n1 devicePartition: /dev/nvme2n1 diskType: FlashDisk errorCount: 500404 freeSpace: 0 id: 70c8bef8-4ece-4f99-8d0d-a77555a10de8 interleaving: none lun: 2_1 physicalDisk: S2T7NA0JB03083 size: 2.91094970703125T status: normal
CellCLI> |
2.2 检查所有存储节点的IO使用率,发现只有出现闪存故障的这台存储节点IO使用率异常。
[root@dm01celadm05 ~]# iostat -x -m 1 Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sdb 0.00 3.00 3.00 5.00 0.19 1.12 336.00 0.04 4.88 13.00 0.00 4.88 3.90 sdd 9.00 30.00 42.00 333.00 3.41 5.75 49.98 3.72 8.98 79.76 0.05 2.67 100.00 sde 1.00 3.00 2.00 75.00 0.44 2.05 66.09 0.05 0.62 22.00 0.05 0.62 4.80 sdf 0.00 0.00 52.00 171.00 0.77 4.65 49.79 5.23 70.39 301.37 0.15 4.48 100.00 sdi 0.00 3.00 4.00 9.00 0.25 1.44 265.85 0.06 4.69 15.25 0.00 4.62 6.00 sdj 0.00 3.00 5.00 119.00 0.00 2.08 34.35 0.01 0.12 2.00 0.04 0.11 1.40 sdh 0.00 7.00 7.00 24.00 0.44 3.80 280.23 0.06 1.81 7.71 0.08 1.81 5.60 sdg 0.00 3.00 3.00 67.00 0.19 2.34 74.04 0.03 0.47 8.67 0.10 0.43 3.00 sdk 0.00 9.00 1.00 479.00 0.06 7.36 31.67 0.07 0.15 15.00 0.11 0.12 5.70 sdl 0.00 5.00 3.00 16.00 0.19 2.30 267.79 0.03 1.63 10.00 0.06 1.63 3.10 sdc 1.00 6.00 19.00 34.00 0.51 2.57 118.83 0.07 1.38 3.74 0.06 1.38 7.30 sdm 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 sda 0.00 3.00 5.00 49.00 0.31 1.80 80.30 0.05 0.93 9.80 0.02 0.91 4.90 md4 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md11 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md6 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md1 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md7 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md8 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md5 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 md2 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 nvme0n1 0.00 0.00 1643.00 1498.00 38.88 16.41 36.04 0.47 0.15 0.26 0.03 0.06 18.90 nvme1n1 0.00 0.00 1658.00 1671.00 37.23 15.80 32.62 0.39 0.12 0.21 0.02 0.06 18.80 nvme2n1 0.00 0.00 290.00 205.00 9.77 2.38 50.29 0.12 0.24 0.39 0.04 0.22 10.90 nvme3n1 0.00 0.00 1385.00 1377.00 24.55 12.58 27.53 0.30 0.11 0.18 0.04 0.07 19.20 |
可以看出,sdd 和 sdf 这两块磁盘的IO使用率为100%。同时IO延时也明显高于其他的磁盘。
2.3 由于Exadata上的闪存都默认配置为FlashCache,且当前环境中FlashCache为Write-Back模式。检查这块损坏的闪存卡已经缓存哪些机械磁盘的数据。
CellCLI> list griddisk detail ...... name: DG_DATA_CD_03_dm01celadm05 asmDiskGroupName: DG_DATA asmDiskName: DG_DATA_CD_03_DM01CELADM05 asmFailGroupName: DM01CELADM05 availableTo: cachedBy: FD_01_dm01celadm05 cachingPolicy: default cellDisk: CD_03_dm01celadm05 comment: creationTime: 2018-09-22T17:00:11+08:00 diskType: HardDisk errorCount: 0 id: f09a1e8b-0051-4f22-8f5f-74ed61bac473 offset: 32M size: 7.11944580078125T status: active ...... name: DG_DATA_CD_05_dm01celadm05 asmDiskGroupName: DG_DATA asmDiskName: DG_DATA_CD_05_DM01CELADM05 asmFailGroupName: DM01CELADM05 availableTo: cachedBy: FD_01_dm01celadm05 cachingPolicy: default cellDisk: CD_05_dm01celadm05 comment: creationTime: 2018-09-22T17:00:11+08:00 diskType: HardDisk errorCount: 0 id: f2ee5dcc-2e3c-423e-b4a0-d478fa333f28 offset: 32M size: 7.11944580078125T status: active ...... name: DG_GRID_CD_10_dm01celadm05 asmDiskGroupName: DG_GRID asmDiskName: DG_GRID_CD_10_DM01CELADM05 asmFailGroupName: DM01CELADM05 availableTo: cachedBy: "FD_02_dm01celadm05, FD_01_dm01celadm05" cachingPolicy: default cellDisk: CD_10_dm01celadm05 comment: "Cluster sdsw-dm01 diskgroup DG_GRID" creationTime: 2018-09-14T16:47:17+08:00 diskType: HardDisk errorCount: 0 id: 67f07f80-bf8a-413e-aea9-a69210a54e73 offset: 7.1194915771484375T size: 33.546875G status: active ...... |
可知,CD_03_dm01celadm05、CD_05_dm01celadm05、CD_10_dm01celadm05 这三块机械磁盘的数据缓存到已经损坏的闪存卡中。
2.4 查询celldisk与操作系统盘符的对应关系。
CellCLI> list celldisk CD_03_dm01celadm05 detail name: CD_03_dm01celadm05 comment: creationTime: 2018-09-14T16:42:04+08:00 deviceName: /dev/sdd devicePartition: /dev/sdd diskType: HardDisk errorCount: 0 freeSpace: 0 id: de11eb06-f468-41d7-90b9-e57a542f0327 interleaving: none lun: 0_3 physicalDisk: PKAJAV raidLevel: 0 size: 7.152252197265625T status: normal
CellCLI> list celldisk CD_05_dm01celadm05 detail name: CD_05_dm01celadm05 comment: creationTime: 2018-09-14T16:42:04+08:00 deviceName: /dev/sdf devicePartition: /dev/sdf diskType: HardDisk errorCount: 0 freeSpace: 0 id: f8446976-92aa-4c16-9deb-71deec12979d interleaving: none lun: 0_5 physicalDisk: PL0X8V raidLevel: 0 size: 7.152252197265625T status: normal
CellCLI> list celldisk CD_10_dm01celadm05 detail name: CD_10_dm01celadm05 comment: creationTime: 2018-09-14T16:42:05+08:00 deviceName: /dev/sdk devicePartition: /dev/sdk diskType: HardDisk errorCount: 0 freeSpace: 0 id: ee487ef9-52ce-48be-a980-e5edb9c8adb0 interleaving: none lun: 0_10 physicalDisk: PL0SAV raidLevel: 0 size: 7.152252197265625T status: normal
CellCLI> |
可知,闪存卡出现故障,IO受到影响的机械磁盘为:/dev/sdd 、/dev/sdf 和 /dev/sdk。损坏的闪存卡上存放的脏数据,会立即被flush出FlashCache,写入对应的机械磁盘中。所以当闪存卡出现故障后,这三块机械磁盘的IO写入量非常大。
2.5 故障紧急处理。为了尽量恢复业务,强制关闭了dm01cell05存储节点的存储服务(alter cell shutdown services all;),关闭了该存储服务后,业务部门反馈业务系统已经恢复正常运行。等到当前晚上,在业务空闲期,重新启动存储服务(alter cell startup services all),并且完成脏数据的flush操作。
2.6下面,对整个故障进行复盘。第5台存储节点中有一块闪存卡出现故障,存储管理软件会自动将FlashCache中这块闪存所存放的脏数据flush到对应的机械磁盘中。 由于脏数据比较多,导致刷脏数据时,对应的几块机械磁盘的IO使用率达到100%,IO响应时间比平时增长十几倍。这个时间点,正好是业务高峰期,数据库有大量的数据写入操作,所以业务IO出现阻塞状态。
3. 建议及改进
3.1 在紧急处理这个故障时,其实没必要关闭整个存储服务,而只需要将受到影响的几个griddisk置于inactive状态即可。
3.2 FlashCache的脏块flush算法还有增强的必要。存储管理软件完全可以通过监控系统的IO指标来判断出空闲期,然后在空闲期间加大脏块的flush操作,避免在FlashCache中积压大量的脏块。
标签:dm01celadm05,0.00,3.00,dev,CD,闪存卡,IO,Exadata From: https://www.cnblogs.com/missyou-shiyh/p/17817261.html