linux下控制共享存储硬盘映射的名称

来源:互联网 发布:一般淘宝上的充气娃娃 编辑:程序博客网 时间:2024/05/21 19:39

使用共享存储时,如果共享存储提供了多个硬盘,这些不同的硬盘映射到系统设备中是,名称有时候是随机的,或者说不固定的。但实际使用场景中,通常需要固定的映射,如某个硬盘一定要映射为/dev/sdb,而不是/dev/sdc。尤其是在主备切换到环境下,这种绑定关系更是必须一一对应,否则共享存储上面的内容会与实际挂载点不对应的,从而导致对应的业务无法正常启动。

如何控制这种映射关系呢?

可以通过udev的配置规则文件来控制。

查看/etc/udev/rules.d下面,有很多配置文件,这些配置文件控制了各种映射关系。

针对共享存储,我们可以根据自己的需要,创建自己的映射关系。

如下:

KERNEL=="sd*", ENV{ID_SERIAL}=="1IET_00010001", NAME:="sdb%n", MODE:="0644", SYMLINK+="oradata%n"
KERNEL=="sd*", ENV{ID_SERIAL}=="1IET_00020001", NAME:="sdc%n", MODE:="0644", SYMLINK+="pic%n"


从上面的配置中可以看出,首先要知道映射设备的唯一标识,如共享存储对应的唯一标识。

通过命令,可以查看共享存储的唯一标识:

Redhat和CentOS下面对应命令:udevinfo

SUSE下面对应的命令:udevadm

如在SUSU下面查看/dev/sdb的标识:

udevadm info -q env -n /dev/sdb

UDEV_LOG=3
DEVPATH=/devices/platform/host8/session5/target8:0:0/8:0:0:1/block/sdb
MAJOR=8
MINOR=16
DEVNAME=/dev/sdb
DEVTYPE=disk
SUBSYSTEM=block
ID_SCSI=1
ID_SCSI_VPD=0x83
ID_VENDOR=IET
ID_VENDOR_ENC=IET\x20\x20\x20\x20\x20
ID_MODEL=VIRTUAL-DISK
ID_MODEL_ENC=VIRTUAL-DISK
ID_REVISION=0001
ID_TYPE=disk
ID_SERIAL=1IET_00010001
ID_SERIAL_SHORT=IET_00010001
ID_WWN=0xIET     00010001
ID_WWN_WITH_EXTENSION=0xIET     00010001
ID_SCSI_SERIAL=beaf11
ID_BUS=scsi
ID_PATH=ip-10.10.1.196:3260-iscsi-iqn.2016-08.cn.storate:target00-lun-1
ID_FS_UUID=r3WYBs-28dL-W4Bp-dbeo-BozV-rvA1-dFzQEj
ID_FS_UUID_ENC=r3WYBs-28dL-W4Bp-dbeo-BozV-rvA1-dFzQEj
ID_FS_VERSION=LVM2\x20001
ID_FS_TYPE=LVM2_member
ID_FS_USAGE=raid
COLLECT=1
DEVLINKS=/dev/block/8:16 /dev/disk/by-id/scsi-1IET_00010001 /dev/disk/by-path/ip-10.10.1.196:3260-iscsi-iqn.2016-08.cn.storate:target00-lun-1 /dev/disk/by-id/wwn-0xIET /dev/00010001 /dev/disk/by-id/lvm2-pvuuid-r3WYBs-28dL-W4Bp-dbeo-BozV-rvA1-dFzQEj /dev/oradata


"ID_SERIAL"后面的值就是我们做映射绑定所需要的唯一标识:1IET_00010001

有了唯一标识,我们就可以通过创建自己的映射关系规则文件来绑定映射,如我们创建文件:75-persist-iscsi.rules,内容如下:

KERNEL=="sd*", ENV{ID_SERIAL}=="1IET_00010001", NAME:="sdb%n", MODE:="0644", SYMLINK+="oradata%n"
KERNEL=="sd*", ENV{ID_SERIAL}=="1IET_00020001", NAME:="sdc%n", MODE:="0644", SYMLINK+="pic%n"


“1IET_00010001”标识的共享存储会固定映射为/dev/sdb,“1IET_00020001”标识的共享存储会自动映射为/dev/sdc。


只要重新连接共享存储服务,即可刷新映射关系。


0 0