VFS(虚拟文件系统)

定义与作用

  • VFS(Virtual File System)是一个仅存在于内存中的抽象层,用于屏蔽不同文件系统的差异,为用户和应用程序提供一个统一的接口。
  • 在文件系统挂载后,VFS会将文件系统的元数据(如超级块和inode)加载到内存中。

主要对象类型

  1. 超级块(Super Block)
    • 记录文件系统的总体信息,如inode数量、block数量、已使用和剩余空间等。
  2. 索引节点(Inode)
    • 包含文件的元数据,如文件大小、权限、修改时间、数据块位置等。
  3. 文件对象(File)
    • 表示打开的文件,包含当前读写位置等信息。
  4. 目录项对象(Dentry)
    • 缓存文件名与inode号之间的链接,加速从文件名到数据的查找过程。

文件系统读取流程

  1. 通过文件名和目录项找到inode号。
  2. 通过inode号在inode表中查找inode。
  3. 通过inode中的block指针找到数据块。

文件系统类型与特性

ext4文件系统

  • 支持最大单个文件大小为16TB(4K block size)。
  • 最大文件系统大小为1EB。
  • 使用32位inode号,限制文件数量约为40亿。

XFS文件系统

  • 支持更大规模的存储,单个文件最大可达16EB。
  • 最大文件系统大小可达8EB。
  • 使用64位管理空间,具有更好的可扩展性和scalability。

查看文件系统和inode信息

  • 使用df -i查看文件系统的inode使用情况。
  • 使用ls -i查看特定文件的inode号。
  • 使用dumpe2fsxfs_info查看文件系统的详细元信息。

链接类型

软链接(Symbolic Link)

  • 使用ln -s命令创建。
  • 类似于Windows的快捷方式,存储目标文件的路径。
  • 如果删除原文件,软链接将失效。
  • 可以跨文件系统创建。

硬链接(Hard Link)

  • 使用ln命令创建(不带-s选项)。
  • 通过增加文件名与inode之间的链接数实现,不占用额外磁盘空间。
  • 删除原文件,硬链接仍然有效。
  • 不能跨文件系统创建。
  • 不能对目录进行硬链接。

逻辑卷管理(LVM)

  • 功能:动态调整磁盘容量,提高空间利用率,便于数据备份。
  • 组件:物理卷(PV)、卷组(VG)、逻辑卷(LV)。
  • 命令
    • pvcreatevgcreatelvcreate用于创建。
    • pvdisplayvgdisplaylvdisplay用于显示信息。
    • lvextendlvreduce用于扩展和缩减逻辑卷。

磁盘阵列(RAID)

  • RAID级别
    • RAID0:无容错,读写速度快,磁盘空间利用率高。
    • RAID1:镜像,有容错,写入速度较慢,磁盘空间利用率低。
    • RAID5:至少需要三块磁盘,有容错,读写速度较快。
    • RAID6:至少需要四块磁盘,容错能力较强,读写速度较快。

文件系统修复与检测

  • ext4:使用fsck进行修复检测,dumpe2fs查看超级块信息。
  • XFS:使用xfs_repair进行修复,xfs_info查看文件系统信息。

总结

本笔记详细总结了VFS的作用、主要对象类型、文件系统的读取流程、不同文件系统的特性、链接类型、逻辑卷管理以及磁盘阵列的基本概念。同时,还介绍了如何查看文件系统和inode的信息,以及文件系统的修复与检测方法。这些知识点对于深入理解Linux的文件系统架构和管理至关重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值