【磁盘与文件系统】

一、硬盘物理结构

层级 说明 补充细节
磁盘(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命令用于手动挂载。
相关推荐
久绊A2 小时前
警惕高危漏洞!Pulse Secure Pulse Connect Secure 安全危机解析与防御指南
网络·安全
实时数据2 小时前
渗透测试通过模拟真实黑客的攻击行为,帮助识别系统、网络或应用程序中的潜在漏洞
网络·安全·web安全
网云工程师手记3 小时前
企业防火墙端口映射完整配置与安全收敛实操手册
运维·服务器·网络·安全·网络安全
气体传感器专家3 小时前
数据中心安全警报:为何“免维护”气体传感器可能正在制造危险盲区?
网络·安全·制造
Kendra9193 小时前
服务器上架流程
运维·服务器·网络·ip·磁盘
cuber膜拜3 小时前
Tenacity 原理与基本使用
服务器·网络·python·装饰器模式·tenacity
cuber膜拜3 小时前
PyBreaker 原理与基本使用
服务器·网络·python·pybreaker
3GPP仿真实验室4 小时前
【Matlab源码】6G候选波形:MIMO-OFDM-IM 增强仿真平台
开发语言·网络·matlab
上海合宙LuatOS4 小时前
LuatOS核心库API——【fatfs】支持FAT32文件系统
java·前端·网络·数据库·单片机·嵌入式硬件·物联网