Linux 6上使用UDEV绑定共享存储

1.硬盘的查看方式

[root@cl6-11gr2-rac1 ~]# ls -ltr /dev/sd*
brw-rw----. 1 root disk 8, 48 8月  16 13:34 /dev/sdd
brw-rw----. 1 root disk 8, 16 8月  16 13:34 /dev/sdb
brw-rw----. 1 root disk 8, 32 8月  16 13:34 /dev/sdc
brw-rw----. 1 root disk 8, 80 8月  16 13:34 /dev/sdf
brw-rw----. 1 root disk 8, 64 8月  16 13:34 /dev/sde
brw-rw----. 1 root disk 8,  0 8月  16 13:34 /dev/sda
brw-rw----. 1 root disk 8,  4 8月  16 13:34 /dev/sda4
brw-rw----. 1 root disk 8,  8 8月  16 13:34 /dev/sda8
brw-rw----. 1 root disk 8,  9 8月  16 13:34 /dev/sda9
brw-rw----. 1 root disk 8,  1 8月  16 13:34 /dev/sda1
brw-rw----. 1 root disk 8,  6 8月  16 13:34 /dev/sda6
brw-rw----. 1 root disk 8,  3 8月  16 13:34 /dev/sda3
brw-rw----. 1 root disk 8,  2 8月  16 13:34 /dev/sda2
brw-rw----. 1 root disk 8,  7 8月  16 13:34 /dev/sda7
brw-rw----. 1 root disk 8,  5 8月  16 13:34 /dev/sda5

sda 代表本地硬盘,sda1,2,3,6..代表本地硬盘上的分区,sdb..f 代表非本地硬盘,具体硬盘分区是否挂载到系统中,可以使用df 命令查询:

[root@cl6-11gr2-rac1 ~]# df -hT
Filesystem     Type   Size  Used Avail Use% Mounted on
/dev/sda9      ext4    62G  551M   58G   1% /
tmpfs          tmpfs  499M     0  499M   0% /dev/shm
/dev/sda1      ext4   291M   56M  220M  21% /boot
/dev/sda6      ext4   5.1G  139M  4.7G   3% /home
/dev/sda3      ext4   5.1G  161M  4.7G   4% /opt
/dev/sda2      ext4    15G  2.9G   12G  21% /usr
/dev/sda7      ext4   5.1G  139M  4.7G   3% /usr/local
/dev/sda5      ext4   5.1G  611M  4.2G  13% /var

2.获得硬盘SCSI(Small Computer System Interface)ID

SCSI 是一种标准的计算机和外围设备之间的物理连接和传输数据接口,SCSI 定义标准的命令、协议和电气光学接口用于硬盘和磁带设备,配置共享存储时需要通过SCSI ID绑定设备到系统中,以下操作获取我本机中共享存储的SCSI ID:

[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
1ATA_VBOX_HARDDISK_VBf1082ced-38c590fb
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
1ATA_VBOX_HARDDISK_VBcb889b15-45566527
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd
1ATA_VBOX_HARDDISK_VB91e00a0b-5bc96a2b
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sde
1ATA_VBOX_HARDDISK_VBe9eca0fb-a99c152d
[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdf
1ATA_VBOX_HARDDISK_VB414d8bfa-0256c987

3.绑定共享存储

建立 rules 文件(注意格式)/etc/udev/rules.d/99-oracle-asmdevices.rules,每一个条目对应一个磁盘设备,PROGRAM 定义UDEV设备名称;NAME 定义UDEV设备链接名称,该名称将在/dev/目录下显示;RESULT 定义设备的SCSI ID;OWNER 定义设备的所有者;GROUP 定义设备所有者的用户组:

KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBf1082ced-38c590fb",NAME="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBcb889b15-45566527",NAME="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="//sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB91e00a0b-5bc96a2b",NAME="asm-diskd",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VBe9eca0fb-a99c152d",NAME="asm-diske",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*", BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="1ATA_VBOX_HARDDISK_VB414d8bfa-0256c987",NAME="asm-diskf",OWNER="grid",GROUP="asmadmin",MODE="0660"

重启UDEV:

[root@cl6-11gr2-rac2 ~]# /sbin/start_udev 

查看绑定后的共享存储:

[root@cl6-11gr2-rac2 ~]# ls -ltr /dev/asm*
brw-rw----. 1 grid asmadmin 8, 32 8月  17 15:27 /dev/asm-diskc
brw-rw----. 1 grid asmadmin 8, 16 8月  17 15:27 /dev/asm-diskb
brw-rw----. 1 grid asmadmin 8, 48 8月  17 15:27 /dev/asm-diskd

4.绑定共享存储的脚本

以上是绑定共享存储的过程,目的是了解如何做,如果配置完成后没有查看到共享存储,请仔细检查配置,任何配置出错都会导致UDEV启动失败;以下脚本是自动配置共享存储的脚本,
使用时根据实际情况修改:

for i in b c d e f g ;
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""  >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done;

例如:只有/dev/sdc,/dev/sdd 时,将脚本 for i in b c d e f g 修改为 for i in c d 即可;
最后重启UDEV:

[root@cl6-11gr2-rac2 ~]# /sbin/start_udev 
原文地址:https://www.cnblogs.com/lanston/p/3917936.html