一、前言
1、Linux的起源与发展
二、Linux文件系统
1、磁盘的组成
盘片(Platters):通常是由金属或玻璃制成的圆盘,硬盘上通常有多个盘片叠放在一起。数据存储在盘片的表面上,通过磁性材料进行记录和读取。
磁头(Read/Write Heads):位于硬盘的读写头部,负责在盘片表面上读取和写入数据。每个盘片上都有一个读写头,它们可以在盘片上移动以访问不同的磁道。
磁道(Tracks):盘片的表面被划分为多个同心圆,称为磁道。每个磁道上都存储着一定数量的数据。
扇区(Sectors):每个磁道被划分为多个扇区,是硬盘上最小的可寻址单元。通常,一个扇区的大小为512字节或4KB。
主轴电机(Spindle Motor):用于旋转盘片的电机,控制盘片的旋转速度。
控制电路板(Controller Board):负责控制硬盘的各个部分,包括读写头的移动、数据的读写等。
2、磁盘分区表格式
MBR(Master Boot Record):MBR是传统的磁盘分区表格式,它位于硬盘的第一个扇区(扇区0),通常为512字节大小。MBR分区表最多支持4个主分区,或者3个主分区和1个扩展分区,每个主分区或扩展分区最多可以有2.2TB的容量限制。由于容量限制和其他限制,MBR分区表在现代计算机中已经逐渐被UEFI和GPT取代。
GPT(GUID Partition Table):GPT是一种更先进的磁盘分区表格式,它使用全局唯一标识符(GUID)来标识分区和磁盘。GPT分区表支持更大的磁盘容量(超过2TB),并且允许最多128个分区。除了提供更大的容量和更多的分区之外,GPT还提供了数据完整性校验和磁盘备份表等功能,使其在现代计算机系统中更为常见。
3、Linux文件系统格式
ext4:ext4是Linux中最常用的文件系统之一,它是ext文件系统的进化版本。ext4提供了更快的文件系统检查和更好的性能,支持更大的文件和分区大小。它是许多Linux发行版的默认文件系统。
XFS:XFS是一种高性能的日志文件系统,适用于大容量存储和大文件。它具有快速的读写速度、高效的空间管理和稳定的性能,在处理大文件和大型数据集时效果显著。
Btrfs:Btrfs是一种先进的复制文件系统,具有快速的快照、数据压缩、数据校验和数据恢复等功能。它支持在线扩展和压缩,以及快速的检查和修复功能。
ZFS:ZFS是一种先进的文件系统和卷管理器,最初由Sun Microsystems开发,现在在许多Linux发行版中可用。ZFS具有强大的数据完整性检查和修复功能,支持快照、压缩和加密等高级功能。
ext3:ext3是ext文件系统的一个稳定版本,它与ext4兼容,并提供了可靠的文件系统和数据保护。尽管已经被ext4取代,但在一些较老的系统上仍然广泛使用。
F2FS:F2FS(Flash-Friendly File System)是专门为闪存设备设计的文件系统,具有优化的读写性能和存储寿命管理。它适用于嵌入式设备和闪存存储介质。
4、ext4 文件系统重要的概念
inode(索引节点):inode 是文件系统中的一个数据结构,用于存储文件或目录的元数据信息,如文件类型、权限、拥有者、大小、时间戳等。每个文件或目录都有一个对应的 inode 来描述其属性和位置。
数据区块:数据区块是用于存储文件内容的实际数据块。当文件被创建或修改时,其内容被存储在数据区块中。ext4 文件系统将文件内容分散存储在多个数据块中,以提高文件系统的效率和性能。
超级块:超级块是 ext4 文件系统的关键数据结构之一,它存储了文件系统的元数据信息,如文件系统的大小、inode 数量、数据块数量、挂载选项等。每个文件系统只有一个超级块,位于文件系统的开头位置。
块组(Block Group):块组是 ext4 文件系统的逻辑单元,用于组织和管理文件系统中的数据。每个块组包含一组连续的数据块、inode 和位图等。块组有助于提高文件系统的性能和可管理性。
位图:位图是用于跟踪数据块和 inode 的使用情况的数据结构。每个块组都有自己的位图,用于标记已分配和未分配的数据块和 inode。
三、数据的存储
1、目录与文件在文件系统当中如何记录数据
2、挂载点(mount point)
mount /dev/sdb1 /mnt
扩展文件系统空间:通过将新的文件系统挂载到现有目录下,可以扩展该目录下的文件存储空间。
分离文件系统:将不同用途的文件系统挂载到不同的目录下,可以对文件进行分组和管理,提高文件系统的组织性和可管理性。
网络文件共享:通过将远程服务器上的文件系统挂载到本地目录下,可以实现网络文件共享和访问。
安装新设备:将新设备(如磁盘、光驱等)上的文件系统挂载到系统中,使得系统可以识别和使用该设备上的内容。
3、XFS文件系统简介
高性能: XFS设计用于高性能工作负载,能够处理大型文件和大容量文件系统。
大容量支持: XFS支持非常大的文件系统和文件,最大文件系统大小和最大文件大小都非常高。
日志功能: XFS使用日志来跟踪文件系统的更改,这使得在意外断电或系统崩溃时可以更快速地恢复文件系统的一致性。
高并发性: XFS支持高并发访问,可以有效地处理多个并发读写请求。
灵活性: XFS提供了灵活的配置选项,可以根据不同的应用场景进行调整和优化。
四、ext4与xfs
成熟稳定: ext4是Linux中最常见的文件系统之一,它是ext3文件系统的改进版本,因此在Linux系统中被广泛使用。
向下兼容: ext4保留了ext3的许多特性,并提供了更高的性能和更大的文件系统支持。
易于维护: ext4提供了较好的稳定性和易于维护的特性,适合用于标准的桌面和服务器环境。
高性能: XFS专为高性能工作负载而设计,能够处理大型文件和大容量文件系统,适用于需要高并发和高吞吐量的场景。
日志功能: XFS使用日志功能来跟踪文件系统的更改,提高了系统的稳定性和恢复能力。
大容量支持: XFS支持非常大的文件系统和文件,适合用于大型服务器和存储环境。
版权声明:本文内容参考自开放原子开发者工作坊:weixin_53269650,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行可。
始发链接:https://openatomworkshop.csdn.net/664702f7b12a9d168eb6e854.html
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处。