一、需求说明

  使用parted命令完成磁盘分区后会有如下提示。意思就是我们新增了磁盘分区,提醒我们需要更新/etc/fstab文件。Linux系统都是各磁盘或者分区是通过挂载的方式访问的,临时使用的U盘、光盘等我们可以使用mount命令临时挂载,如果是系统固定的磁盘则需要我们将磁盘挂载写入/etc/fstab文件,实现开机自动挂载。我们可以通过查看/etc/fastab文件了解磁盘挂载信息,也可以通过编辑该文件更新、修改磁盘挂载信息。
在这里插入图片描述

二、/etc/fstab文件说明

1、文件样例

  fstab文件内容样式如下,#开头的行是该文件的说明,其他行是开机自动挂载的配置内容,每一行包括设备标识、挂载点、文件系统类型、挂载参数、是否dump、检查顺序六项内容。
在这里插入图片描述

2、六列字段说明

  如果我们需要了解/etc/fstab文件各列字段的说明可以使用man fstab查看并获取帮助。

序号列名说明
1fs_spec此列表示要安装的块特殊设备或远程文件系统
2fs_file此列表示存储挂载点
3fs_vfstype此列表示挂载的文件系统类型
4fs_mntops文件系统挂载参数
5fs_freq是否转储dump,未配置则默认为0,
6fs_passnofsck程序使用此字段来确定在重新启动时执行文件系统检查的顺序。0表示不检查;1表示第一位检查,一般用于根挂载点,其他磁盘配置参数2。

3、fs_spec字段说明

  fs_spec字段我们可以使用设备文件名、UUID或者标签,也可以是NFS等远程文件系统。远程文件系统配置方式是<host>:<dir>,与直接使用mount命令挂载远程文件系统是一致的。其中UUID和LABEL配置方式是LABEL=<label> 或者 UUID=<uuid>。设备文件、UUID、label作为标识的不同:

  • 使用设备文件名会在当前生效,可能在系统重启之后会出现问题;
  • label在系统重启之后也会生效,但是要实时注意该设备的label,label是我们在磁盘分区的时候设置的标签;
  • UUID是分区的唯一标识。

  建议使用UUID的方式挂载。我们可以使用blkid命令查看UUID,可以使用命令ls -l /dev/disk/by-label/查看label。如果磁盘或者分区都没有配置标签,by-label文件可能并不存在。
在这里插入图片描述

4、fs_file字段说明

  fs_file字段就是我们需要挂载的位置,如果是swap则写swap,其他的写具体的文件系统路径。

5、fs_vfstype字段说明

  文件系统类型字段指的是我们需要挂载的文件系统类型,支持的很多ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs等,只要是mount命令支持的都可以。linux系统现在常用的是ext4和xfs,也支持window文件系统ntfs、vfat等,如果是交换区,则设置为swap。

6、fs_mntops字段说明

  fs_mntops表示挂载时的参数选项,各参数说明如下,我们常用defaults。

  • defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async
  • auto - 在启动时或键入了 mount -a 命令时自动挂载。
  • noauto - 只在你的命令下被挂载。
  • exec - 允许执行此分区的二进制文件。
  • noexec - 不允许执行此文件系统上的二进制文件。
  • ro - 以只读模式挂载文件系统。
  • rw - 以读写模式挂载文件系统。
  • user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
  • users - 允许所有 users 组中的用户挂载文件系统.
  • nouser - 只能被 root 挂载。
  • owner - 允许设备所有者挂载.
  • sync - I/O 同步进行。
  • async - I/O 异步进行。
  • dev - 解析文件系统上的块特殊设备。
  • nodev - 不解析文件系统上的块特殊设备。
  • suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
  • nosuid - 禁止 suid 操作和设定 sgid 位。
  • noatime - 不更新文件系统上 inode 访问记录,可以提升性能。
  • nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
  • relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能。
  • flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。

7、fs_freq字段说明

  dump命令将此字段用于这些文件系统,以确定需要转储哪些文件系统。字段可以设置为0或者1,如果第五个字段不存在,返回零值,dump将假设不需要转储文件系统。

8、fs_passno字段说明

  fsck程序使用此字段来确定在重新启动时执行文件系统检查的顺序。该字段值可以设置为0|1|2,根文件系统的fs_passno应为1,其他文件系统的fs_passno应为2。将按顺序检查驱动器内的文件系统,但同时检查不同驱动器上的文件系统,以利用硬件中可用的并行性。如果第六个字段不存在或不为零,则返回零值,fsck将假设不需要检查文件系统。

三、/etc/fstab配置实践

1、配置文件检查

  我们可以使用命令mount -a命令检查配置文件是否有错误,可以检查出UUID错误、挂载点不存在等错误。如果/etc/fstab配置文件错误可能导致开机启动失败。
在这里插入图片描述

[root@s153 ~]# mount -a
mount: /etc/fstab:解析出错:忽略第 11 行的记录。
mount: 找不到 UUID=9d3b68d5-d0e7-4a53-8f97-05e57fafc427
mount: 挂载点 /red0 不存在

2、dump配置实践

  dump配置只针对ext2/3/4文件系统类型有效,为了满足测试需求,我们新挂载一块ext4磁盘,另外centos7默认dump命令没有安装,我们需要手动安装dump命令。

  • 安装dump命令

[root@s142 ~]# yum install -y dump

  • 新挂载一块ext4类型磁盘
  • 设置转储,1表示每天dump转储
    在这里插入图片描述
  • 重启系统
  • 查看最新转储任务记录
    >

3、配置samba共享存储开机自动挂载

  挂载有用户验证的samba共享存储磁盘开机自动挂载,我们需要在/etc/fstab配置文件中配置远程连接的用户、密码;也需要指定挂载磁盘的用户归属,当然如果没有指定uid、gid则默认属于root用户,这个时候普通用户进行读写操作会出现权限问题。windows系统samba共享服务,文件系统类型为cifs;linux环境可以使用id命令查看当前用户的uid、gid。

  • 编辑/etc/fstab配置文件

[root@s152 ~]# cat /etc/fstab |grep -Ev “^#|^$”

//192.168.0.8/scans /home/wuhs/test cifs username=wuhsh,password=Wuhs@0403,uid=1000,gid=1000 0 0
在这里插入图片描述

  • 使用mount -a命令检查挂载参数语法是否正确

[root@s152 ~]# mount -a

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐