mount&fstab&mtab

在学习存储池操作的时候,涉及到了mount,fstab,mtab,学习并记录如下。

  • 对mount,fstab,mtab的概念介绍
  • 对fstab & mtab 的内容解释
  • 常见的mount注意点

fstab是什么

fstab is a configuration file that contains information of all the partitions and storage devices in your computer.

参考这篇文章:戳这里,其中重点关注的几个点:

基础信息介绍

  • 文件位置是 /etc/fstab,需要 root 权限才能编辑。
  • 1-6列分别对应的含义是
    • device
    • 默认挂载点
    • 文件系统类型
    • mount 选项
    • dump

fstab 能做些什么

  • 简化mount。如果在fstab中配置过,如
  • 实现自动挂载。在fstab中配置的项,可以在centos开机的时候自动挂载

fstab 相关知识扩展

怎么查看支持的文件系统?

For the filesystems currently supported by the running kernel, see /proc/filesystems.

输出长这样(我是基于 centos 3.10.0-327.el7.x86_64):

[root@allinone-64089-25945 ~]# more /proc/filesystems 
nodev    sysfs
nodev    rootfs
nodev    bdev
nodev    proc
nodev    cgroup
nodev    cpuset
nodev    tmpfs
nodev    devtmpfs
nodev    debugfs
nodev    securityfs
nodev    sockfs
nodev    pipefs
nodev    anon_inodefs
nodev    configfs
nodev    devpts
nodev    ramfs
nodev    hugetlbfs
nodev    autofs
nodev    pstore
nodev    mqueue
nodev    selinuxfs
    ext3
    ext2
    ext4
nodev    rpc_pipefs
nodev    nfsd
    ocfs2
nodev    ocfs2_dlmfs
nodev    nfs
nodev    nfs4

关于device支持的配置

device 列可以配置如下形式的内容:

  • /dev/cdrom or /dev/sdb7
  • knuth.aeb.nl:/ (for nfs)
  • proc (for proc)
  • UUID= and LABEL=Boot
  • PARTUUID= and PARTLABEL=

支持的选项

常见的有:

  • auto and noauto
    • 自动挂载 / 需要显示挂载
  • user and nouser
    • 允许非root/允许root 来挂载
  • exec and noexec
    • 允许执行/不允许 执行二进制文件
  • ro and rw
    • read only / read & write
  • sync and async
    • 同步写 / 异步写
  • defaults
    • 等价于rw, suid, dev, exec, auto, nouser, and async

mtab是什么

mtab展示了系统当前已经挂载的文件系统及其对应的options

跟fstab的区别是,fstab由用户维护,而mtab由系统维护

另外需要注意的是,如果你挂载了proc,那么还有个文件/proc/mountsmtab内容类似。两者基本类似,区别在于

When the proc filesystem is mounted (say at /proc), the files /etc/mtab and /proc/mounts have very similar contents. The former has somewhat more information, such as the mount options used, but is not necessarily up-to-date.

  • fstab 由 user 维护
  • mtab 由 mount & unmount 维护
  • /proc/mounts 由 kernel 维护

mount是什么

mount a filesystem

注意的是mount管理的是文件系统而非块设备啊什么之类的。

  • 可以通过 mount -a 来验证 fstab中配置的对不对,当然不包括 noauto 的项
  • -f 可以假装 mount,验证是否可行
  • -n 不会将信息记录到 mtab
  • -t iso9660 -o loop 可以挂载镜像

其他的 options 可以通过 man 来查看

参考文档