Linux运维笔记
我们一直在努力

Linux文件系统

基本的Linux文件系统

1、ext文件系统:

        Linux操作系统中引入的最早的文件系统叫做扩展文件系统(extended filesystem,简记为ext)。它为Linux提供了一个基本的类Unix文件系统:使用虚拟目录来操作硬件设备,在物理设备上定长的块来存储数据。

ext文件系统采用名为索引节点的系统来存放虚拟目录中所存储文件的信息。索引节点系统在每个物理设备中创建一个单独的表(称为索引节点表)来存储这些文件的信息。存储在虚拟目录中的每一个文件在索引节点表中都有一个条目。ext文件系统名称中的extended部分来自其跟踪的每个文件的额外数据,包括:

  • 文件名
  • 文件大小
  • 文件的属主
  • 文件的属组
  • 文件的访问权限
  • 只想存有文件数据的每个硬盘快的指针

Linux通过唯一的数值(称作索引节点号)来引用索引节点表中的每个索引节点,这个值是创建文件时由文件系统分配的,文件系统通过索引节点号而不是文件名全名及路径来标识文件。

2、ext2文件系统:

        最早的ext文件系统有不少限制,比如文件大小不得超过2GB。在Linux出现后不久,ext文件系统就升级到了第二代扩展文件系统,叫做ext2。

如你所猜到,ext2文件系统是ext文件系统基本功能的一个扩展,单保持了同样的结构,ext2文件系统扩展了索引节点表的格式来保存系统上每个文件的信息。

ext2的索引节点表为文件添加了创建时间值、修改时间值和最后访问时间值来帮助系统管理员追踪文件的访问情况。ext2文件系统还将允许的最大文件大小增加到了2TB(在ext2后期版本中增加到了32TB),以容纳数据库服务器中常见的大文件。

除了扩展索引节点表外,ext2文件系统还改变了文件在数据块中存储的方式。ext文件系统常见的问题是在文件写入到物理设备时,存储数据用的块很容易分散在整个设备中(称作碎片化)。数据块的碎片会降低文件系统的性能,因为需要更长的时间在存储设备中查找特定文件的所有块。

保存文件时,ext2文件系统通过按组分配磁盘块来减轻碎片化。通过将数据分组,文件系统在读取文件时不需要为了数据块查找整个理设备。

多年来,ext文件系统一直都是Linux发行版采用的默认文件系统。但他也有一些限制。索引节点表虽然支持文件系统保存有关文件信息,但会对系统造成致命的问题。文件系统每次存储或更新文件,她都要用新信息来更新索引节点表。问题再去这种操作并非一气呵成的。

如果计算机系统在存储文件和更新索引节点表之前发生了什么,这两者的内容就不同步了。ext2文件系统由于容易在系统崩溃或短电时损坏而臭名昭著。即使文件数据正常保存到了物理设备上

日志文件系统

赞(0) 打赏

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址