PowerPath:如何使用 Oracle ASM 为群集 Oracle RAC 服务器配置
Summary: PowerPath for Linux:如何为在 RHEL 6.4 或更高版本服务器上运行的群集 Oracle RAC 服务器配置和使用 Dell PowerPath 和 Oracle ASM。
Instructions
Oracle 自动存储管理 (ASM) 可确保跨 Real Application Cluster (RAC) 的设备命名一致。它还在重新启动时维护对设备的权限。在使用 2.5 内核将 UDEV 规则添加到 Linux 之前,此功能非常重要。
ASM 的一个功能是为 ASM 标记的设备分配别名。每个磁盘都会添加到 /dev/oracleasm/disks/ 设备目录,并使用别名呈现给 ASM ORCL:diskname。
当 Linux 发现同一磁盘或 LUN 的多个路径时,它会在 SCSI 设备表中为每个路径创建一个条目。因此,具有两条路径的单个 LUN 在 Linux 看来可能是同时具有两条路径 /dev/sdg and /dev/sdh例如。
这对 ASM 来说是个问题,因为 ASM 无法处理映射到同一 LUN 的两个或更多设备。
与 ASM 一样,Dell PowerPath 也会创建别名:这些是我们的伪设备 (/dev/emcpowerX 其中 X 是设备字母)。
过程
群集中的 RHEL 服务器需要解决的一个主要问题是戴尔伪名称必须匹配。通过运行 powermt display dev=all 命令确认该锁定已释放。
Pseudo name=emcpowera
Symmetrix ID=000195123456
Logical device ID=1B79
Device WWN=60000970000195123456533031423739
state=alive; policy=SymmOpt; queued-IOs=0
==============================================================================
Host Stor I/O Path Stats
### HW Path I/O Paths Interf.Mode State Q-IOs Errors
==============================================================================
1 lpfc sde FA 7e:00 active alive 0 0
1 lpfc sdd FA 5e:00 active alive 0 0
0 lpfc sdc FA 10e:00 active alive 0 0
0 lpfc sdb FA 12e:00 active alive 0 0
Pseudo name=emcpowerb
Symmetrix ID=000195123456
Logical device ID=1B8A
Device WWN=60000970000195123456533031423841
state=alive; policy=SymmOpt; queued-IOs=0
============================================================================== Host Stor I/O Path Stats
### HW Path I/O Paths Interf.Mode State Q-IOs Errors
==============================================================================
1 lpfc sdm FA 7e:00 active alive 0 0
1 lpfc sdk FA 5e:00 active alive 0 0
0 lpfc sdi FA 10e:00 active alive 0 0
0 lpfc sdg FA 12e:00 active alive 0 0
(提醒:出于安全目的修改阵列的 S/N)
如果命令在两个主机上运行,请注意伪名称不同。
在互联网上找到的一篇文章建议如下:
"Shutdown PowerPath on one of the clustered nodes. $ sudo /etc/init.d/PowerPath stop Now that PowerPath is stopped, copy PowerPath configuration files from node one to node two. Copy /etc/emcp_devicesDB.dat and /etc/emcp_devicesDB.idx to the /etc directory on the node. Once the copy is complete, start PowerPath up (sudo /etc/init.d/PowerPath start) and run the powermt display dev=all command and the pseudo names will match."
戴尔建议使用”emcpadm export_mappings -f <pseudo_mapping>“,在一个节点上。
这样可以保存阵列设备与伪设备之间的映射。
使用”emcpadm import_mappings -f <pseudo_mappings>
<“。> pseudo_mapping 是包含伪设备和阵列设备之间映射的文件。
完成此步骤后,更新 /etc/sysconfig/oracleasm。指令 ORACLEASM_SCANORDER 和 ORACLEASM_SCANEXCLUDE 必须按如下方式修改:
ORACLEASM_ENABLED=true
# ORACLEASM_UID:拥有 /dev/oracleasm 装载点的默认用户。
ORACLEASM_UID=grid
# ORACLEASM_GID:拥有 /dev/oracleasm 装载点的默认组。
ORACLEASM_GID=oinstall
# ORACLEASM_SCANBOOT: true 表示在引导时扫描 ASM 磁盘。
ORACLEASM_SCANBOOT=true
# ORACLEASM_SCANORDER:按顺序匹配模式 磁盘扫描
ORACLEASM_SCANORDER= emcpower
# ORACLEASM_SCANEXCLUDE:从扫描
中排除磁盘的匹配模式 ORACLEASM_SCANEXCLUDE= sd
现在,当 ASMLib 启动时,它会扫描 PowerPath 伪设备(而不是 SCSI 设备)中的 ASM 磁盘。