记一次磁盘挂载问题的排查

背景:

近期购买的阿里云的centos7.4系统的ecs,写在/etc/rc.local里面的挂载规则在重启后经常不生效,遂追查一下原因。

资料:

度娘找了很多资料,大都是说mount命令没有写绝对路径,系统环境变量未完全初始化之类的,要先source 一下/etc/profile,或者将挂载命令写到脚本里去执行,但是我都感觉和我遇到的情况不相符,因为之前很多机器都是这样去写的,挂载也没什么问题,为什么新创建的机器就出问题了呢?

解决:

最后,无奈我又去读了rc.local里面的内容:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
 
 翻译:

#这个文件是为了兼容性的问题而添加的。
#强烈建议创建自己的systemd服务或udev规则来在开机时运行脚本而不是使用这个文件。
#与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#请记住,你必须执行“chmod +x /etc/rc.d/rc.local”来确保确保这个脚本在引导时执行。

不知道大家有没有恍然大悟,仿佛天灵盖开了一扇窗一样,我赶紧去确认了一下rc.local和rc.d/rc.local的权限,发现后者没有了执行权限,添加权限后,重启,挂载可正常生效。

总结:

rc.local执行确实是比较靠前,可能在系统启动初期就会去读这个配置,或许会因此导致某些服务没起,配置已经读完而无法生效的情况,这个在以后的实际运用中还要注意;而且也因为执行比较靠前,有系统环境变量不生效的情况也就很正常了,这个后面也要注意这一点。不过此次遇到的情况就是在centos7.4的版本里面,默认/etc/rc.d/rc.local文件的可执行权限是没有的,如果需要使用这个还是要自己手动去加一下权限。随着版本的变迁,我们也体会到了centos7已渐渐的将此项配置边缘化,可能最后会走上弃用的道路,所以还是尽量不适用这个吧。对于磁盘挂载,还是更推荐将规则写在fstab里面会比较好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值