【磁盘与文件系统】

一、硬盘物理结构

层级 说明 补充细节
磁盘(Disk) 由多个 盘片(platter) 构成,每个盘片有两面可读写 盘片材质多为铝合金/玻璃,表面覆盖磁性涂层;硬盘有主轴带动盘片高速旋转(5400/7200/15000转/分钟)
磁道(Track) 盘面上同心圆轨迹,每条轨迹存储一圈数据 所有盘片同一半径的磁道组成柱面(Cylinder),是分区/格式化的重要单位
扇区(Sector) 磁道被划分为多个扇区,每个扇区通常 512B 或 4KB 扇区是磁盘物理读写的最小单位;硬盘出厂会预留备用扇区用于替换坏扇区
块(Block) 文件系统管理的最小单位,通常由若干个扇区组成(例如 4KB) 块大小可在格式化时指定(如 1KB/2KB/4KB/8KB);文件大小不足1块时,剩余空间浪费
文件(File) 由若干个块组成的逻辑数据单元 文件元数据(权限、大小、修改时间等)不存于数据块,而是存在inode

二、文件系统索引结构补充

1. 核心索引结构详解
文件系统 索引方式 特点 补充说明 & 适用场景
FAT32 链表结构 简单,但随机访问慢 无inode;通过FAT表记录块的链表关系;最大支持4GB单个文件、2TB分区;多用于U盘/老旧系统
Ext2/Ext3 索引节点(inode)+ 间接块 适中,树形层次有限 inode含12个直接块 + 1个一级间接 + 1个二级间接 + 1个三级间接;Ext3新增日志(Journal)
Ext4/XFS/Btrfs B+树结构(extent-based) 支持大文件、高性能 Extent(扩展区):直接记录连续块范围(如1-100块),减少索引开销;XFS适合大容量存储(16EB)
2. inode 核心概念(Ext系列关键)
  • inode 是什么 :每个文件对应唯一inode(索引节点),存储文件元数据(权限、所有者、大小、块映射关系等),不含文件名
  • 文件名存储位置 :文件名存于目录的目录项(dentry) 中,目录项是"文件名 → inode号"的映射表
  • inode 大小:默认128/256字节,格式化时可指定;一个分区的inode数量在格式化时固定,耗尽后无法创建新文件(即使有剩余空间)

三、磁盘分区补充

1. 分区类型
分区类型 说明 示例
主分区 一块磁盘最多4个主分区;可直接格式化并挂载使用 /dev/sda1、/dev/sda2
扩展分区 属于特殊主分区;仅作为容器,内部可划分多个逻辑分区;一块磁盘仅1个 /dev/sda4
逻辑分区 扩展分区内的分区;数量无上限(受系统限制) /dev/sda5、/dev/sda6
2. 分区标识(文件系统类型)

常见分区文件系统标识:

  • Linux 常用:Ext4(默认)、XFS(高性能)、Btrfs(新一代)、swap(交换分区)
  • Windows 常用:NTFS、FAT32
  • 通用:exFAT(支持4GB+文件,跨系统)
3. LVM (逻辑卷管理)

LVM 核心组件(从底层到上层):

复制代码
物理磁盘/分区(PV) → 卷组(VG) → 逻辑卷(LV) → 格式化文件系统 → 挂载使用
  • 优势
    1. 动态调整逻辑卷大小(无需卸载,如lvextend/lvreduce)
    2. 跨磁盘合并空间(将多个物理盘合并为一个VG)
    3. 快照(snapshot):快速备份/恢复逻辑卷
4. 常见分区命名规则
设备类型 命名格式 示例 说明
物理硬盘(SATA/SCSI) /dev/sd[a-z][数字] /dev/sda1、/dev/sdb3 a/b/c代表磁盘序号,数字代表分区号
虚拟化硬盘 /dev/vd[a-z][数字] /dev/vda1、/dev/vdb2 KVM/Xen虚拟化环境常用
NVMe 固态硬盘 /dev/nvme[数字]n[数字]p[数字] /dev/nvme0n1p1 0代表控制器,1代表磁盘,1代表分区
LVM 逻辑卷 /dev/卷组名/逻辑卷名 /dev/ubuntu-vg/root 自定义命名

四、挂载(Mount)补充

  1. 手动挂载命令(Linux):
bash 复制代码
# 基本格式:mount 设备路径 挂载点目录
mount /dev/sda1 /mnt/data  # 将sda1挂载到/mnt/data
mount -t ext4 /dev/sdb2 /home  # 指定文件系统类型挂载
  1. 自动挂载
    • 配置文件 /etc/fstab,格式:

      复制代码
      /dev/sda1    /mnt/data    ext4    defaults    0 0
      # 设备路径    挂载点      文件系统  挂载选项    备份标记 检测顺序
    • 生效命令:mount -a(重新加载fstab)

  2. 挂载选项 (常用):
    • defaults:默认(rw, suid, dev, exec, auto, nouser, async)
    • ro:只读挂载
    • noexec:禁止执行挂载目录内的可执行文件(安全)
    • nofail:设备不存在时不报错(适合外接设备)

总结

  1. 硬盘物理最小读写单位是扇区 ,文件系统最小管理单位是,inode 负责存储文件元数据和块映射关系;
  2. 索引结构从FAT32的链表演进到Ext4/XFS的B+树(Extent),核心是提升大文件处理和随机访问性能;
  3. 磁盘分区分主分区/扩展分区/逻辑分区,LVM可动态管理磁盘空间,是企业级Linux系统的常用方案;
  4. 挂载是将文件系统关联到目录的过程,/etc/fstab 实现自动挂载,mount命令用于手动挂载。
相关推荐
DianSan_ERP7 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅7 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
2501_946205527 天前
晶圆机器人双臂怎么选型?适配2-12寸晶圆的末端效应器有哪些?
服务器·网络·机器人
linux kernel7 天前
第七部分:高级IO
服务器·网络
数字护盾(和中)7 天前
BAS+ATT&CK:企业主动防御的黄金组合
服务器·网络·数据库
~远在太平洋~7 天前
Debian系统如何删除多余的kernel
linux·网络·debian
unfeeling_7 天前
Keepalived实验
linux·服务器·网络
坐吃山猪7 天前
OpenClaw04_Gateway常见问题
网络·gateway·openclaw
上海云盾商务经理杨杨7 天前
2025年重大网络安全事件回顾与趋势分析
网络·安全·web安全
kylezhao20197 天前
C# 的开闭原则(OCP)在工控上位机开发中的具体应用
网络·c#·开闭原则