Linux文件系统管理

一、什么是文件系统

    我理解的文件系统就是管理磁盘分区上数据的索引信息,其实文件系统就是一种应用程序,只不过是用来维护和管理分区上的数据而已,就跟操作系统是用来管理底层硬件一样。不同的分区可以有不同的文件系统。


二、文件系统类型

    在linux系统上主要有如下类型的文件系统:

    1、ext系列的ext[2-4],其中ext2文件系统没有日志功能,ext[3-4]文件系统支持日志功能

    2、XFS文件系统,一种性能强大的日志文件系统,CentOS 7和RHEL 7在安装系统时默认使用XFS文件系统

    3、btrfs文件系统,通常读作Butter FS、Better FS或B-tree FS,一种支持写入时复制(COW:COPY ON WRITE)的文件系统,采用GPL授权,

    4、ReiserFS文件系统,也是一个日志型文件系统,对大文件和小文件有很高的处理效率。

    5、JFS(Journaling File System),由IBM创建的一种日志型文件系统。

    6、Swap,交换分区,跟Windows的虚拟内存相似,当内存不足时,可以将一部分硬盘空间虚拟成内存使用,解决内存容量不足的问题,但是速度比较慢

三、VFS虚拟文件系统

 为了支持不同的文件系统共存,和一些跨文件系统的操作,如将一个存在于EXT4格式的文件系统分区里的文件拷贝至XFS分区,这样的操作就涉及到两个不同的文件系统,

        blob.png

 而虚拟文件系统就是为协调不同文件系统进行工作的,它是内核中的一个软件层,为用户提供了一个统一的接口。深入了解请查看IBM文档库中的从文件I/O看LINUX的虚拟文件系统,连接:https://www.ibm.com/developerworks/cn/linux/l-cn-vfs/

          blob.png  


四、创建文件系统

 A、这里我使用一块空的磁盘做演示:

    1、使用fdisk命令对这块空的磁盘进行分区

    blob.png

    2、一些常用的命令

   blob.png

    3、现在我需要添加一个新的分区

blob.png

    4、查看新建的分区

    blob.png

    5、查看文件系统的ID   blob.png

    6、输入“w”保存退出

    blob.png

NOTE:新创建的分区,内核不能识别,需要使用命令通知内核重新读取硬盘分区

    7、# partx -a /dev/DEVICE或者# kpartx -a /dev/DEVICE,CentOS 5中使用# partprobe /dev/DEVICE

    blob.png

 B、创建文件系统

    1、这里我使用mkfs.FS_TYPE命令来创建一个EXT4的文件系统    blob.png

    blob.png

或者使用另一个命令

    2、# mke2fs [OPTION]… /dev/DEVICE:ext系列文件系统专用管理工具

        -t [ext2|ext3|ext4]

        -b [1024|2048|4096]:指定块大小

        -L 'LABEL':指定卷标

        -j:相当于-t ext3

        -i #:为数据空间中每多少个字节创建一个inode,此大小不应该小于block的大小

        -N #:微数据空间创建多少个inode

        -m #:为管理人员预留的空间占据的百分比

        -O FEATURE[,…]:启用指定特性

            -O ^FEATURE:关闭指定特性    blob.png


五、管理文件系统

    1、查看当前系统支持的文件系统:# cat /proc/filesystems

    blob.png

    2、查看当前系统装载在内核中的模块信息,文件系统其实就是装载在内核中的功能模块,# lsmod

    blob.png

    3、查看块设备文件的属性信息,# blkid [OPTION]… /dev/DEVICE

        -U UUID:根据指定的UUID来查找对应的设备

        -L LABEL:根据指定的LABEL来查找对应的设备  blob.png

    这是刚才我创建的分区的信息,因为在创建文件系统时没有指定LABEL所有这里没有显示,稍后我将为这个分区创建一个LABEL。

    4、重新设定EXT系列文件系统可调整参数,# tune2fs [OPTION]… /dev/DEVICE

        -l:查看指定文件系统超级块信息:super block

        -L:修改卷标

        -m #:修改预留给管理员的弓箭百分比

        -j:将ext2升级为ext3

        -O:文件系统属性启用或禁用

            has_journal:启用日志功能

            ^has_journal:关闭日志功能

        -o:调整文件系统的默认挂载选项

            acl:启用acl功能

            ^acl:关闭acl功能

        -U UUID:修改UUID号blob.png

六、文件系统检测

    1、fsck:File System Check

        # fsck.FS_TYPE

        # fsck -t FS_TYPE

            -a:自动修复错误

            -r:交互式修复错误

    NOTE:FS_TYPE一定要与分区上的文件系统类型相同

    blob.png

    2、e2fsck:ext系列文件系统专用的检测工具

        -y:自动回答为yes

        -f:强制修复

原创文章,作者:Net17_雷航,如若转载,请注明出处:http://www.178linux.com/12110

评论列表(1条)

  • stanley
    stanley 2016-03-04 17:24

    呵,赞,看的出有自己的思考在里面。知道写标签的同学都很细心,细节决定成败