跳转到主内容
websoft网络软件专家 - 深耕网络技术,打造实用软件!

怎样在Oracle 12c RAC中实现在线更换HBA卡_利用多路径软件与ASM热插拔

HBA卡无法真正在线更换,所谓“在线”实为最小停机窗口下的可控切换;必须先停CRS再执行powermt renamepseudo,否则触发ORA错误、设备忙或ASM挂载失败;需通过Logical device ID而非伪设备名或sdX序号确认LUN逻辑一致性;asm_diskstring须精确配置,扫描后需手动rescan并验证磁盘状态;OCR与Voting Disk迁移是强制前置动作,不可跳过。 不能直接在线更换 hba 卡——哪怕用了 powerpath 或 multipath,hba 物理层断连必然导致路径瞬时丢失,asm 会触发 disk heartbeat timeout,进而引发 voting disk 不可用、cssd 挂起、crs-0184 报错。所谓“在线”,实际是「最小停机窗口下的可控切换」,核心靠多路径重映射 + asm disk string 稳定性保障。 为什么 powermt renamepseudo 必须在 CRS 停止后执行 PowerPath 的伪设备名(如
emcpowerx
)被 ASM 的
asm_diskstring
直接引用。CRS 运行时,
ohasd
和
cssd
会持续监控底层设备状态;若此时用
emcpadm renamepseudo
强制修改正在被 ASM 使用的设备别名,会出现:
ORA-15032: not all alterations performed
或
ORA-15027: active use of diskgroup precludes relocation or drop
PowerPath 内部设备锁未释放,
powermt save
失败并报
device is busy
即使重命名成功,ASM 实例重启后仍可能因 disk discovery 顺序变化而挂载失败 必须先
crsctl stop crs -f
(两节点依次执行),再操作重命名,否则所有后续步骤都不可靠。 如何确认新 HBA 扫描出的 LUN 与原设备逻辑一致 仅靠
powermt display dev=all
看
Pseudo name
不够,EMC 存储的
Logical device ID
才是唯一标识。操作前必须比对两节点: 旧卡识别出的
data_center_16
对应 ID:
60060160F7303500ACF6E88706A1E811
新卡扫描后,查
powermt display dev=all | grep -A5 'data_center_16'
,确认其
Logical device ID
完全一致 不一致说明 LUN 映射错位或存储端 zone 配置异常,此时绝不能继续 —— 否则 OCR/Voting Disk 可能写入错误设备 注意:
fdisk -l
输出的
/dev/sdX
序号毫无意义,PowerPath 层已屏蔽底层 SCSI 路径变化。 ASM diskstring 配置与 scan 操作的关键细节 Oracle 12c RAC 中,
asm_diskstring
必须显式指向 PowerPath 设备,且不能含通配符风险: oracle知识库 oracle知识库下载 下载 ✅ 正确:
asm_diskstring = '/dev/emcpower[a-z]'
(限定字符范围,避免匹配到
emcpowera1
这类分区设备) ❌ 危险:
asm_diskstring = '/dev/emcpower*'
(可能意外包含快照、临时分区,导致 ASM 启动失败) 扫描新设备后,必须在两节点分别执行:
sqlplus / as sysasm
→
ALTER SYSTEM RESCAN DISKS;
,而非依赖自动 discovery 执行
SELECT path, header_status FROM v$asm_disk;
验证所有盘显示
MEMBER
且无
PROVISIONED
状态残留 Rescan 不等于重发现:它只刷新已有 diskstring 范围内的设备状态,不会改变 ASM 磁盘组成员关系。 OCR 和 Voting Disk 迁移不是可选项,而是强制前置动作 即使你只想换 HBA 卡,只要设备名(
emcpowerx
)发生变更,就必须检查 OCR 和 Voting Disk 所在磁盘组是否仍可访问。常见疏漏点: OCR 位置可通过
ocrcheck -config
查看,但 Voting Disk 位置需运行
crsctl query css votedisk
若它们位于外部冗余磁盘组(
EXTERNAL REDUNDANCY
),且该磁盘组仅由一个
emcpower
设备组成,则设备名变更后 CSSD 将无法读取 voting disk,直接 hang 住 稳妥做法:提前将 OCR/Voting Disk 迁移至多盘组成的 normal/redundant 磁盘组,命令为
ocrconfig -add +DG_NAME
和
crsctl replace votedisk +DG_NAME
这一步常被跳过,直到重启 CRS 时卡在
Waiting for CSS daemon to start
才意识到问题,但那时已无法回退。

相关文章