如何在 CentOS/RHEL 中删除多路径设备上的 ASM 磁盘

本文说明了在 CentOS/RHEL 服务器中,删除多路径设备上的 ASM 磁盘的步骤。

  1. 首先确保ASM磁盘不再被任何磁盘组使用,否则可能存在数据完整性的风险。
    DBA 可以通过使用 asmcmd 命令 或者登录 ASM 数据库来检查。

  2. 找出ASM磁盘映射:

# oracleasm listdisks
ASMDISK01
...
# oracleasm querydisk -p ASMDISK01
Disk "ASMDISK01" is a valid ASM disk
/dev/sdf: LABEL="ASMDISK01" TYPE="oracleasm"
...
# oracleasm querydisk -d ASMDISK01
Disk "ASMDISK01" is a valid ASM disk on device [8, 16]
...
  1. 从 ASM 中识别用于 ASMDISK01 磁盘的多路径设备:
# multipath -ll
mpath1 dm-4 IBM DS
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
`- 5:0:0:1 sdf 8:16 active ready running <
`- 5:0:0:1 sdg 8:17 active ready running
...
# dmsetup ls --tree
mpath1 (252:1)
├─ (8:16) <- sdf
└─ (8:17) <- sdg
mpath2 (252:2)
└─ (8:76)
...
  1. 确认要删除的磁盘以及设备多路径中对应的磁盘后,可以先从ASM中删除。
# oracleasm deletedisk ASMDISK01
Removing ASM disk “ASMDISK01″: [ OK ]
  1. 下一步是清理已删除磁盘的设备多路径。
    我们可以使用以下任何命令删除多路径磁盘。
# multipath -f mpath1

或者

# dmsetup remove mpath1
  1. 从内核中删除 SCSI 设备。
# echo 1 > /sys/block/sdf/device/delete
# echo 1 > /sys/block/sdg/device/delete
  1. 现在可以从 SAN 存储服务器中删除 LUN。

  2. 确保从多路径列表中删除 mpath1:

# multipath -ll
日期:2020-09-17 00:13:29 来源:oir作者:oir