在实际项目中遇到的一个小细节:
开机自动挂载可以放在/etc/fstab,也可以放在/etc/rc.d/rc.local。如果你的程序依赖于NFS,应当放到fstab。会在程序启动前加载上NFS文件系统, 放到rc.local里往往造成程序启动加载时找不到路径。fstab 开机先加载,rc.local 后加载。
在CentOS 7中,在fstab中添加了自动挂载NFS的配置,但是系统启动后没有成功挂载,解决方法:
1.先确保CentOS 7中的rc.local系统启动时可以自动运行
->需要确保该文件有可执行的权限
->/etc/rc.local是个软链接,所链接的实际文件是/ect/rc.d/rc.local,CentOS 7中默认没有执行权限
->所以此处要去给/etc/rc.d/rc.local添加可执行权限:
chmod +x /etc/rc.d/rc.local
2.然后再给/etc/rc.local中最后添加一行:
mount -a
其中-a参数的含义是:
-a, –all mount all filesystems mentioned in fstab
如此,系统启动后,就会运行/etc/rc.local,然后就会执行到
mount -a
即执行fstab中的所有项,最终执行到NFS的mount。
参考资料:
https://www.crifan.com/centos_7_fstab_add_auto_mount_but_fail_to_run_nfs/