使用共享存储时,如果共享存储提供了多个硬盘,这些不同的硬盘映射到系统设备中是,名称有时候是随机的,或者说不固定的。但实际使用场景中,通常需要固定的映射,如某个硬盘一定要映射为/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下面对应的命令:udevad