Linux 磁盘与文件系统(EXT2)简介

  Linux 中,一切(或几乎一切)都是文件。 

一、Linux 磁盘分区与文件系统

1.1 磁盘分区

  磁盘的分区主要分为主分区和扩展分区

1)主分区:总共最多只能有四个主分区;

2)扩展分区:只能有一个,也算是主分区的一种,即:主分区 + 扩展分区最多只能有四个。但是扩展分区不能存储数据和格式化,必须将其再划分为逻辑分区才能使用;

3)逻辑分区 :逻辑分区是在扩展分区中划分的,如果是 IDE 硬盘,Linux 最多支持 59 个逻辑分区,如果是 SCSI 硬盘,Linux 最多支持 11 个逻辑分区

1.2 设备文件名

  Linux 中一切都是文件,包括硬盘、鼠标、打印机等硬件设备也通常被表示(映射)为文件,用来表示这些硬件设备的文件的名字即为“设备文件名”。一般,设备文件名保存在 /dev/ 目录下,Linux 中常见的硬件设备的设备文件名如下:

硬件设备   设备文件名  
IDE硬盘   /dev/hd[a-d]  
SCSI/SATA/USB硬盘   /dev/sd[a-p]  
光驱   /dev/cdrom 或 /dev/hdc  
软盘   /dev/fd[0-1]  
打印机(25针)   /dev/lp[0-2]  
打印机(USB)   /dev/usb/lp[0-15]  
鼠标   /dev/mouse  

  以 SATA 硬盘为例,sda 表示计算机的第一块硬盘,sdb 表示计算机的第二块硬盘,sdc 表示第三块硬盘。如果对硬盘进行了分区,以 sda 为例,则,sda1、sda2、sda3 和 sda4 分别用来表示该硬盘的四个主分区,sda5、sda6、... 、sda15 则用来表示逻辑分区(SATA硬盘最多支持 11 个逻辑分区)。

  用 ls 命令查看 /dev/ 目录下的具体文件,如下:

Linux 磁盘与文件系统(EXT2)简介

  在上图中,黄色字体即为设备文件。可以看到有:sda、sda1、sda2,这里,sda 表示计算机的第一块硬盘、sda1、sda2 分别代表第一块硬盘的两个主分区。

1.3 Linux 文件系统的类型

1)EXT 文件系统:

  EXT -- 扩展文件系统,是于 1992 年 4 月发表的一种文件系统,是为 Linux 核心所做的第一个文件系统,最大可支持 2GB 的文件系统。

  EXT2:是 EXT文件系统的升级版,最大支持 16TB 的分区和最大 2TB 的文件;

  EXT3:是 EXT2文件系统的升级版,最大的区别是带有日志功能,以在系统突然崩溃时提高文件系统的可靠性,最大支持 16TB 的分区和最大 2TB  的文件;

  EXT4:是 EXT3文件系统的升级版,EXT4在性能、伸缩性、可靠性上进行了大量的改进。它向下兼容 EXT3,最大支持 1EB(1024 * 1024TB) 的分区和 16TB 文件,更快,更安全。

2)XFS 文件系统:

  XFS 是一种高性能的日志文件系统 ,CentOS 7 默认使用的就是 XFS 文件系统。

3)如何查看文件系统的类型:

  可以使用 df  -T 指令来查看文件系统的类型:

Linux 磁盘与文件系统(EXT2)简介

  笔者所用的是 Centos 7 系统,可以看到 /dev/sda1 是 XFS 文件系统。

二、简单了解一下 Linux 的 EXT2 文件系统

   EXT2 -- 第二代扩展文件系统,是 Linux 内核使用的一种以 inode 为基础的一种文件系统。在 EXT2 文件系统中,我们需要要了解几个概念:

2.1、block

  我们知道,文件是存储在硬盘上的,硬盘的最小存储单位是扇区(sector)”,每个扇区可以存储 512 个字节(0.5KB)。但操作系统在读取硬盘的时候,不是一个扇区一个扇区地读取,这样效率会很低,而是会一次性连续读取多个扇区,即一个“块(block)”,这种由多个扇区组成的“块”是文件存取的最小单位。在 EXT2 文件系统中,使用 data block 来记录文件的实际内容

1)每个 block 都有编号,方便 inode 记录查找;

2)一个文件可能占用多个 block,没读取一个 block 就会消耗一个磁盘 I/O;

3)如果 block 太大,则存放小文件时会造成磁盘空间的浪费;如果 block 太小,则存取文件的效率会变低(消耗更多的磁盘 I/O);

4)EXT2 文件系统支持的 block 有 1KB、2KB、4KB三种,默认一个 block 为 1KB;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12108.html