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
开机加载后出现如下提示,提示开机检查时出现一个错误
Linux系统开机自动挂载文件fstab介绍
系统加载错误,无法启动了

方法一:

提示输入root密码或control-D 继续,这里我们输入管理员密码
Linux系统开机自动挂载文件fstab介绍
编辑/etc/fstab时,提示无法写入
接下来执行下面命令进行修改
[root@localhost ~]# mount -o rw,remount /
[root@localhost ~]# cp /etc/fstab.ori.bak.20160818 /etc/fstab
[root@localhost ~]# reboot
Linux系统开机自动挂载文件fstab介绍
可以正常启动了

方法二:

利用系统光盘引导进行恢复,先设置好从光驱启动
Linux系统开机自动挂载文件fstab介绍
重启系统后选择救援模式
Linux系统开机自动挂载文件fstab介绍
进入后选择二个默认选项
Linux系统开机自动挂载文件fstab介绍
Linux系统开机自动挂载文件fstab介绍
Linux系统开机自动挂载文件fstab介绍
选择不从网卡启动
Linux系统开机自动挂载文件fstab介绍
Linux系统开机自动挂载文件fstab介绍
选择启动shell
Linux系统开机自动挂载文件fstab介绍
从上面得知目录被挂载在/mnt/sysimage下面,因此执行前面的备份文件进行恢复即可
重启系统,将启动设置为磁盘启动
Linux系统开机自动挂载文件fstab介绍
输入用户名与密码,成功登陆系统,恢复成功。
Linux系统开机自动挂载文件fstab介绍