Linux文件系统相关

  1、fstab:static information about the filesystems

  1)简介:/etc/fstab包含了不同文件系统的描述性信息。程序只读取该文件的内容,而创建和维护该文件则由系统管理员负责。

  2)该文件的每行描述一个文件系统的信息。每行有六个字段:

  (1)第一个字段fs_spec:将被挂载的块设备或远程文件系统。可(通过软链接)显式指定,也可通过UUID/LABEL等指定

# /dev/mapper/centos-root -> /dev/dm-0
/dev/mapper/centos-root / xfs defaults 0 0
# 通过blkid可知该UUID对应/dev/block/8:1 -> /dev/sda1
UUID=ab49f087-6e36-45b6-9a34-f48c634b9d50 /boot xfs defaults 0 0
# /dev/mapper/centos-swap -> /dev/dm-1
/dev/mapper/centos-swap swap swap defaults 0 0

  (2)第二个字段fs_file:文件系统的挂载点(目录)。

  (3)第三个字段fs_vfstype:文件系统类型。通过/proc/filesystems可查看当前内核支持的文件系统类型。

  (4)第四个字段fs_mntops:文件系统相关的挂载选项,如defaults(使用默认选项:rw, suid, dev, exec, auto, nouser和async)、user(允许某个用户执行挂载操作)、owner(允许设备所有者执行挂载操作)、size=nbytes(用于tmpfs文件系统。设置文件系统的最大大小,默认是物理内存的一半)等。

  (5)第五个字段fs_freq:dump命令根据该字段决定是否对文件系统进行dump/backup。

  (6)第六个字段fs_passno:重启时fsck根据该字段决定文件系统检查的顺序。

  3)例子:调整/dev/shm(文件系统为tmpfs)的大小为800M:

  在/etc/fstab中增加或编辑:tmpfs /dev/shm tmpfs defaults,size=800m 0 0,保存并执行mount -o remount /dev/shm。

  2、fsck:check and repair a Linux filesystem

  1)简介:fsck用于检查和修复Linux文件系统。实际上,fsck只是不同文件系统的checker(如e2fsck/fsck.minix/fsck.xfs)的通用接口。这些特定于文件系统的checker的查找顺序是:/sbin -> /etc/fst和/etc -> PATH中的目录。

  /etc/fstab的第六个字段fs_passno用于指定文件系统检查的顺序:该值为0的文件系统不会被检查。若大于0,则值越小,越先检查。若多个文件系统的该值相同,fsck会尝试并行检查它们,尽管fsck会避免在同一物理磁盘上(并行)检查多个文件系统。因此,该字段在/etc/fstab常用的配置是,设置根文件系统的fs_passno为1,其他文件系统为2。

  2)退出码。以下各项条件的和(检查多个文件系统时):

  0:没有错误;1:纠正了文件系统错误;2:纠正了文件系统错误,系统应重启;4:存在文件系统错误,但未纠正;8:操作错误;16:用法或语法错误;32:用户取消检查;128:共享库错误。

  3)常用选项:

  3、e2fsck:check a Linux ext2/ext3/ext4 file system

  e2fsck用于检查ext2/ext3/ext4文件系统。

  选项:-p:自动修复文件系统(无须人为介入的可安全修复的)问题。若需要系统管理员采取额外的纠正措施,则打印问题的描述信息并退出(退出码为4)。该选项一般用于系统启动脚本。

  4、tmpfs:基于共享内存的文件系统。 

  tmpfs上的文件都保存在内存(内存不够时可能会swap到磁盘),系统重启时将丢失。

  许多Unix发行版的/tmp默认使用tmpfs;而在某些Linux发行版上(如CentOS),/tmp只是普通目录,但/dev/shm使用了tmpfs。如下图:

  

  由于磁盘读写速度可能(远)小于网络带宽,故使用scp估算机器带宽时,一般是在两台机器的/dev/shm目录间进行scp。

  参考资料:

  https://en.wikipedia.org/wiki/Tmpfs

不断学习中。。。

原文地址:https://www.cnblogs.com/hanerfan/p/5246239.html