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挂载的目录,需要进行读写时才会显示出来