CentOS7的udev的绑定规则

news/2024/12/26 16:25:25/文章来源:https://www.cnblogs.com/xulinforDB/p/18633378

CentOS7的udev的绑定规则

说明

因为udev绑定使用磁盘设备名称的时候,如果设备名称改变了,那么绑定可能会出现问题,考虑到这种场景,我们使用scsi_id绑定udev
scsi_id无论你的磁盘设备名称如何改变,它都不会改变,可以唯一确定一个磁盘

centos6及以前的版本语法

实际上直接使用这些盘也是可以的,但是考虑到规范,参考之前客户udev绑定规则规范:

--not available
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id  i --whitelisted  --device=/dev/$name",RESULT=="36000c29b263ed2452f80e9848bdf2fa5",NAME="asm-2g-2fa5-grid1",OWNER="grid",GROUP="asmadmin",MODE="0660"

centos7及以后的版本语法

可以看到别名的命名方式是:asm-lunsize-id后四位-磁盘组名+编号。这样以后遇到加盘/删盘这类操作,就能快速帮助DBA确认。
不过因为上面这个udev语法是RHEL 6的,在CentOS 7并不适用,换成7对应的语法就是:

--ok!
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7bcdd0000000f",SYMLINK+="asm-400g-000f-data1",OWNER="grid",GROUP="asmadmin",MODE="0660"

RHEL 7 查看scsi_id

lsscsi --scsi_id
[root@localhost etc]# lsscsi --scsi_id
[0:2:0:0]    disk    AVAGO    MR-SAS3316       4.74  /dev/sda   36f80f41fe9c3f0002305604d0f7eea16
[0:2:1:0]    disk    AVAGO    MR-SAS3316       4.74  /dev/sdb   36f80f41fe9c3f000230560520fce45e6
[root@localhost etc]# lsscsi --scsi_id -g
[0:2:0:0]    disk    AVAGO    MR-SAS3316       4.74  /dev/sda   36f80f41fe9c3f0002305604d0f7eea16  /dev/sg0 
[0:2:1:0]    disk    AVAGO    MR-SAS3316       4.74  /dev/sdb   36f80f41fe9c3f000230560520fce45e6  /dev/sg1 

快速生产脚本

考虑到盘相对多,一个个写既费时又容易出错,想起早些年间装RAC时,经常会参考maclean的一个方法,就是把这个工作写一个脚本:

centos 6

for i in b c d e
do
echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/sbin/scsi_id --whitelisted --replace-whitespace --
device=/dev/\$name\", RESULT==\"`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\",
NAME=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\""
done

centos7

运行脚本

其中b,c,d,e...是磁盘设备名称

for i in b c d;
do
echo "KERNEL==\"sd*\",SUBSYSTEM==\"block\",PROGRAM==\"/lib/udev/scsi_id -g -u -d /dev/\$name\",RESULT==\"`/lib/udev/scsi_id -g -u -d /dev/sd$i`\",SYMLINK+=\"asm-5g-xxxx-grid1\",OWNER=\"grid\",GROUP=\"asmadmin\",MODE=\"0660\""
done

执行脚本:sh /u01/asmdisk.sh ,结果为:
SYMLINK 就是裸设备的名称

--script-result
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7bcdd0000000f",SYMLINK+="asm-5g-xxxx-grid1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7be3900000010",SYMLINK+="asm-5g-xxxx-grid1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7bec100000011",SYMLINK+="asm-5g-xxxx-grid1",OWNER="grid",GROUP="asmadmin",MODE="0660"

配置udev文件

vi /etc/udev/rules.d/99-oracle-asmdevices.rules

--modify
[root@xxdb01 ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules 
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7bcdd0000000f",SYMLINK+="asm-400g-000f-data1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7be3900000010",SYMLINK+="asm-400g-0010-data2",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",SUBSYSTEM=="block",PROGRAM=="/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="36acb3b510041191b0de7bec100000011",SYMLINK+="asm-400g-0011-data3",OWNER="grid",GROUP="asmadmin",MODE="0660"

这里看到这个/lib/udev/scsi_id -g -u -d /dev/sd*查到的结果和存储多路径查到的Lun WWN,除了scsi_id查询的结果首位多一个3,后面是完全一样的。
此时可以使用udevadm进行应用规则:

重新配置udev配置

udevadm control --reload
udevadm trigger
/sbin/udevadm trigger --type=devices --action=change
/sbin/udevadm control --reload
systemctl restart systemd-udev-trigger.service

检查绑定结果

然后查看结果:

[root@xxdb01 ~]# ls -l /dev/asm*
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-100g-0039-arch1 -> sdm
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-000f-data1 -> sdb
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0010-data2 -> sdc
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0011-data3 -> sdd
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0012-data4 -> sde
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0013-data5 -> sdf
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0014-data6 -> sdg
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0015-data7 -> sdh
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-400g-0016-data8 -> sdi
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-5g-00da-grid1 -> sdj
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-5g-00db-grid2 -> sdk
lrwxrwxrwx. 1 root root 3 Sep  8 10:19 /dev/asm-5g-00dc-grid3 -> sdl
[root@xxdb01 ~]# ls -l /dev/sd*
brw-rw----. 1 root disk     8,   0 Sep  8 10:10 /dev/sda
brw-rw----. 1 root disk     8,   1 Sep  8 10:10 /dev/sda1
brw-rw----. 1 root disk     8,   2 Sep  8 10:10 /dev/sda2
brw-rw----. 1 grid asmadmin 8,  16 Sep  8 16:02 /dev/sdb
brw-rw----. 1 grid asmadmin 8,  32 Sep  8 10:19 /dev/sdc
brw-rw----. 1 grid asmadmin 8,  48 Sep  8 10:19 /dev/sdd
brw-rw----. 1 grid asmadmin 8,  64 Sep  8 10:19 /dev/sde
brw-rw----. 1 grid asmadmin 8,  80 Sep  8 10:19 /dev/sdf
brw-rw----. 1 grid asmadmin 8,  96 Sep  8 10:19 /dev/sdg
brw-rw----. 1 grid asmadmin 8, 112 Sep  8 10:19 /dev/sdh
brw-rw----. 1 grid asmadmin 8, 128 Sep  8 10:19 /dev/sdi
brw-rw----. 1 grid asmadmin 8, 144 Sep  8 16:02 /dev/sdj
brw-rw----. 1 grid asmadmin 8, 160 Sep  8 16:02 /dev/sdk
brw-rw----. 1 grid asmadmin 8, 176 Sep  8 16:02 /dev/sdl
brw-rw----. 1 grid asmadmin 8, 192 Sep  8 16:02 /dev/sdm

最终使用asmca创建磁盘组,最终结果为

[grid@xxdb01 ~]$ asmcmd lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  4194304    102400   102276                0          102276              0             N  ARCH/
MOUNTED  EXTERN  N         512   4096  4194304   3276800  3276620                0         3276620              0             N  DATA/
MOUNTED  NORMAL  N         512   4096  4194304     15360    14320             5120            4600              0             Y  GRID/
[grid@xxdb01 ~]$

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/859347.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iostat命令详解

iostat命令详解 简介 iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 iostat可以提供更丰富的IO性能状态数据,i…

学习笔记(四十九):Text常用场景

1、设置文本断行及折行Text(this.content).fontSize(14).textAlign(TextAlign.End).textOverflow({ overflow: TextOverflow.Ellipsis }).wordBreak(WordBreak.BREAK_WORD).maxLines(this.contentMaxLine) 作者:听着music睡出处:http://www.cnblogs.com/xqxacm/Android交流群…

VS2022 + OpenSSL 3.0实现DES、AES、RSA加密

​ 一、DES加密 #include <openssl/des.h> #include <cstdio> #include <iostream> #include <cstdlib> #include <iomanip> #define MAX_LINE 1024 #pragma warning(disable : 4996)using namespace std;signed main() {const_DES_cblock key …

SARscape洪水分类工具使用说明

SARscape6.1新增洪水分类工具,可以从多时相SAR数据提取洪水信息。工具主要使用了模糊分类技术——模糊C均值分类器(FCM),可加入坡度参数去除阴影的影响。 本文以洪水前后哨兵1数据为例,介绍洪水分类工具的使用。如下图为洪水发生前后两期已经经过预处理的后向散射系数图像…

汽车以旧换新政策的数字化协同解决方案

随着《汽车以旧换新补贴政策》的落地实施,汽车市场迎来了新的增长机遇。政策驱动与市场竞争的双重压力下,如何在短时间内整合资源、抢占市场先机,成为汽车经销商和销售团队的共同挑战。借助在线协同工具,企业能够打破部门与组织边界,实现从政策到执行全流程的高效管理,为…

36MT160-ASEMI开关电源整流方桥36MT160

36MT160-ASEMI开关电源整流方桥36MT160编辑:ll 36MT160-ASEMI开关电源整流方桥36MT160 型号:36MT160 品牌:ASEMI 封装:D-63 特性:插件整流方桥 正向电流:35A 反向耐压:1600V 恢复时间:>2000ns 引脚数量:5 芯片个数:4 芯片尺寸:50MIL 浪涌电流:500A 漏电流:>10…

java8--方法--格式化输出--printf

System.out.printf("%,.2f",10000.0 / 3.0); 效果图:ps: 在分隔符后可以指定字符串长度 System.out.printf("%,10.2f",10000.0 / 3.0); 效果图:

JDBC核心6步

1JDBC简介 java DataBase Connectivity,又称java数据库连接是独立于任何数据库管理系统的api java提供接口规范,由各个数据库厂商提供接口的实现,厂商提供的实现封装成jar文件,也就是我们俗称的数据库驱动jar包 学习JDBC,充分体现了面向接口编程的好处2.JDBC核心6步 1.注册…

【python应用】基于 Python 的远程管理工具:PyChi 远程管理系统

一、引言 在现代 IT 环境中,远程管理工具是开发者和运维人员必不可少的利器。本文将为大家介绍一个基于 Python 构建的多功能远程管理工具 PyChi,它能够让你轻松地对远程客户端进行管理操作,包括文件管理、系统命令执行、截图、录音等功能。二、软件简介 PyChi 是一个基于异…

Hexo-Github-pages-实现个人博客

Hexo + Github pages 实现个人博客 一、过程总览和回顾 我是新手,2024/12/21号尝试着自己搭建自己的个人博客网站,起初是只想着在自己本地电脑环境上搭建 一开始使用了Hugo,据说是世界上最快的静态网页生成器,但是捣鼓了一个下午,无功而返第一个原因:阅读官方文档不够仔细…

AI智能分析视频分析网关热知识:视频分析技术如何帮助提升城市公共安全?

城市公共安全是社会发展的重要基础,而视频分析技术的应用为提升这一领域的效率和效果提供了强有力的支持。随着城市化进程的加快,公共安全面临的挑战日益增多,如何有效监控和管理城市环境中的安全隐患,已成为城市管理者亟待解决的问题。接下来,我们将详细探讨视频分析技术…

quietflow.js-jquery背景层动画插件

quietflow.js是一款可以制作炫酷页面背景层动画效果的jquery插件。该jquery插件内置了9种不同效果的背景层动画,你可以为页面轻松的添加背景动画效果。 可用的背景层动画效果有:squareFlash vortex bouncingBalls shootingLines simpleGradient starfield layeredTriangles c…