技术博文 · 2023-04-15 0

配置 iscsi 共享存储

关闭防火墙

[root@ol7-122-rac1 ~]# systemctl stop firewalld
[root@ol7-122-rac1 ~]# systemctl disable firewalld

#防火墙如果沒有关掉,必须打开 iSCSI 所使用的 Port

[root@ol7-122-rac1 ~]# firewall-cmd --permanent --add-port=3260/tcp
[root@ol7-122-rac1 ~]# firewall-cmd --reload

修改 /etc/selinux/config 配置

# sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
# setenforce 0
# cat /etc/selinux/config | grep -i SELINUX= | grep -v "^#"
SELINUX=disabled

环境信息

asmserver:192.168.0.194

rac1:192.168.0.192

rac2:192.168.0.193

这里我们选 asmserver作为 iscsi 服务器,然后把其上的磁盘共享给 rac1 和 rac2 使用;

:这里我们可以选用这个2个节点任何一台或者其他机器作为 iscsi 服务器;

首先我们在server上添加需要共享的磁盘,也就是rac的磁盘组。这里我已经在server上分配了6块盘,说明如下:

Ocrvotedisk 3块 4G

Data 1块 300G

FRA_ARC 2块 20G

:Data数据盘必须大于或等于 40G

server端安装 iSCSI

首先安装管理工具

# yum install -y targetcli

启动 iSCSI 服务

# systemctl start target.service
# systemctl enable target.service
Created symlink from /etc/systemd/system/multi-user.target.wants/target.service to /usr/lib/systemd/system/target.service.

在server节点上查看

[root@localhost ~]# fdisk -l

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000afd92

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   208994303   103447552   8e  Linux LVM

磁盘 /dev/mapper/centos-root:101.8 GB, 101758009344 字节,198746112 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdb:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdc:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdd:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sde:322.1 GB, 322122547200 字节,629145600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdf:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdg:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

配置 iscsi server服务端

a)安装 scsi-target-utils 已用 yum 安装完成,不需要操作

# rpm -q epel-release
package epel-release is not installed
# yum install -y epel-release
# rpm -q epel-release
epel-release-7-11.noarch
# yum --enablerepo=epel -y install scsi-target-utils libxslt

b)配置 targets.conf ,在文件末尾添加如下内容

# cat >> /etc/tgt/targets.conf << EOF
<target iqn.2019-09.com.oracle:rac>
  backing-store /dev/sdb
  backing-store /dev/sdc
  backing-store /dev/sdd
  backing-store /dev/sde
  backing-store /dev/sdf
  backing-store /dev/sdg
  initiator-address 192.168.0.0/24
  write-cache off
</target>
EOF

iqn 名字可任意

initiator-address 限定 允许访问的客户端地址段或具体IP

write-cache off 是否开启或关闭快取

:里面添加的就是想要共享给 rac1 和 rac2 的磁盘

c)启动 tgtd

##注意一下是2个服务
#systemctl restart tgtd.service
#systemctl restart target.service
#systemctl enable tgtd
Created symlink from /etc/systemd/system/multi-user.target.wants/tgtd.service to /usr/lib/systemd/system/tgtd.service.
# tgtadm --lld iscsi --mode target --op show
Target 1: iqn.2019-09.com.oracle:rac
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET     00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: null
            Backing store path: None
            Backing store flags: 
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 214748 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdb
            Backing store flags: 
        LUN: 2
            Type: disk
            SCSI ID: IET     00010002
            SCSI SN: beaf12
            Size: 4295 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdc
            Backing store flags: 
        LUN: 3
            Type: disk
            SCSI ID: IET     00010003
            SCSI SN: beaf13
            Size: 4295 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdd
            Backing store flags: 
        LUN: 4
            Type: disk
            SCSI ID: IET     00010004
            SCSI SN: beaf14
            Size: 4295 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sde
            Backing store flags: 
        LUN: 5
            Type: disk
            SCSI ID: IET     00010005
            SCSI SN: beaf15
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdf
            Backing store flags: 
        LUN: 6
            Type: disk
            SCSI ID: IET     00010006
            SCSI SN: beaf16
            Size: 21475 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            SWP: No
            Thin-provisioning: No
            Backing store type: rdwr
            Backing store path: /dev/sdg
            Backing store flags: 
    Account information:
    ACL information:
        192.168.0.0/24

配置 iscsi 客户端(所有rac节点)

a)安装 iscsi-initiator-utils,安裝 iSCSI Client 软件

yum install -y iscsi-initiator-utils
rpm -qa | grep iscsi
iscsi-initiator-utils-iscsiuio-6.2.0.874-10.el7.x86_64
libiscsi-1.9.0-7.el7.x86_64
iscsi-initiator-utils-6.2.0.874-10.el7.x86_64

##重启客户端

systemctl restart iscsid.service
systemctl enable iscsid.service

b)配置 initiatorname.iscsi

cp /etc/iscsi/initiatorname.iscsi /etc/iscsi/initiatorname.iscsi_bak
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2019-09.com.oracle:rac

:InitiatorName 值就是 server 上 /etc/tgt/targets.conf 里配置的值

c)启动iscsi

systemctl restart iscsi
systemctl enable iscsi.service

:如果我安装操作系统时已经安装了 iscsi-initiator-utils 软件包所以不用再另外安装,直接配置就行。

FAQ:iSCSI客户端登陆认证失败

[root@p19c02 nodes]# systemctl status iscsi
● iscsi.service - Login and scanning of iSCSI devices
   Loaded: loaded (/usr/lib/systemd/system/iscsi.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 五 2023-03-17 18:00:07 CST; 2 days ago
Condition: start condition failed at 一 2023-03-20 14:57:00 CST; 19s ago
           ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes was not met
     Docs: man:iscsiadm(8)
           man:iscsid(8)
 Main PID: 95654 (code=exited, status=0/SUCCESS)

3月 17 17:56:55 p19c02 systemd[1]: Starting Login and scanning of iSCSI devices...
3月 17 17:56:55 p19c02 systemd[1]: Started Login and scanning of iSCSI devices.
3月 17 18:00:07 p19c02 systemd[1]: Stopped Login and scanning of iSCSI devices.
3月 17 18:00:07 p19c02 systemd[1]: Stopping Login and scanning of iSCSI devices...
[root@p19c02 nodes]# 

可能是之前在客户端执行指令删除退出的缓存 没有清除!!
那么安tree

# yum install tree

查看目录下的内容是否存在!

# tree /var/lib/iscsi/

会发现存在缓存!

[root@p19c02 nodes]# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
├── send_targets
│   └── 192.168.0.193,3260
│       └── st_config
├── slp
└── static

7 directories, 1 file

直接删掉 这两个目录下的所有!

# rm -rf /var/lib/iscsi/nodes/*
# rm -rf /var/lib/iscsi/send_targets/*

再查看发现没有缓存了!

# tree /var/lib/iscsi/
/var/lib/iscsi/
├── ifaces
├── isns
├── nodes
├── send_targets
├── slp
└── static

然后继续执行!

共享存储(所有rac节点)

a)通过3260端口查看开放了哪些共享存储:

# iscsiadm -m discovery -tsendtargets -p 192.168.0.194:3260
192.168.0.194:3260,1 iqn.2019-09.com.oracle:rac

#  iscsiadm -m node -T discovery -T iqn.2019-09.com.oracle:rac -p 192.168.0.194:3260
# BEGIN RECORD 6.2.0.874-22
node.name = iqn.2019-09.com.oracle:rac
node.tpgt = 1
node.startup = automatic
node.leading_login = No
iface.hwaddress = <empty>
iface.ipaddress = <empty>
iface.iscsi_ifacename = default
iface.net_ifacename = <empty>
iface.gateway = <empty>
iface.subnet_mask = <empty>
iface.transport_name = tcp
iface.initiatorname = <empty>
iface.state = <empty>
iface.vlan_id = 0
iface.vlan_priority = 0
iface.vlan_state = <empty>
iface.iface_num = 0
iface.mtu = 0
iface.port = 0
iface.bootproto = <empty>
iface.dhcp_alt_client_id_state = <empty>
iface.dhcp_alt_client_id = <empty>
iface.dhcp_dns = <empty>
iface.dhcp_learn_iqn = <empty>
iface.dhcp_req_vendor_id_state = <empty>
iface.dhcp_vendor_id_state = <empty>
iface.dhcp_vendor_id = <empty>
iface.dhcp_slp_da = <empty>
iface.fragmentation = <empty>
iface.gratuitous_arp = <empty>
iface.incoming_forwarding = <empty>
iface.tos_state = <empty>
iface.tos = 0
iface.ttl = 0
iface.delayed_ack = <empty>
iface.tcp_nagle = <empty>
iface.tcp_wsf_state = <empty>
iface.tcp_wsf = 0
iface.tcp_timer_scale = 0
iface.tcp_timestamp = <empty>
iface.redirect = <empty>
iface.def_task_mgmt_timeout = 0
iface.header_digest = <empty>
iface.data_digest = <empty>
iface.immediate_data = <empty>
iface.initial_r2t = <empty>
iface.data_seq_inorder = <empty>
iface.data_pdu_inorder = <empty>
iface.erl = 0
iface.max_receive_data_len = 0
iface.first_burst_len = 0
iface.max_outstanding_r2t = 0
iface.max_burst_len = 0
iface.chap_auth = <empty>
iface.bidi_chap = <empty>
iface.strict_login_compliance = <empty>
iface.discovery_auth = <empty>
iface.discovery_logout = <empty>
node.discovery_address = 192.168.0.193
node.discovery_port = 3260
node.discovery_type = send_targets
node.session.initial_cmdsn = 0
node.session.initial_login_retry_max = 8
node.session.xmit_thread_priority = -20
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.nr_sessions = 1
node.session.auth.authmethod = None
node.session.auth.username = <empty>
node.session.auth.password = <empty>
node.session.auth.username_in = <empty>
node.session.auth.password_in = <empty>
node.session.auth.chap_algs = MD5
node.session.timeo.replacement_timeout = 120
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 30
node.session.err_timeo.tgt_reset_timeout = 30
node.session.err_timeo.host_reset_timeout = 60
node.session.iscsi.FastAbort = Yes
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.DefaultTime2Wait = 2
node.session.iscsi.MaxConnections = 1
node.session.iscsi.MaxOutstandingR2T = 1
node.session.iscsi.ERL = 0
node.session.scan = auto
node.conn[0].address = 192.168.0.193
node.conn[0].port = 3260
node.conn[0].startup = manual
node.conn[0].tcp.window_size = 524288
node.conn[0].tcp.type_of_service = 0
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.auth_timeout = 45
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORD 

b)登录共享存储:

#    iscsiadm -m node -T iqn.2019-09.com.oracle:rac -p 192.168.0.194:3260 -l
Logging in to [iface: default, target: iqn.2019-09.com.oracle:rac, portal: 192.168.0.194,3260] (multiple)
Login to [iface: default, target: iqn.2019-09.com.oracle:rac, portal: 192.168.0.194,3260] successful.

c)探测下共享存储的目录:

[root@p19c01 share-file]# partprobe
[root@p19c01 share-file]# fdisk -l

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000afd92

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   208994303   103447552   8e  Linux LVM

磁盘 /dev/sdb:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf4fca9ac

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   83  Linux

磁盘 /dev/mapper/centos-root:101.8 GB, 101758009344 字节,198746112 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdc:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdd:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sde:4294 MB, 4294967296 字节,8388608 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/sdf:21.5 GB, 21474836480 字节,41943040 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

d)退出共享存储目录:

[root@p19c01 share-file]#  iscsiadm -m node -T iqn.2019-09.com.oracle:rac -p 192.168.0.193:3260 --logout
Logging out of session [sid: 1, target: iqn.2019-09.com.oracle:rac, portal: 192.168.0.193,3260]
Logout of [sid: 1, target: iqn.2019-09.com.oracle:rac, portal: 192.168.0.193,3260] successful.
[root@p19c01 share-file]# fdisk -l

磁盘 /dev/sda:107.4 GB, 107374182400 字节,209715200 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000afd92

   设备 Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200   208994303   103447552   8e  Linux LVM

磁盘 /dev/sdb:214.7 GB, 214748364800 字节,419430400 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xf4fca9ac

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   83  Linux

磁盘 /dev/mapper/centos-root:101.8 GB, 101758009344 字节,198746112 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘 /dev/mapper/centos-swap:4160 MB, 4160749568 字节,8126464 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

e)删除共享存储目录:

# systemctl restart iscsi.service
# iscsiadm -m node -T iqn.2019-09.com.oracle:rac -p 192.168.0.193:3260 --logout
# iscsiadm -m node -T iqn.2019-09.com.oracle:rac -p 192.168.0.193:3260 -o delete

f)重启服务并重新创建登录:

# systemctl restart iscsi.service
# iscsiadm -m discovery -t sendtargets -p 192.168.0.1930:3260
# iscsiadm -m node -T iqn.2019-09.com.oracle:rac -p 192.168.0.193:3260 -l

绑定 UDEV 共享磁盘(rac1 和 rac2)

注意:添加共享磁盘顺序要一致

1. 生成规则文件

[root@p19c01 share-file]#  touch /etc/udev/rules.d/99-oracle-asmdevices.rules; cd /etc/udev/rules.d; ll
总用量 8
-rw-r--r--. 1 root root 118 10月  1 2020 69-vdo-start-by-dev.rules
-rw-r--r--. 1 root root 628 9月  26 2019 70-persistent-ipoib.rules
-rw-r--r--  1 root root   0 3月  17 12:09 99-oracle-asmdevices.rules
[root@p19c01 rules.d]# 

2. 生成规则

没有对挂载的磁盘进行分区,执行如下shell脚本

# for i in b c d e f g;
    do
    echo "KERNEL==\"sd*\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
    done
[root@p19c02 nodes]# vim /etc/udev/rules.d/99-oracle-asmdevices.rules 
[root@p19c02 nodes]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules 
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000000000000000e00000000010001", SYMLINK+="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000000000000000e00000000010002", SYMLINK+="asm-diskc", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000000000000000e00000000010003", SYMLINK+="asm-diskd", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000000000000000e00000000010004", SYMLINK+="asm-diske", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000000000000000e00000000010005", SYMLINK+="asm-diskf", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="360000000000000000e00000000010006", SYMLINK+="asm-diskg", OWNER="grid", GROUP="asmadmin", MODE="0660"
[root@p19c02 nodes]#  

对挂载了磁盘进行了分区的,执行如下shell脚本 (不需要操作,了解就可以)

for i in b1 b2

do

echo "KERNEL==\"sd$i\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$parent\", RESULT==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd${i:0:1}\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules

done;

注意:未分区用 $name,分区用 $parent

文件 99-oracle-asmdevices.rules 格式 (不需要操作,了解就可以)

KERNEL=="sd*", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"

手动加载分区

# /sbin/partprobe /dev/sdb; /sbin/partprobe /dev/sdc; /sbin/partprobe /dev/sdd; /sbin/partprobe /dev/sde; /sbin/partprobe /dev/sdf; /sbin/partprobe /dev/sdg

备注:获取 RESULT

在 Linux 7下,可以使用如下命令(不需要操作,了解就可以)

# /usr/lib/udev/scsi_id -g -u /dev/sdb
360000000000000000e00000000010001

** 用 udevadm 进行测试**

注意: udevadm 命令不接受 /dev/sdc 这样的挂载设备名,必须是使用 /sys/block/sdb 这样的原始设备名。

# /sbin/udevadm test /sys/block/sdb; /sbin/udevadm test /sys/block/sdc; /sbin/udevadm test /sys/block/sdd; /sbin/udevadm test /sys/block/sde; /sbin/udevadm test /sys/block/sdf; /sbin/udevadm test /sys/block/sdg

# udevadm info --query=all --path=/sys/block/sdb; udevadm info --query=all --path=/sys/block/sdc; udevadm info --query=all --path=/sys/block/sdd; udevadm info --query=all --path=/sys/block/sde; udevadm info --query=all --path=/sys/block/sdf; udevadm info --query=all --path=/sys/block/sdg

# udevadm info --query=all --name=asm-diskb; udevadm info --query=all --name=asm-diskc; udevadm info --query=all --name=asm-diskd; udevadm info --query=all --name=asm-diske; udevadm info --query=all --name=asm-diskf; udevadm info --query=all --name=asm-diskg
[root@p19c01 rules.d]# /sbin/udevadm test /sys/block/sdc
calling: test
version 219
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

=== trie on-disk ===
tool version:          219
file size:         9011349 bytes
header size             80 bytes
strings            2305629 bytes
nodes              6705640 bytes
Load module index
Created link configuration context.
timestamp of '/etc/udev/rules.d' changed
Reading rules file: /usr/lib/udev/rules.d/01-md-raid-creating.rules
Reading rules file: /usr/lib/udev/rules.d/10-dm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-lvm.rules
Reading rules file: /usr/lib/udev/rules.d/11-dm-mpath.rules
Reading rules file: /usr/lib/udev/rules.d/13-dm-disk.rules
Reading rules file: /usr/lib/udev/rules.d/39-usbmuxd.rules
Reading rules file: /usr/lib/udev/rules.d/40-libgphoto2.rules
IMPORT found builtin 'usb_id --export %%p', replacing /usr/lib/udev/rules.d/40-libgphoto2.rules:11
Reading rules file: /usr/lib/udev/rules.d/40-redhat-disable-dell-ir-camera.rules
Reading rules file: /usr/lib/udev/rules.d/40-redhat-disable-lenovo-ir-camera.rules
Reading rules file: /usr/lib/udev/rules.d/40-redhat.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/42-usb-hid-pm.rules
Reading rules file: /usr/lib/udev/rules.d/50-rbd.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/56-hpmud.rules
Reading rules file: /usr/lib/udev/rules.d/60-alias-kmsg.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fprint-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-keyboard.rules
Reading rules file: /usr/lib/udev/rules.d/60-net.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-raw.rules
Reading rules file: /usr/lib/udev/rules.d/60-rdma-ndd.rules
Reading rules file: /usr/lib/udev/rules.d/60-srp_daemon.rules
Reading rules file: /usr/lib/udev/rules.d/61-accelerometer.rules
Reading rules file: /usr/lib/udev/rules.d/61-gdm.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/61-gnome-settings-daemon-rfkill.rules
Reading rules file: /usr/lib/udev/rules.d/62-multipath.rules
Reading rules file: /usr/lib/udev/rules.d/63-fc-wwpn-id.rules
Reading rules file: /usr/lib/udev/rules.d/63-md-raid-arrays.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs-dm.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/65-md-incremental.rules
Reading rules file: /usr/lib/udev/rules.d/65-sane-backends.rules
Reading rules file: /usr/lib/udev/rules.d/66-saned.rules
Reading rules file: /usr/lib/udev/rules.d/69-cd-sensors.rules
Reading rules file: /usr/lib/udev/rules.d/69-dm-lvm-metad.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/69-md-clustered-confirm-device.rules
Reading rules file: /etc/udev/rules.d/69-vdo-start-by-dev.rules
Reading rules file: /usr/lib/udev/rules.d/69-xorg-vmmouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervfcopy.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervkvp.rules
Reading rules file: /usr/lib/udev/rules.d/70-hypervvss.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /etc/udev/rules.d/70-persistent-ipoib.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-printers.rules
Reading rules file: /usr/lib/udev/rules.d/70-spice-vdagentd.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad-quirks.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/70-wacom.rules
Reading rules file: /usr/lib/udev/rules.d/71-biosdevname.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-idrac.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/75-rdma-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-tty-description.rules
Reading rules file: /usr/lib/udev/rules.d/76-phys-port-name.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-kvm.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-name-slot.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-udisks2.rules
Reading rules file: /usr/lib/udev/rules.d/81-kvm-rhel.rules
Reading rules file: /usr/lib/udev/rules.d/84-nm-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/85-nm-unmanaged.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/89-alsa-ucm.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-tools-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/90-bolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-fwupd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/90-iprutils.rules
Reading rules file: /usr/lib/udev/rules.d/90-iwpmd.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-model-quirks.rules
Reading rules file: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules
Reading rules file: /usr/lib/udev/rules.d/90-pulseaudio.rules
Reading rules file: /usr/lib/udev/rules.d/90-rdma-hw-modules.rules
Reading rules file: /usr/lib/udev/rules.d/90-rdma-ulp-modules.rules
Reading rules file: /usr/lib/udev/rules.d/90-rdma-umad.rules
Reading rules file: /usr/lib/udev/rules.d/90-spice-guest-streaming.rules
Reading rules file: /usr/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /usr/lib/udev/rules.d/91-drm-modeset.rules
Reading rules file: /usr/lib/udev/rules.d/95-cd-devices.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/95-udev-late.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-csr.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-hid.rules
Reading rules file: /usr/lib/udev/rules.d/95-upower-wup.rules
Reading rules file: /usr/lib/udev/rules.d/98-kexec.rules
Reading rules file: /usr/lib/udev/rules.d/98-rdma.rules
Reading rules file: /usr/lib/udev/rules.d/98-trace-cmd.rules
Reading rules file: /etc/udev/rules.d/99-oracle-asmdevices.rules
Reading rules file: /usr/lib/udev/rules.d/99-qemu-guest-agent.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
Reading rules file: /usr/lib/udev/rules.d/99-vmware-scsi-udev.rules
rules contain 393216 bytes tokens (32768 * 12 bytes), 43090 bytes strings
47333 strings (385785 bytes), 43294 de-duplicated (346735 bytes), 4040 trie nodes used
GROUP 6 /usr/lib/udev/rules.d/50-udev-default.rules:53
IMPORT builtin 'usb_id' /usr/lib/udev/rules.d/56-hpmud.rules:10
unable to access usb_interface device of '/sys/devices/platform/host36/session4/target36:0:0/36:0:0:1/block/sdc'
IMPORT builtin 'usb_id' returned non-zero
IMPORT 'scsi_id --export --whitelisted -d /dev/sdc' /usr/lib/udev/rules.d/60-persistent-storage.rules:53
starting 'scsi_id --export --whitelisted -d /dev/sdc'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_SCSI=1'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_VENDOR=IET'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_VENDOR_ENC=IET\x20\x20\x20\x20\x20'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_MODEL=VIRTUAL-DISK'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_MODEL_ENC=VIRTUAL-DISK'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_REVISION=0001'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_TYPE=disk'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_SERIAL=360000000000000000e00000000010001'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_SERIAL_SHORT=60000000000000000e00000000010001'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_WWN=0x6000000000000000'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_WWN_VENDOR_EXTENSION=0x0e00000000010001'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_WWN_WITH_EXTENSION=0x60000000000000000e00000000010001'
'scsi_id --export --whitelisted -d /dev/sdc'(out) 'ID_SCSI_SERIAL=                              beaf11'
'scsi_id --export --whitelisted -d /dev/sdc' [113887] exit with return code 0
LINK 'disk/by-id/scsi-360000000000000000e00000000010001' /usr/lib/udev/rules.d/60-persistent-storage.rules:55
IMPORT builtin 'path_id' /usr/lib/udev/rules.d/60-persistent-storage.rules:68
LINK 'disk/by-path/ip-192.168.0.193:3260-iscsi-iqn.2019-09.com.oracle:rac-lun-1' /usr/lib/udev/rules.d/60-persistent-storage.rules:69
IMPORT builtin 'blkid' /usr/lib/udev/rules.d/60-persistent-storage.rules:89
probe /dev/sdc raid offset=0
LINK 'disk/by-id/wwn-0x60000000000000000e00000000010001' /usr/lib/udev/rules.d/60-persistent-storage.rules:99
IMPORT 'fc_wwpn_id /devices/platform/host36/session4/target36:0:0/36:0:0:1/block/sdc' /usr/lib/udev/rules.d/63-fc-wwpn-id.rules:8
starting 'fc_wwpn_id /devices/platform/host36/session4/target36:0:0/36:0:0:1/block/sdc'
'fc_wwpn_id /devices/platform/host36/session4/target36:0:0/36:0:0:1/block/sdc' [113888] exit with return code 0
no db file to read /run/udev/data/+scsi:36:0:0:1: No such file or directory
PROGRAM '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' /etc/udev/rules.d/99-oracle-asmdevices.rules:1
starting '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'(out) '360000000000000000e00000000010001'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' [113890] exit with return code 0
OWNER 11012 /etc/udev/rules.d/99-oracle-asmdevices.rules:1
GROUP 54329 /etc/udev/rules.d/99-oracle-asmdevices.rules:1
MODE 0660 /etc/udev/rules.d/99-oracle-asmdevices.rules:1
LINK 'asm-diskc' /etc/udev/rules.d/99-oracle-asmdevices.rules:1
PROGRAM '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' /etc/udev/rules.d/99-oracle-asmdevices.rules:2
starting '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'(out) '360000000000000000e00000000010001'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' [113891] exit with return code 0
PROGRAM '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' /etc/udev/rules.d/99-oracle-asmdevices.rules:3
starting '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'(out) '360000000000000000e00000000010001'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' [113892] exit with return code 0
PROGRAM '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' /etc/udev/rules.d/99-oracle-asmdevices.rules:4
starting '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'(out) '360000000000000000e00000000010001'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' [113893] exit with return code 0
PROGRAM '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' /etc/udev/rules.d/99-oracle-asmdevices.rules:5
starting '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'(out) '360000000000000000e00000000010001'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' [113894] exit with return code 0
PROGRAM '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' /etc/udev/rules.d/99-oracle-asmdevices.rules:6
starting '/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc'(out) '360000000000000000e00000000010001'
'/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc' [113895] exit with return code 0
handling device node '/dev/sdc', devnum=b8:32, mode=0660, uid=11012, gid=54329
preserve permissions /dev/sdc, 060660, uid=11012, gid=54329
preserve already existing symlink '/dev/block/8:32' to '../sdc'
found 'b8:32' claiming '/run/udev/links/\x2fasm-diskc'
creating link '/dev/asm-diskc' to '/dev/sdc'
preserve already existing symlink '/dev/asm-diskc' to 'sdc'
found 'b8:32' claiming '/run/udev/links/\x2fdisk\x2fby-id\x2fscsi-360000000000000000e00000000010001'
creating link '/dev/disk/by-id/scsi-360000000000000000e00000000010001' to '/dev/sdc'
preserve already existing symlink '/dev/disk/by-id/scsi-360000000000000000e00000000010001' to '../../sdc'
found 'b8:32' claiming '/run/udev/links/\x2fdisk\x2fby-id\x2fwwn-0x60000000000000000e00000000010001'
creating link '/dev/disk/by-id/wwn-0x60000000000000000e00000000010001' to '/dev/sdc'
preserve already existing symlink '/dev/disk/by-id/wwn-0x60000000000000000e00000000010001' to '../../sdc'
found 'b8:32' claiming '/run/udev/links/\x2fdisk\x2fby-path\x2fip-192.168.0.193:3260-iscsi-iqn.2019-09.com.oracle:rac-lun-1'
creating link '/dev/disk/by-path/ip-192.168.0.193:3260-iscsi-iqn.2019-09.com.oracle:rac-lun-1' to '/dev/sdc'
preserve already existing symlink '/dev/disk/by-path/ip-192.168.0.193:3260-iscsi-iqn.2019-09.com.oracle:rac-lun-1' to '../../sdc'
created db file '/run/udev/data/b8:32' for '/devices/platform/host36/session4/target36:0:0/36:0:0:1/block/sdc'
.ID_FS_TYPE_NEW=
ACTION=add
DEVLINKS=/dev/asm-diskc /dev/disk/by-id/scsi-360000000000000000e00000000010001 /dev/disk/by-id/wwn-0x60000000000000000e00000000010001 /dev/disk/by-path/ip-192.168.0.193:3260-iscsi-iqn.2019-09.com.oracle:rac-lun-1
DEVNAME=/dev/sdc
DEVPATH=/devices/platform/host36/session4/target36:0:0/36:0:0:1/block/sdc
DEVTYPE=disk
ID_BUS=scsi
ID_FS_TYPE=
ID_MODEL=VIRTUAL-DISK
ID_MODEL_ENC=VIRTUAL-DISK
ID_PATH=ip-192.168.0.193:3260-iscsi-iqn.2019-09.com.oracle:rac-lun-1
ID_PATH_TAG=ip-192_168_0_193_3260-iscsi-iqn_2019-09_com_oracle_rac-lun-1
ID_REVISION=0001
ID_SCSI=1
ID_SCSI_SERIAL=beaf11
ID_SERIAL=360000000000000000e00000000010001
ID_SERIAL_SHORT=60000000000000000e00000000010001
ID_TYPE=disk
ID_VENDOR=IET
ID_VENDOR_ENC=IET\x20\x20\x20\x20\x20
ID_WWN=0x6000000000000000
ID_WWN_VENDOR_EXTENSION=0x0e00000000010001
ID_WWN_WITH_EXTENSION=0x60000000000000000e00000000010001
MAJOR=8
MINOR=32
MPATH_SBIN_PATH=/sbin
SUBSYSTEM=block
TAGS=:systemd:
USEC_INITIALIZED=11689470823
Unload module index
Unloaded link configuration context.
[root@p19c01 rules.d]# 

启动udev

# /sbin/udevadm control --reload-rules
# systemctl status systemd-udevd.service
# systemctl enable systemd-udevd.service  
[root@p19c02 nodes]# systemctl status systemd-udevd.service 
● systemd-udevd.service - udev Kernel Device Manager
   Loaded: loaded (/usr/lib/systemd/system/systemd-udevd.service; static; vendor preset: disabled)
   Active: active (running) since 一 2023-02-27 16:05:00 CST; 2 weeks 6 days ago
     Docs: man:systemd-udevd.service(8)
           man:udev(7)
 Main PID: 688 (systemd-udevd)
   Status: "Processing with 24 children at max"
    Tasks: 1
   Memory: 22.5M
   CGroup: /system.slice/systemd-udevd.service
           └─688 /usr/lib/systemd/systemd-udevd

2月 27 16:04:59 p19c02 systemd[1]: Starting udev Kernel Device Manager...
2月 27 16:04:59 p19c02 systemd-udevd[688]: starting version 219
2月 27 16:05:00 p19c02 systemd[1]: Started udev Kernel Device Manager.
2月 27 16:05:01 p19c02 systemd-udevd[701]: could not read from '/sys/module/acpi_cpufreq/initstate': No such device
2月 27 16:05:01 p19c02 systemd-udevd[724]: could not read from '/sys/module/acpi_cpufreq/initstate': No such device
2月 27 16:05:02 p19c02 mtp-probe[831]: checking bus 2, device 2: "/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-1"
2月 27 16:05:02 p19c02 mtp-probe[831]: bus: 2, device: 2 was not an MTP device
[root@p19c02 nodes]# systemctl enable systemd-udevd.service

忽略上面的could not read from

检查设备是否正确绑定

[root@p19c01 rules.d]#  ll /dev/asm*
lrwxrwxrwx 1 root root 3 3月  20 15:43 /dev/asm-diskc -> sdc
lrwxrwxrwx 1 root root 3 3月  20 15:43 /dev/asm-diskd -> sdd
lrwxrwxrwx 1 root root 3 3月  20 15:43 /dev/asm-diske -> sde
lrwxrwxrwx 1 root root 3 3月  20 15:43 /dev/asm-diskf -> sdf
lrwxrwxrwx 1 root root 3 3月  20 15:43 /dev/asm-diskg -> sdg
lrwxrwxrwx 1 root root 3 3月  20 15:43 /dev/asm-diskh -> sdh
[root@p19c02 rules.d]# ll /dev/sd*
brw-rw---- 1 root disk     8,  0 3月  21 19:38 /dev/sda
brw-rw---- 1 root disk     8,  1 3月  21 19:38 /dev/sda1
brw-rw---- 1 root disk     8,  2 3月  21 19:38 /dev/sda2
brw-rw---- 1 grid asmadmin 8, 16 3月  21 19:50 /dev/sdb
brw-rw---- 1 grid asmadmin 8, 32 3月  21 19:50 /dev/sdc
brw-rw---- 1 grid asmadmin 8, 48 3月  21 19:50 /dev/sdd
brw-rw---- 1 grid asmadmin 8, 64 3月  21 19:50 /dev/sde
brw-rw---- 1 grid asmadmin 8, 80 3月  21 19:50 /dev/sdf
brw-rw---- 1 grid asmadmin 8, 96 3月  21 19:50 /dev/sdg