前言
Linux服务器挂载存储设备需要使用mount,因为服务器的存储通常是固定的,很少存在频繁的插拔USB存储设备的现象 ,使用Linux系统本身是没有较为简单的自动挂载存储设备的方法的。
涉及知识点
udev
udev可以监测USB设备的插入、拔出事件,并且Linux系统支持通过/etc/udev/rules.d/下的.rules文件对USB事件触发关联的动作,比如手动执行命令:mount /dev/sda1 /media/sda1时,.rules文件的内容如下:
ACTION=="add", KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", RUN+="mount /dev/%k /media/%k"
或者不直接调用后台命令,而是调用shell脚本也行:
ACTION=="add", KERNEL=="sd[a-z][0-9]", SUBSYSTEMS=="usb", RUN+="/usr/local/bin/usb-mount.sh %k"
但是,以上的rules文件再mount的时候,挂载失败,原因是udev是systemd-udev调用的,直接使用mount命令是无效的,如果把mount改成systemd-mount,某些系统也mount不成功。
system服务
系统级的服务进行的mount挂载肯定是成功的