【场景说明】
操作系统:centos7
操作:安装DMDSC集群,绑定裸设备,执行start_udev
【报错说明】
-bash: start_udev: command not found
[root@loaclhost ~]# cat >/etc/udev/rules.d/60-raw.rules <<-EOF
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="raw[1-4]", OWNER="root", GROUP="root", MODE="660"
EOF
[root@loaclhost ~]# partprobe
-bash: start_udev: command not found
【问题处理】
重启UDEV相关的服务,也可以选择重启操作系统
# 查看系统当前可查到的裸设备
[root@loaclhost ~]# ls -ltr /dev/raw/
total 0
crw-rw----. 1 root disk 162, 0 May 11 2022 rawctl
# 查看系统中与UDEV相关的服务
[root@loaclhost ~]# ls -ltr /usr/lib/systemd/system/ | grep udev
-rw-r--r--. 1 root root 751 Oct 1 2020 systemd-udev-trigger.service
-rw-r--r--. 1 root root 827 Oct 1 2020 systemd-udev-settle.service
-rw-r--r--. 1 root root 812 Oct 1 2020 systemd-udevd.service
-rw-r--r--. 1 root root 570 Oct 1 2020 systemd-udevd-kernel.socket
-rw-r--r--. 1 root root 595 Oct 1 2020 systemd-udevd-control.socket
-rw-r--r--. 1 root root 668 Oct 1 2020 initrd-udevadm-cleanup-db.service
lrwxrwxrwx. 1 root root 56 May 11 2022 dracut-pre-udev.service -> ../../dracut/modules.d/98systemd/dracut-pre-udev.service
# 前五个服务说明如下
systemd-udev-settle.service loaded active exited udev Wait for Complete Device Initialization
systemd-udev-trigger.service loaded active exited udev Coldplug all Devices
systemd-udevd.service loaded active running udev Kernel Device Manager
systemd-udevd-control.socket loaded active running udev Control Socket
systemd-udevd-kernel.socket loaded active running udev Kernel Socket
在这里,解决我们上面即时应用RAW策略的问题的相关服务是:systemd-udev-trigger.service
以下是从网上搜索到的可能有效的方法,可以尝试一下:
# 方式1
systemctl restart systemd-udev-trigger.service
# 方式2
/sbin/udevadm trigger --type=devices --action=change
udevadm trigger
【最终绝对有效解决方案】
配置完udev rule规则文件后,重启服务器
附:友情链接链接:
达梦技术社区:https://eco.dameng.com