megacli 解决 the controller has data in cache for offline or missing virtual disks问题

Dear 丶 2022-12-27 08:34 301阅读 0赞

目的

更换磁盘后恢复磁盘盘符
磁盘已完成替换

现象

磁盘设备

可以看到, sdb 设备已经不存在

  1. # ls /dev/sd?
  2. /dev/sda /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg

尝试创建磁盘失败

  1. # megacli -CfgLdAdd -r0 [0:2] WB Direct -a0
  2. Adapter 0: Configure Adapter Failed
  3. zW error description:
  4. The current operation is not allowed because the controller has data in cache for offline or missing virtual disks.
  5. Exit Code: 0x54

原因, 磁盘之前已创建了虚拟设备

查询虚拟设备

  1. # megacli -LDInfo -LALL –aAll | grep Virtual
  2. Adapter 0 -- Virtual Drive Information:
  3. Virtual Drive: 0 (Target Id: 0)
  4. Virtual Drive: 2 (Target Id: 2)
  5. Virtual Drive: 3 (Target Id: 3)
  6. Virtual Drive: 4 (Target Id: 4)
  7. Virtual Drive: 5 (Target Id: 5)
  8. Virtual Drive: 6 (Target Id: 6)

查询虚拟设备磁盘关系

  1. # megacli -LDInfo -LALL -aAll | grep -E "Virtual|Raid\ Level|Mirror|Number|^Size"
  2. Adapter 0 -- Virtual Drive Information:
  3. Virtual Drive: 0 (Target Id: 0)
  4. Size : 3.637 TB
  5. Mirror Data : 3.637 TB
  6. Number Of Drives : 2
  7. Virtual Drive: 2 (Target Id: 2)
  8. Size : 3.637 TB
  9. Number Of Drives : 1
  10. Virtual Drive: 3 (Target Id: 3)
  11. Size : 3.637 TB
  12. Number Of Drives : 1
  13. Virtual Drive: 4 (Target Id: 4)
  14. Size : 3.637 TB
  15. Number Of Drives : 1
  16. Virtual Drive: 5 (Target Id: 5)
  17. Size : 3.637 TB
  18. Number Of Drives : 1
  19. Virtual Drive: 6 (Target Id: 6)
  20. Size : 3.637 TB
  21. Number Of Drives : 1

很明显, Virtual Drive: 1 就是之前替换的磁盘

  1. # megacli -PDList -a0 | grep -E "Slot|DiskGroup"
  2. Slot Number: 0
  3. Drive's postion: DiskGroup: 0, Span: 0, Arm: 0
  4. Slot Number: 1
  5. Drive's postion: DiskGroup: 0, Span: 0, Arm: 1
  6. Slot Number: 2
  7. Slot Number: 3
  8. Drive's postion: DiskGroup: 1, Span: 0, Arm: 0
  9. Slot Number: 4
  10. Drive's postion: DiskGroup: 2, Span: 0, Arm: 0
  11. Slot Number: 5
  12. Drive's postion: DiskGroup: 3, Span: 0, Arm: 0
  13. Slot Number: 6
  14. Drive's postion: DiskGroup: 4, Span: 0, Arm: 0
  15. Slot Number: 7
  16. Drive's postion: DiskGroup: 5, Span: 0, Arm: 0

清理一下缓存

  1. # megacli -DiscardPreservedCache -L1 -a0
  2. Adapter #0
  3. Virtual Drive(Target ID 01): Preserved Cache Data Cleared. <- 这里就把 磁盘缓存给清理掉了
  4. Exit Code: 0x00

重建 raid0

  1. # megacli -CfgLdAdd -r0 [0:2] WB Direct -a0
  2. Adapter 0: Created VD 1
  3. Adapter 0: Configured the Adapter!!
  4. Exit Code: 0x00

使用磁盘

(sdb 回来了)

  1. # ls /dev/sd?
  2. /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg

分区格式化

  1. # parted -s /dev/sdb mklabel gpt
  2. ]# parted /dev/sdb mkpart primary xfs 1 100%
  3. Information: You may need to update /etc/fstab.
  4. # mkfs -t xfs -i size=1024 /dev/sdb1
  5. meta-data=/dev/sdb1 isize=1024 agcount=4, agsize=244140480 blks
  6. = sectsz=4096 attr=2, projid32bit=1
  7. = crc=1 finobt=0, sparse=0
  8. data = bsize=4096 blocks=976561920, imaxpct=5
  9. = sunit=0 swidth=0 blks
  10. naming =version 2 bsize=4096 ascii-ci=0 ftype=1
  11. log =internal log bsize=4096 blocks=476836, version=2
  12. = sectsz=4096 sunit=1 blks, lazy-count=1
  13. realtime =none extsz=4096 blocks=0, rtextents=0

发表评论

表情:
评论列表 (有 0 条评论,301人围观)

还没有评论,来说两句吧...

相关阅读