在
linux6
版本的操作系统中,配完
udev
配置文件后,通过
start_udev
重新加载
udev
配置文件即可实现
udev
绑定磁盘持久化,但是在
linux7
系统中,已经丢弃
start_udev
命令,如下提示找不到命令:
[root@qsyxdb2 ~]# start_udev
bash: start_udev: 未找到命令...
[root@qsyxdb2 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)
在
linux7
系统中,虽然没有了
start_udev
命令,但是
linux7
提供了更加强大完善的
udev
管理使用工具,即
udevadm
,如下所示使用
udevadm
的帮助信息。
[root@qsyxdb2 ~]# udevadm -help
udevadm [--help] [--version] [--debug] COMMAND [COMMAND OPTIONS]
Send control commands or test the device manager.
Commands:
info Query sysfs or the udev database
trigger Request events from the kernel
settle Wait for pending udev events
control Control the udev daemon
monitor Listen to kernel and udev events
test Test an event run
test-builtin Test a built-in command
[root@qsyxdb2 ~]#
通过
help
信息可以一层一层查看详细使用方法及对应的功能作用,各位看官可根据爱好自行研究。
那么在
linux7
中该如何通过
udev
实现持久化呢。如下配置完
udev
后需要执行
udevadm trigger --type=devices --action=change
或者
udevadm control --reload
或者
udevadm control
-R
使配置文件生效。如下所示:
[root@qsyxdb2 ~]# cat /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3600000e00d2a0000002a065a000b0000", RUN+="/bin/sh -c 'mknod /dev/asmdiskb b
$major $minor; chown grid:asmadmin /dev/asmdiskb; chmod 0660 /dev/asmdiskb'"KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3600000e00d2a0000002a065a000c0000", RUN+="/bin/sh -c 'mknod /dev/asmdiskc b
$major $minor; chown grid:asmadmin /dev/asmdiskc; chmod 0660 /dev/asmdiskc'"KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3600000e00d2a0000002a065a000d0000", RUN+="/bin/sh -c 'mknod /dev/asmdiskd b
$major $minor; chown grid:asmadmin /dev/asmdiskd; chmod 0660 /dev/asmdiskd'"KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3600000e00d2a0000002a065a00110000", RUN+="/bin/sh -c 'mknod /dev/asmdiske b
$major $minor; chown grid:asmadmin /dev/asmdiske; chmod 0660 /dev/asmdiske'"KERNEL=="sd*",ENV{DEVTYPE}=="disk",SUBSYSTEM=="block",PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",RESULT=="3600000e00d2a0000002a065a00120000", RUN+="/bin/sh -c 'mknod /dev/asmdiskf b
$major $minor; chown grid:asmadmin /dev/asmdiskf; chmod 0660 /dev/asmdiskf'"[root@qsyxdb2 ~]#
[root@qsyxdb2 ~]# /sbin/udevadm trigger --type=devices --action=change
[root@qsyxdb2 ~]# ll /dev/asmdisk*
brw-rw---- 1 grid asmadmin 8, 16 8月 16 15:35 /dev/asmdiskb
brw-rw---- 1 grid asmadmin 8, 32 8月 16 15:35 /dev/asmdiskc
brw-rw---- 1 grid asmadmin 8, 48 8月 16 15:35 /dev/asmdiskd
brw-rw---- 1 grid asmadmin 8, 64 8月 16 15:35 /dev/asmdiske
brw-rw---- 1 grid asmadmin 8, 80 8月 16 15:35 /dev/asmdiskf
如果结果未生效,那么就通过检查配置文件,确保配置文件配置正确,最后还是不能生效,只能放大招了:重启系统。