查看原文
其他

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

2016-09-10

作者 民工哥

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下面,因此执行前面的备份文件进行恢复即可

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


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






    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存