Fork me on GitHub

Linux磁盘管理——虚拟文件系统

前言

Linux支持众多文件系统,包括:

传统文件系统:ext2 / minix / MS-DOS / FAT (用 vfat 模块) / iso9660 (光盘)等等;
日志式文件系统: ext3 /ext4 / ReiserFS / Windows' NTFS / IBM's JFS / SGI's XFS / ZFS
网络文件系统: NFS / SMBFS

查看当前Linux支持那些FS

ls -l /lib/modules/$(uname -r)/kernel/fs

[root@localhost ~]# ls -l /lib/modules/$(uname -r)/kernel/fs
total 20
-rw-r--r--. 1 root root 5952 Apr 21  2018 binfmt_misc.ko.xz
drwxr-xr-x. 2 root root   25 Oct  5 17:14 btrfs
drwxr-xr-x. 2 root root   30 Oct  5 17:14 cachefiles
drwxr-xr-x. 2 root root   24 Oct  5 17:14 ceph
drwxr-xr-x. 2 root root   24 Oct  5 17:14 cifs
drwxr-xr-x. 2 root root   26 Oct  5 17:14 cramfs
drwxr-xr-x. 2 root root   23 Oct  5 17:14 dlm
drwxr-xr-x. 2 root root   26 Oct  5 17:14 exofs
drwxr-xr-x. 2 root root   24 Oct  5 17:14 ext4
drwxr-xr-x. 2 root root   60 Oct  5 17:14 fat
drwxr-xr-x. 2 root root   27 Oct  5 17:14 fscache
drwxr-xr-x. 2 root root   42 Oct  5 17:14 fuse
drwxr-xr-x. 2 root root   24 Oct  5 17:14 gfs2
drwxr-xr-x. 2 root root   25 Oct  5 17:14 isofs
drwxr-xr-x. 2 root root   24 Oct  5 17:14 jbd2
drwxr-xr-x. 2 root root   25 Oct  5 17:14 lockd
-rw-r--r--. 1 root root 5224 Apr 21  2018 mbcache.ko.xz
drwxr-xr-x. 6 root root  137 Oct  5 17:14 nfs
drwxr-xr-x. 2 root root   46 Oct  5 17:14 nfs_common
drwxr-xr-x. 2 root root   24 Oct  5 17:14 nfsd
drwxr-xr-x. 2 root root 4096 Oct  5 17:14 nls
drwxr-xr-x. 2 root root   27 Oct  5 17:14 overlayfs
drwxr-xr-x. 2 root root   27 Oct  5 17:14 pstore
drwxr-xr-x. 2 root root   28 Oct  5 17:14 squashfs
drwxr-xr-x. 2 root root   23 Oct  5 17:14 udf
drwxr-xr-x. 2 root root   23 Oct  5 17:14 xfs
View Code

查看已载入内存中支持的FS

cat /proc/filesystems

[root@localhost ~]# cat /proc/filesystems
nodev    sysfs
nodev    rootfs
nodev    ramfs
nodev    bdev
nodev    proc
nodev    cgroup
nodev    cpuset
nodev    tmpfs
nodev    devtmpfs
nodev    debugfs
nodev    securityfs
nodev    sockfs
nodev    dax
nodev    pipefs
nodev    anon_inodefs
nodev    configfs
nodev    devpts
nodev    hugetlbfs
nodev    autofs
nodev    pstore
nodev    mqueue
nodev    selinuxfs
    xfs
View Code

procfs参考:Linux proc filesystem (procfs)

sysfs参考:/sys 和 /dev 区别

linux Kernel如何管理FS

整个Linux 的系统都是通过一个名为 Virtual Filesystem Switch 的核心功能去读取 FS 的。 也就是说,整个 Linux 认识的 FS其实都是 VFS 在管理,使用者并不需要关心每个mount point下面的FS是什么,VFS 会主动的帮我们做好FS读取操作。VFS原理图如下

更通俗的理解VFS,VFS有点像生活在常用的多合一数据线。由于目前基本上所有设备都支持USB,多合一数据线对外统一接口是USB,但是对下却可以接各种不停型号插头。

 

posted @ 2018-06-07 20:32  克拉默与矩阵  阅读(425)  评论(0编辑  收藏  举报