当前位置: 首页 > news >正文

linux基础学习--linux磁盘与文件管理系统

linux磁盘与文件管理系统

1.认识linux系统

1.1 磁盘组成与分区的复习

首先了解磁盘的物理组成,主要有:

  • 圆形的碟片(主要记录数据的部分)。
  • 机械手臂,与在机械手臂上的磁头(可擦写碟片上的内容)。
  • 主轴马达,可以转动碟片,让机械手臂的磁头在碟片上读写数据。
    数据存储与读取的重点在于碟片,而碟片上的物理组成为:
  • 扇区切最小的物理存储单位,且根据磁盘设计的不同,目前有512B和4KB两种格式。
  • 将扇区组成一个圆,就是柱面。
  • 早期分区主要以柱面作为最小的分区单位,现在的分区通常使用扇形作为最小分区单位(每个扇区都有其号码,就好像座位一样)。
  • 磁盘分区主要有两种格式,一种是限制较多的MBR分区表,一种是较新且限制较少的GPT分区表;
  • MBR分区表中,第一个扇区最为重要,里面有:主引导记录,及分区表,其中MBR占有446B,而分区表则占有64B。
  • GPT分区表除了分区数量扩充较多之外,支持的磁盘空间也可以超过2TB。
    基本上所有物理磁盘的文件都被模拟成/dev/sd[a-p]的格式,第一块磁盘名为/dev/sda,分区的文件名以第一块磁盘为例,为/dev/sda[1-28],除物理磁盘下,虚拟机的磁盘通常为/dev/vd[a-p]的格式。如果有使用到软件磁盘阵列的话,还有/dev/md[0-128]的磁盘文件名。使用LVM时,文件名则为/dev/VGANE/LVNAME。我们这里主要学习物理磁盘和虚拟磁盘。
  • /dev/sd[a-p][1-128]:为物理磁盘的文件名。
  • /dev/vd[a-d][1-128]:为虚拟磁盘的文件名。
1.2 文件系统特性

在磁盘分区完毕后,还需要进行格式化,之后操作系统才能使用这个文件系统。
这是因为每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需数据,因此就需要将分区进行格式化,已成为操作系统能够利用的文件系统格式。
通常我们称一个可被挂载的数据为一个文件系统而不是一个分区
在操作系统的文件中,除了实际内容外,还有很多属性,如Linux操作系统的文件权限(rwx)与文件属性(拥有者,用户组,时间参数等)。文件系统通常会将这两部分的数据分别存放在不同的区块,权限与属性放置到inode中,至于实际数据则放置到数据区块中。此外,还有一个超级区块(superblock)会记录整个文件系统的整体信息,包括inode与数据区块的总量,使用量,剩余量等
每个inode与区块都有编号,至于这三个数据的意义简略说明如下:

  • 超级区块 :记录此文件系统的整体信息,包括inode与数据区块的总量,使用量,剩余量,以及文件系统的格式与相关信息等
  • inode :记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的区块号码。
  • 数据区块 :实际记录文件的内容,如果文件太大,会占用多个区块。
    每个inode与数据区块都有编号,每个文件都占用一个inode,inode内有文件数据放置的区块号码。因此找到了文件的inode,就找到了文件数据区块的号码,就能读出文件的实际数据。
    这种数据存取方式称为索引式文件系统
    还有其他常用的文件系统,比如U盘使用的FAT格式的文件系统,
    因为这种文件系统中没有inode存在,如果一个文件数据写入的区块太松散,需要读取磁盘好几次才能完整读取这个文件。
    所谓碎片整理,就是因为文件写入的区块太过于离散,文件读取的性能会变的很差,需要通过碎片整理将同一个文件所属的区块都集合到一起,这样数据的读取会比较容易。
1.3 Linux的ext2文件系统(inode)

标准的ext2文件系统就是这种含有inode,数据区块,超级区块等,以inode为基础的Linux文件系统。
文件系统一开始就将inode和数据区块规划好了,除非重新格式化(或利用resize2fs等命令修改其大小),否则inode与数据区块固定后就不再变动了。
当文件系统有数百GB,再将所有inode和数据区块都放在一起就很不易管理了。
因此,ext2文件系统格式化时基本上是区分成多个区块群组(block group),每个区块都有独自的inode,数据区块,超级区块系统。
在ext2文件系统中,最前面有一个启动扇区,这个启动扇区可以安装启动引导程序。
每一个区块群组的六个内容如下:

  • 数据区块(data block)
    数据区块是用来放置文件数据的地方,在ext2文件系统中所支持的区块大小有1K,2K及4K三种。格式化是区块大小就被固定了,且每个区块都有编号。而区块大小也会产生差异:
Block 大小1 KB2 KB4 KB
最大单一文件大小16 GB256 GB2 TB
最大文件系统总容量2 TB8 TB16 TB

ext2文件系统还有一些限制:

  • 原则上,区块的大小和数量在格式化完成后就不能再修改(除非重新格式化)。
  • 每个区块内最多只能放置一个文件的数据。
  • 承上,如果文件大于区块的大小,则一个文件会占用多个区块数量。
  • 承上,如果文件小于区块,则该区块的剩余容量就不能够再被使用了(磁盘空间被浪费了)。
    由于这些限制,当小文件较多时,而区块较大,例如区块为4KB,而小文件仅为50B,那么每个区块都将浪费4046B的空间。
    那么将区块设置为1KB呢?这样但文件会占用很多区块,而每个区块的inode都需要被记录,造成读写性能不佳。
  • inode table(inode表)
    基本上,inode记录文件的属性及文件数据放置区块的编号,至少有下面的:
  • 该文件的读写属性(read,write,excute)。
  • 该文件的拥有者与用户组(owner,group)。
  • 该文件的大小。
  • 该文件建立或状态改变的时间(ctime)。
  • 最近一次的读取时间(atime)。
  • 最近修改的时间(mtime)。
  • 定义文件特性的标识(flag),如SetUID。
  • 该文件真正内容的指向(pointer)。
    inode的数量与大小也是在格式化时就已经固定了,除此之外还有一些特点:
  • 每个inode大小均固定为128B(新的ext4与xfs可设置到256B);
  • 每个文件都仅会占用一个inode而已。
  • 承上,因此文件系统能够建立的文件数量与inode的数量有关。
  • 系统读取文件时需要先找到inode,并分析inode所记录的权限与用户是否符合,若符合才能读取区块的内容。
  • Superblock(超级区块)
    超级区块时记录整个文件系统相关信息的地方,没有超级区块,就没有这个文件系统,它记录的信息有:
    • 数据区块与inode的总量。
    • 未使用与已使用的inode与数据区块数量。
    • 数据区块与inode的大小(block为1,2,4K,inode为128B或256B)。
    • 文件系统的挂载时间,最近一次写入数据的时间,最近一次检验磁盘的时间等文件系统的相关信息。
    • 一个有效位数值,若该文件系统已被挂载,则有效位为0,若未被挂载,则有效位为1。
      一个文件系统应该仅有一个超级区块,位于它的第一个区块群组,后续的区块1群组中也可能含有超级区块,不过都是对第一个超级区块的备份。
  • Filesystem Description(文件系统描述说明)
    这个区段可以描述每个区块群组的开始与结束的区块,以及说明每个区块(超级区块,对照表,inode对照表,数据区块)分别介于哪个区块之间。
  • 区块对照表(block bitmap)
    从区块对照表中可以知道那些区块是空的,因此我们的系统就能够快速的找到可使用的空间来处理文件。
    删除文件,对应区块空出来时,对照表中他们的状态就会变成未使用中。
  • inode对照表(inode bitmap)
    与区块对照表功能类似

相关文章:

  • OC的实例对象,类对象,元类对象
  • 外包团队协作效率低,如何优化
  • python打卡day18
  • 【一篇详解】深入浅出RabbtiMQ消息队列
  • openstack的网络
  • 第十六次博客打卡
  • Qt开发经验 --- 避坑指南(6)
  • Java中字符转数字的原理解析 - 为什么char x - ‘0‘能得到对应数字
  • C++回顾 Day4
  • Web前端入门及基础代码
  • 创建虚拟服务时实现持久连接。
  • hadoop中的序列化和反序列化(1)
  • 猫咪如厕检测与分类识别系统系列~进阶【一】视频流推流及网页实时展示
  • 如何测试 esp-webrtc-solution_solutions_doorbell_demo 例程?
  • 【Python】通过`Editable Install`模式详解,解决Python开发总是import出错的问题
  • 电商双11美妆数据分析(二)
  • Python案例实战《水果识别模型训练及调用》
  • 写个远程操作Android的调试程序
  • OpenMVS 的编译与运行
  • 电子电器架构 --- 48V架构的一丢丢事情
  • 巴基斯坦称约50名印度士兵在克什米尔实控线丧生
  • 陕西澄城樱桃在上海推介,向长三角消费者发出“甜蜜之邀”
  • 数据中心业务今年预增50%,丹佛斯:中国是全球最重要的市场
  • 央视315晚会曝光“保水虾仁”后,湛江4家涉事企业被罚超800万元
  • 潘功胜发布会答问五大要点:除了降准降息,这些政策“含金量”也很高
  • 越老越妖的库里,成了火箭季后赛里一晃十年的噩梦