首页 游戏 软件 资讯 排行榜 专题
首页
数据库
Oracle 11g RAC多路径部署与udev固定磁盘名配置指南

Oracle 11g RAC多路径部署与udev固定磁盘名配置指南

热心网友
83
转载
2026-05-10

在Oracle 11g RAC集群部署中,单纯配置multipath.conf文件的alias参数是存在风险的。为确保ASM能够稳定识别共享存储磁盘,必须结合udev规则,依据DM_NAME属性创建固定的/dev/asm-*字符设备节点,并精确设置grid:asmadmin所有权与权限。缺少这一关键步骤,ASM实例常因裸I/O访问失败而无法正常启动。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

问题的核心在于,multipath服务自身无法保证ASM所需磁盘设备名称在系统重启后保持绝对一致。它生成的/dev/mapper/mpathx这类动态名称,难以满足Oracle ASM对路径持久性、权限可控性及跨节点名称一致性的严格要求。若没有udev规则进行精确映射,asmca配置助手要么无法扫描到磁盘,要么识别到错误的设备,最终导致整个集群启动失败。

怎样在Oracle 11g RAC上部署Multipath多路径_修改udev规则确保磁盘名称固定

为什么不能只靠 multipath.conf 的 alias?

multipath.conf中定义的alias(例如alias db1)仅用于控制/dev/mapper/db1这个符号链接的名称。然而,此路径并非Oracle 11g ASM原生支持的“原始设备”(raw device)。更为关键的是,在执行multipathd reload命令或系统重启后,/dev/mapper/目录下的设备节点可能出现创建延迟、权限重置或被其他进程占用等问题。ASM对存储设备有三项硬性规定:① 主设备号与次设备号固定;② 所有集群节点上的设备路径必须完全相同;③ grid用户必须拥有读写权限。仅依赖alias配置,这三项要求均无法得到可靠保障。

  • /dev/mapper/db1是device-mapper层生成的逻辑块设备,而Oracle 11g的ASM更推荐使用原始字符设备(如/dev/asm-*)或通过udev绑定的稳定符号链接。
  • alias参数并不管理设备的属主、权限及创建时机,只有udev系统才能在内核发出设备事件后,精确地介入并控制设备节点的最终状态。
  • 在多节点的RAC环境中,不同服务器上multipath -ll命令的输出顺序可能存在差异,这会导致alias名称对应的底层物理磁盘发生错位,从而引发数据不一致等严重后果。

怎样写可靠的 udev 规则绑定 multipath 设备?

核心解决方案非常明确:利用multipath设备提供的稳定属性DM_NAME(即配置的alias名称)作为匹配条件,在/dev/asm-*路径下创建持久化的设备节点,并一次性完成属主和权限的设定。规则文件应放置在/etc/udev/rules.d/99-asm.rules(确保文件名前的数字足够大,以使其在multipath相关规则之后执行)。

  • 首先,确认multipath设备已被系统识别且alias已生效:执行multipath -ll | grep "dm-.*mpath",查找类似mpatha (36001405...)的记录及其对应的alias(例如db1)。
  • 接着,验证该设备的DM_NAME属性值:运行udevadm info --name /dev/mapper/db1 | grep DM_NAME,预期输出为E: DM_NAME=db1
  • 然后,编写udev规则(以alias为db1的磁盘为例):
    ENV{DM_NAME}=="db1", SYMLINK+="asm-disk1", OWNER="grid", GROUP="asmadmin", MODE="660"
  • 如果需要根据磁盘用途进行区分(例如投票盘Vote Disk、OCR盘、数据盘),可以按照alias分别编写多条规则,例如:ENV{DM_NAME}=="vot1", SYMLINK+="asm-disk-vote", ...
  • 务必注意,避免使用NAME=参数或直接匹配/dev/sdX这类不稳定的底层设备路径。必须基于DM_NAMEDM_UUID这类由multipath守护进程提供的、持久且唯一的属性进行匹配。

常见 udev 错误及验证方法

规则编写后未生效,90%的原因在于未正确触发规则重载或匹配条件有误。不应依赖重启服务器来解决问题,使用以下命令序列进行逐级排查更为高效。

  • 执行udevadm control --reload-rules重载规则后,必须紧接着运行udevadm trigger --subsystem-match=block --action=add,否则新规则不会应用到系统中已存在的块设备上。
  • 验证规则是否被成功命中:udevadm test /sys/block/dm-0 2>&1 | grep -A5 -B5 "asm-disk1"(请将dm-0替换为实际multipath设备在sysfs文件系统中的路径)。
  • 检查最终生成的设备节点是否存在且权限正确:ls -l /dev/asm-*。正确的输出应显示设备属主属组为grid:asmadmin,且权限为crw-rw----(注意:Oracle 11g ASM要求使用字符设备,因此规则中的MODE="660"参数会指导udev创建字符设备节点)。
  • 若遇到asmca工具扫描不到磁盘的情况,建议按此顺序排查:首先检查oracleasm listdisks输出是否为空;再确认/dev/asm-*设备文件是否存在;最后查询udev系统日志:journalctl -u systemd-udevd | tail -20

为什么 /dev/asm-* 必须是字符设备而非块设备?

这是Oracle 11g RAC环境下的一个关键技术特性。ASM实例在启动过程中,会通过libasm库以O_DIRECT模式直接打开设备进行裸I/O操作。这要求底层设备必须支持裸I/O访问。在RHEL/CentOS 6/7等操作系统中,只有由udev创建的字符设备节点(文件类型标识为c)才能被ASM正确识别为“原始磁盘”。如果在udev规则中创建的符号链接指向了一个块设备(类型为b),那么oracleasm scandisks命令可能显示成功,但ASM实例启动时会抛出错误,例如ORA-15018: diskgroup cannot be createdORA-15032: not all alterations performed——其根本原因在于系统驱动层拒绝向块设备执行裸I/O操作。

  • 确认设备类型:执行ls -l /dev/asm-disk1,行首字符应为crw-rw----,而非brw-rw----
  • 如果错误地生成了块设备,通常是因为udev规则中遗漏了MODE="660"参数,或者仅设置了OWNER/GROUP而未指定MODE,此时udev会默认创建块设备节点。
  • 这一点在Oracle 11g环境中必须严格遵守。从12c版本开始,Oracle逐步增强了对块设备的兼容性支持,但在11g RAC部署中,使用字符设备是必须确保的技术底线。
来源:https://www.php.cn/faq/2451344.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

Oracle 11g安装图形化组件加载失败解决方法 libXp与libXtst库检查
数据库
Oracle 11g安装图形化组件加载失败解决方法 libXp与libXtst库检查

Oracle11g图形化安装程序报“无法检查显示器颜色”错误,通常因缺少libXp和libXtst库文件。安装器依赖这两个库检测显示能力。CentOS7等系统默认未包含,需启用EPEL仓库后通过yum安装。安装时需注意包名大小写及仓库配置。

热心网友
05.09
Oracle 19c RAC ASM磁盘组平衡慢如何优化调整ASM_POWER_LIMIT参数
数据库
Oracle 19c RAC ASM磁盘组平衡慢如何优化调整ASM_POWER_LIMIT参数

许多Oracle DBA在日常运维中都会遇到一个典型问题:明明已经将asm_power_limit参数调至较高数值,但ASM磁盘组的重平衡(Rebalance)操作速度依然非常缓慢。更令人困惑的是,查询v$asm_operation视图时,EST_MINUTES字段显示的预估完成时间长时间停滞不变,

热心网友
05.09
Oracle 19c备份报错ORA-01578如何定位与修复RMAN坏块
数据库
Oracle 19c备份报错ORA-01578如何定位与修复RMAN坏块

ORA-01578错误表明数据库存在物理坏块。首要任务是定位坏块,可通过错误信息中的文件与块号,查询V$DATABASE_BLOCK_CORRUPTION或DBA_EXTENTS视图确定所属对象。RMAN验证能深入检查块,而普通查询可能绕过损坏区域。若块恢复失败,可能因归档日志缺失或坏块位于系统表空间。备份中断后不应盲目重试,需暂停相关任务,评估影响,并检查

热心网友
05.08
Spring Data JPA查询Oracle如何避免N+1问题 EntityGraph解决方案详解
数据库
Spring Data JPA查询Oracle如何避免N+1问题 EntityGraph解决方案详解

使用SpringDataJPA的@EntityGraph优化Oracle查询时,配置的抓取策略可能不生效,导致出现N+1问题。这常因实体图定义不纯净、方言配置错位或方法签名不匹配所致。验证需查看SQL日志是否生成JOIN语句。分页查询结合@EntityGraph易引发性能问题,可改用DTO投影或拆分查询。在Oracle场景下,JPQL中显式使用JOINFET

热心网友
05.08
Oracle索引段空间碎片整理方法 如何执行COALESCE合并优化
数据库
Oracle索引段空间碎片整理方法 如何执行COALESCE合并优化

索引因频繁删除产生内部空洞,导致空间占用虚高。COALESCE操作可在线合并相邻空闲叶块以整理碎片,但不会释放空间或降低高水平线。它适用于因删除导致叶块使用率低下的情况,若碎片严重则需重建索引。操作后应验证叶块使用率或逻辑读是否改善,并结合索引使用频率评估维护效果。

热心网友
05.08

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

安币充币地址使用前必查:到账确认、测试转账与Memo标签详解
web3.0
安币充币地址使用前必查:到账确认、测试转账与Memo标签详解

安币充币地址直接复制使用是基础操作,但需注意网络匹配、地址格式正确性及到账确认时间。不同币种网络选择错误可能导致资产丢失。大额转账前建议先小额测试,并留意部分币种所需的Memo标签,确保信息完整无误。

热心网友
05.10
币安新手必看:10个最常用买币入口快速上手指南
web3.0
币安新手必看:10个最常用买币入口快速上手指南

对于刚接触币安的新用户,面对众多功能按钮难免感到困惑。本文聚焦于最核心的买币需求,梳理出十个最常用且关键的页面入口,包括快捷买币、现货交易、资金划转、订单查询及资产总览等。掌握这些入口,用户便能高效完成从法币兑换到数字货币买卖、资产管理的基础操作,快速上手平台核心功能。

热心网友
05.10
币安App下载安装全攻略 清理缓存与权限设置详解
web3.0
币安App下载安装全攻略 清理缓存与权限设置详解

本文详细介绍了在不同系统版本下安全下载必安App的几种可靠方法,包括通过官方应用商店、官网直接下载以及使用第三方可信平台。重点强调了下载前清理旧缓存和浏览器数据的重要性,并提供了具体的操作步骤。同时,文章也解释了如何正确授予浏览器下载权限,确保安装过程顺畅,避免因权限问题导致下载失败或安装包损坏。

热心网友
05.10
索尼新专利一键剪辑功能让视频制作更轻松高效
游戏评测
索尼新专利一键剪辑功能让视频制作更轻松高效

索尼近期披露了一项于2023年提交的专利申请,揭示了PlayStation平台一项极具前瞻性的技术探索:通过人工智能为玩家自动创建专属的“游戏精彩时刻集锦”。 根据专利文档说明,该AI系统将全程监测玩家的游戏进程,实时分析画面内容与操作数据,智能识别出那些值得珍藏的瞬间——例如一场酣畅淋漓的Boss

热心网友
05.10
科博会观察AR产品如何通过会展场景实现产业落地
科技数码
科博会观察AR产品如何通过会展场景实现产业落地

北京科博会上,亮亮视野展示了AR眼镜在会展导览、实时翻译等场景的应用。企业指出,会展是AR技术从实验室走向产业落地的关键试炼场,能通过密集客流检验产品性能,推动迭代升级。未来,AR眼镜有望助力会展向智能交互平台演进,提升信息获取与跨语言交流效率。

热心网友
05.10