首页 > 代码库 > Linux 6上使用UDEV绑定共享存储

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

1.硬盘的查看方式;
2.获得硬盘SCSI(Small Computer System Interface)ID;
3.绑定共享存储;
4.绑定共享存储的脚本;

 

1.硬盘的查看方式:

[root@cl6-11gr2-rac1 ~]# ls -ltr /dev/sd*brw-rw----. 1 root disk 8, 48 8月  16 13:34 /dev/sddbrw-rw----. 1 root disk 8, 16 8月  16 13:34 /dev/sdbbrw-rw----. 1 root disk 8, 32 8月  16 13:34 /dev/sdcbrw-rw----. 1 root disk 8, 80 8月  16 13:34 /dev/sdfbrw-rw----. 1 root disk 8, 64 8月  16 13:34 /dev/sdebrw-rw----. 1 root disk 8,  0 8月  16 13:34 /dev/sdabrw-rw----. 1 root disk 8,  4 8月  16 13:34 /dev/sda4brw-rw----. 1 root disk 8,  8 8月  16 13:34 /dev/sda8brw-rw----. 1 root disk 8,  9 8月  16 13:34 /dev/sda9brw-rw----. 1 root disk 8,  1 8月  16 13:34 /dev/sda1brw-rw----. 1 root disk 8,  6 8月  16 13:34 /dev/sda6brw-rw----. 1 root disk 8,  3 8月  16 13:34 /dev/sda3brw-rw----. 1 root disk 8,  2 8月  16 13:34 /dev/sda2brw-rw----. 1 root disk 8,  7 8月  16 13:34 /dev/sda7brw-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 -hTFilesystem     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/sdb1ATA_VBOX_HARDDISK_VBf1082ced-38c590fb[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc1ATA_VBOX_HARDDISK_VBcb889b15-45566527[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdd1ATA_VBOX_HARDDISK_VB91e00a0b-5bc96a2b[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sde1ATA_VBOX_HARDDISK_VBe9eca0fb-a99c152d[root@cl6-11gr2-rac1 ~]# /sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sdf1ATA_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-diskcbrw-rw----. 1 grid asmadmin 8, 16 8月  17 15:27 /dev/asm-diskbbrw-rw----. 1 grid asmadmin 8, 48 8月  17 15:27 /dev/asm-diskd

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

for i in b c d e f g ;doecho "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.rulesdone;

例如:只有/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