【磁盘与文件系统】

一、硬盘物理结构

层级 说明 补充细节
磁盘(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命令用于手动挂载。
相关推荐
南湖北漠几秒前
听说拍照的人会拿相似的鱼皮豆代替野生鹌鹑蛋拍照(防原创)
网络·人工智能·计算机网络·生活
一个有温度的技术博主8 分钟前
网安实验系列四:信息收集-旁站、C段信息
网络
木下~learning16 分钟前
对于Linux中等待队列和工作队列的讲解和使用|RK3399
linux·c语言·网络·模块化编程·工作队列·等待队列
F1FJJ16 分钟前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件
攻城狮在此1 小时前
华为汇聚交换机DHCP中继配置
网络·华为
婷婷_1721 小时前
【PCIe验证每日学习·阶段复盘01】Day1~Day7 纯理论深度复盘
网络·程序人生·芯片·每日学习·pcie 验证·ic 验证·pcie学习
Shepherd06192 小时前
【IT 实战】Apache 反向代理 UniFi Controller 的终极指北(解决白屏、502、400 错误)
运维·网络·apache·it·unifi
nbsaas-boot3 小时前
基于 HTTP 构建 MCP Tools 的完整工程解析
网络·网络协议·http·ai
i建模3 小时前
SSL: CERTIFICATE_VERIFY_FAILED feishu 机器人CoPaw
运维·网络·网络协议·ssl·openclaw
艾莉丝努力练剑3 小时前
alarm系统调用的一次性原理揭秘
linux·运维·服务器·开发语言·网络·人工智能·学习