11gASM磁碟頭大量損壞?

jelephant發表於2014-02-27
今天突然發現叢集資料庫宕了,發現DATADG沒有mount,果斷手工mount,報錯:mount失敗,磁碟組找不到第51塊盤
select path,name,header_status from v$asm_disk order by path;
發現磁碟頭損毀。

修復如下:
磁碟組頭部備份的位置:

AU SIZE =1M 備份塊 blkn=510

AU SIZE =2M 備份塊 blkn=1022

AU SIZE =4M 備份塊 blkn=2046

AU SIZE =8M 備份塊 blkn=4094

AU SIZE =16M 備份塊 blkn=8190

AU SIZE =32M 備份塊 blkn=16382

AU SIZE =64M 備份塊 blkn=32766

[grid@auditdb3 dev]$ kfed read ora52
kfbh.endian: 0 ; 0x000: 0x00
kfbh.hard: 0 ; 0x001: 0x00
kfbh.type: 0 ; 0x002: KFBTYP_INVALID

kfbh.datfmt: 0 ; 0x003: 0x00
kfbh.block.blk: 0 ; 0x004: blk=0
kfbh.block.obj: 0 ; 0x008: file=0
kfbh.check: 0 ; 0x00c: 0x00000000
kfbh.fcn.base: 0 ; 0x010: 0x00000000
kfbh.fcn.wrap: 0 ; 0x014: 0x00000000
kfbh.spare1: 0 ; 0x018: 0x00000000

[grid@auditdb3 dev]$ kfed repair ora52

兩個節點分別手工mount,成功,叢集服務狀態正常。

由於是新上架的伺服器,重啟shutdown -r now(最好不用reboot)

等等......................

叢集沒起來,檢視日誌,successful discovery of 0 disks,未發現voting disk

嘗試檢視ams例項中磁碟的情況
兩個節點執行如下命令:
crsctl stop has -f
繞過crs強制啟動asm
crsctl start crs -excl -nocrs
登陸asm檢視磁碟狀態,發現大量壞盤
sqlplus / as sysasm
select name,path,header_status from v$asm_disk order by path;

新盤不可能出現大量磁碟頭損毀的情況啊。利用udevadm命令比較兩邊識別的磁碟資訊

node1:
  1. udevadm info --query=all --path=/dev/ocr1
  2. P: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
  3. N: sddmlaa
  4. W: 55
  5. S: block/8:0
  6. S: disk/by-id/ata-WDC_WD5000AAKX-001CA0_WD-WCAYUX405680
  7. S: disk/by-id/scsi-SATA_WDC_WD5000AAKX-_WD-WCAYUX405680
  8. S: disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
  9. S: disk/by-id/wwn-0x50014ee2b0b0304c
node2:

  1. udevadm info --query=all --path=/dev/ocr1
  2. P: /devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda
  3. N: sddmlaa
  4. W: 55
  5. S: block/8:0
  6. S: disk/by-id/ata-WDC_WD5000AAKX-001CA0_WD-WCAYUX405680--part1
  7. S: disk/by-id/scsi-SATA_WDC_WD5000AAKX-_WD-WCAYUX405680--part1
  8. S: disk/by-path/pci-0000:00:1f.2-scsi-0:0:0:0
  9. S: disk/by-id/wwn-0x50014ee2b0b0304c
發現一個識別的是分割槽後的盤,一個識別的是分割槽前的盤。
比對兩邊的99-oracle-asmdrive.rules檔案發現

node1:
KERNEL=="sddlm*"

node2:
KERNEL=="sddlm*1"

同步兩節點的配置檔案,統一匹配分割槽後的磁碟

重啟伺服器,叢集狀態正常。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29337971/viewspace-1094141/,如需轉載,請註明出處,否則將追究法律責任。

相關文章