Linux系统开机自动挂载文件fstab介绍

时间:2022-07-25
本文章向大家介绍Linux系统开机自动挂载文件fstab介绍,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Linux系统开机自动挂载文件fstab介绍

一、fstab简介

fstab文件中包含了各种各样的文件系统描述信息,它可以被特殊的工具修改,fstab中每一个文件系统描述占一行,每一行是TAB或空格分隔。

二、fstab文件内容介绍

[root@Centos ~]# cat /etc/fstab 
# /etc/fstab
# Created by anaconda on Sun Aug  7 05:42:06 2016
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/VolGroup-lv_root /                                      ext4    defaults    1 1
UUID=4eff9bdb-7e0b-4d25-8931-dc776537bc73  /boot  ext4   defaults   1 2
/dev/mapper/VolGroup-lv_home /home         ext4    defaults        1 2
/dev/mapper/VolGroup-lv_swap swap           swap    defaults       0 0
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                       sysfs     defaults        0 0
proc                    /proc                      proc      defaults        0 0

第一列需要挂载的设备(/dev/sda)或远程文件系统(nfs)

第二列是文件系统的挂载点

第三列是需要挂载的文件系统

第四列挂载所需带有参数

async 此参数表明所涉及的文件系统I/O都是异步处理,不会同步写入磁盘能提高性能,生产环境一般不用

atime 此参数表明在每一次数据访问时,同步更新每次的访问的inode时间,是默认参数,实际生产环境中高并发情况不建议使用

auto 能够被自动挂载通过-a 选项

defaults 缺省值(rw,suid,dev,auto)

noatime不同步更新文件系统访问inode时间,提高I/O性能,实际生产环境常用

noauto不自动进行挂载

noexec不可执行可执行程序

第五列决定文件系统是否需要通过dump,通常设置为0或1

第六列控制文件是否需要开机进行fsck检查

0为不需要,根分区一般设置为1,/boot分区一般设置为2

三、配置fstab文件

[root@Centos ~]# vi /etc/fstab 
# /etc/fstab
# Created by anaconda on Sun Aug  7 05:42:06 2016
# Accessible filesystems, by reference, are maintained under '/dev/disk'
/dev/mapper/VolGroup-lv_home /home    ext4    defaults   1 2
devpts    /dev/pts      devpts  gid=5,mode=620  0 0
sysfs     /sys     sysfs   defaults    0 0
proc     /proc   proc    defaults   0 0
192.168.1.2:/data/bbs   /mnt    nfs    defaults    0 0

保存退出即可

四:配置测试

前面也提到过,我们可以把开机自动启动的文件放在/etc/rc.local下面

因此在测试此配置之前,我们先来测试下/etc/rc.local能否达到开机自动挂载的需求

[root@localhost ~]# cat /etc/rc.local 
#!/bin/sh
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
[root@localhost ~]# echo "/bin/mount -t nfs 192.168.1.2:/data/bbs /mnt">>/etc/rc.local 
[root@localhost ~]# tail -1 /etc/rc.local 
/bin/mount -t nfs 192.168.1.2:/data/bbs /mnt
[root@localhost ~]# reboot

重启系统测试开机挂载情况

[root@localhost /]# df -h     查看是否挂载成功
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G  3.3G   14G  20% /
tmpfs                         491M     0  491M   0% /dev/shm
/dev/sda1                     485M   35M  426M   8% /boot
192.168.1.2:/data/bbs          50G  3.5G   44G   8% /mnt

经测试可以实现开机自动挂载

接下来我们将自动挂载命令放在/etc/fstab下面测试下

这里注明下,在配置/etc/fstab文件前记得备份

[root@localhost ~]# cp /etc/fstab /etc/fstab.ori.bak.20160818
[root@localhost /]# vi /etc/fstab 
# /etc/fstab
# Created by anaconda on Fri Aug 19 20:33:46 2016
/dev/mapper/VolGroup-lv_swap swap        swap    defaults        0 0
tmpfs      /dev/shm  tmpfs   defaults      0 0
devpts   /dev/pts     devpts  gid=5,mode=620  0 0
sysfs     /sys         sysfs   defaults      0 0
proc      /proc         proc    defaults     0 0

192.168.1.2:/data/bbs /mnt nfs defaults 0 0

"/etc/fstab" 16L, 833C written
[root@localhost /]# tail -1 /etc/fstab    检查配置
192.168.1.2:/data/bbs   /mnt    nfs   defaults   0 0

配置完成,重启系统

[root@localhost /]# reboot
[root@localhost ~]# df -h
Filesystem        Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   18G  3.3G   14G  20% /
tmpfs     491M   72K  491M   1% /dev/shm
/dev/sda1       485M   35M  426M   8% /boot
192.168.1.2:/data/bbs      50G  3.5G   44G   8% /mnt

同样也可以开机自动挂载成功

但是实际生产环境中,这种做法是不建议的,因为如果当NFS服务端处于不可用状态,那么客户端开机后可能会导致无法启动的风险,因开机启动的顺序是/etc/fatab先启动,/etc/rc.local后启动,因此要实际生产环境中,要形成一定规范,要么将启动内容放入/etc/rc.local,要么将启动内容放入/etc/fatab中。

五:fstab故障导致开机无法启动解决方法

故障环境操作系统是Centos 6.5

开机加载后出现如下提示,提示开机检查时出现一个错误

系统加载错误,无法启动了

方法一:

提示输入root密码或control-D 继续,这里我们输入管理员密码

编辑/etc/fstab时,提示无法写入

接下来执行下面命令进行修改

[root@localhost ~]# mount -o rw,remount /
[root@localhost ~]# cp /etc/fstab.ori.bak.20160818 /etc/fstab
[root@localhost ~]# reboot

可以正常启动了

方法二:

利用系统光盘引导进行恢复,先设置好从光驱启动

重启系统后选择救援模式

进入后选择二个默认选项

选择不从网卡启动

选择启动shell

从上面得知目录被挂载在/mnt/sysimage下面,因此执行前面的备份文件进行恢复即可

重启系统,将启动设置为磁盘启动

输入用户名与密码,成功登陆系统,恢复成功。