Linux上自动挂载磁盘的几种方法
一、前言
我们添加磁盘后,一般都想让磁盘在重启系统后能自动挂载。 自动挂载的方法有好几种,可根据实际情况来使用,各有各的优势,也有一些需要注意的地方。
二、写进fstab
把磁盘挂载信息写进fstab文件中,一般是最先想到的方法。 只要把正确的格式写入进/etc/fstab文件中,这个磁盘就会在开机时自动挂载。
fstab文件中的格式:
磁盘路径 挂载的目录 磁盘格式 挂载的参数 是否允许备份 开机是否fsck检测磁盘
一般我们最常用的配置类似这样:
/dev/vg01/lv00 /mnt xfs defaults 0 0
意思是/dev/vg01/lv00这个LVM分区挂载在/mnt目录上,磁盘格式为xfs,使用的是默认的defaults挂载参数,0表示不备份磁盘,0表示开机不检测磁盘。
三、写进rc.local
虽然有了/etc/fstab这种自动挂载方式,但在一些场合下,我们还需要用rc.local这种方式。 一般我们写入到/etc/fstab这里的挂载磁盘,是服务器自带的磁盘,是一般不会出问题的磁盘,也是需要从一开机就从底层开始启动的磁盘。 但也有一些我们不能保证是正常在用的磁盘,比如NFS远程磁盘、光驱磁盘等,这些磁盘都是有可能失效的,如果写进/etc/fstab中,一旦失效后重启,系统就可能卡住,这不是我们想看到的。
写进rc.local很简单,就是把mount命令写进去即可。
mount -t 磁盘格式 磁盘分区 挂载的目录
如
mount -t xfs /dev/vg01/lv00 /mnt
也可以加上-o参数,带上一些挂载参数,但一般不用写。
注意,如果是CentOS7系统,需要先给/etc/rc.local授予执行权限。
# chmod +x /etc/rc.local
四、autofs
autofs是Linux上一种能根据文件动态挂载磁盘的一个工具。
先安装autofs工具
# yum install autofs
启动autofs服务
# systemctl enable autofs
# systemctl start autofs
主要配置文件/etc/auto.master。
一般我们不会把挂载的详细信息都写入到auto.master文件,而是会指向子配置文件,再把详细的挂载信息写在子配置文件中。
auto.master格式有两种方式:
一种是使用相对路径:
挂载目录的上层目录 子配置文件
子配置文件格式:
要挂载目录 [-挂载参数] 服务器所提供的目录
一种是使用绝对路径
子配置文件格式:
要挂载目录的绝对完整路径 [-挂载参数] 服务器所提供的目录
我们现在把/dev/mapper/vg01-lv00挂载到/mnt目录上,来看看怎么配置。
先配置/etc/auto.master,由于使用的是根目录下的一个目录,所以我们这里使用绝对路径方法。
/- /etc/auto.mnt
新建子配置文件/etc/auto.mnt,把详细的挂载信息写进去。
# vim /etc/auto.mnt
/mnt -fstype=xfs,rw :/dev/mapper/vg01-lv00
配置完成后,重载autofs服务。
# systemctl reload autofs
重载服务后,使用df -h命令查看时,还看不到有挂载的,需要使用cd命令切换到/mnt目录里,也就是对/mnt这个目录读写时,才会显示出来挂载信息,这也是autofs挂载磁盘的特点。
五、注意事项
1、不要什么磁盘挂载都放到/etc/fstab中。像nfs、光驱这种挂载最好放到/etc/rc.local中。 2、如果是CentOS7系统,使用/etc/rc.local前,需要先给/etc/rc.local授予执行权限:chmod +x /etc/rc.local 3、autofs挂载的目录,需要进行读写时才会显示出来