当前位置: 首页 > news >正文

学习Linux磁盘


目录

一、磁盘结构与分区

1.1 硬盘物理结构

1.2 硬盘数据存储结构

1.3 Linux 磁盘设备命名规则

1.3.1磁盘设备

1.3.2分区设备

二、分区表 MBR 与 GPT

2.1 MBR 分区表

2.1.1存储位置

2.1.2扇区内部结构

2.1.3核心限制

2.2 GPT 分区表

2.2.1核心优势

2.2.2适配场景

2.3对比

三、Linux 常见文件系统 & 磁盘查看命令

3.1 主流文件系统

3.2 磁盘扫描与查看命令

四、磁盘分区工具

4.1 fdisk(MBR 优先,兼容 GPT)

4.2 gdisk(GPT 专用工具)

4.3 parted

五、查看、格式化与挂载磁盘

5.1查看磁盘

5.2 磁盘格式化(创建文件系统)

5.3 磁盘挂载、卸载与永久挂载

5.3.1 临时挂载操作

5.3.2 卸载磁盘

5.3.3 永久挂载 /etc/fstab

5.4 swap分区

5.5小结

六、LVM 概述与管理

6.1 LVM 概述逻辑

6.1.1基础定义

6.1.2三层核心组件

6.1.3完整存储层级结构

6.2LVM 管理命令汇总

6.3LVM 实战操作步骤

6.3.1 创建逻辑卷完整流程

6.3.2LV 扩容操作流程

6.3.3整套 LVM 删除流程(反向操作)

6.4 LVM 创建简易流程

七、总结


一、磁盘结构与分区

1.1 硬盘物理结构

硬盘(Hard Disk Drive, HDD)的物理结构主要由以下几个核心部件组成:

(1) 盘片(Platter):硬盘的核心存储载体。通常由多个玻璃或铝制盘片堆叠而成,每片盘片有上下两个盘面,每个盘面都可以存储数据。

(2) 磁头(Read/Write Head):负责读取和写入数据的装置。它悬浮在盘片表面极近的地方(不接触盘片)。每个盘面都对应一个独立的磁头,所有磁头物理上连接在同一个磁头臂上,协同工作。

图1-1

1.2 硬盘数据存储结构

数据在硬盘上的存储是基于磁道和扇区的,从微观到宏观分为以下结构:

(1) 扇区(Sector):磁盘寻址的最小存储单位。传统机械硬盘的每个扇区大小为 512 字节。数据读写时,操作系统通常以扇区为单位进行调度。

(2) 磁道(Track):盘片表面以盘片中心为圆心画出的一系列同心圆轨道。当盘片旋转时,磁头在特定的磁道上移动以读写数据。单盘片上的磁道是同心圆。

(3) 柱面(Cylinder):在多盘片结构中,将所有盘片上处于相同半径位置的磁道组合在一起,形成一个圆柱形的区域,称为柱面。在早期的磁盘寻址中,柱面是定位数据的重要参考。

(4) CHS(Cylinder-Head-Sector):即 柱面/磁头/扇区​ 寻址方式。这是早期机械硬盘使用的物理寻址方式,通过这三个坐标来精确定位数据所在的扇区。随着硬盘容量增大,这种寻址方式被更高效的 LBA(逻辑块寻址)所取代。

1.3 Linux 磁盘设备命名规则

在 Linux 系统中,所有的硬件设备都被映射为文件,存放在/dev目录下。磁盘设备的命名有严格的规则:

1.3.1磁盘设备

/dev/sd[a-z]:代表 SATA、SCSI 或 NVMe 接口的硬盘(现代服务器和大部分 PC 的主流命名)

/dev/hd[a-z]:代表 老式的 IDE 接口硬盘(在早期的 PATA 时代使用,现在的系统已基本淘汰)。

1.3.2分区设备

① 主分区:编号为 1-4。

一块硬盘在 MBR 分区表下最多只能有 4 个主分区(或 3 个主分区 + 1 个扩展分区)。

命名示例:/dev/sda1,/dev/sda2,/dev/sda3,/dev/sda4

② 逻辑分区:编号 从 5 开始。

只有当创建了扩展分区(编号通常为 4)后,才能在扩展分区内划分逻辑分区。

命名示例:/dev/sda5,/dev/sda6等。(即使扩展分区是 sda4,逻辑分区也从 5 开始,而不是 4)。

注:在 GPT 分区表中,没有主/扩展/逻辑之分,所有分区编号通常从 1 开始,但命名规则仍沿用/dev/sda1,/dev/sda2...

二、分区表 MBR 与 GPT

2.1 MBR 分区表

MBR 即主引导记录,是传统磁盘分区方案,存储在磁盘最开头的 512 字节扇区。

2.1.1存储位置

磁盘首个 512 字节扇区(0 号扇区)。

2.1.2扇区内部结构

  1. 0~445 字节:引导代码,系统开机时执行,负责加载操作系统引导程序;
  2. 446~509 字节:分区表,共 64 字节,每条分区记录 16 字节;
  3. 510~511 字节:有效标识0x55AA,BIOS 识别磁盘可引导的标记。

2.1.3核心限制

  1. 容量上限:受 32 位寻址约束,单块磁盘最大仅识别 2TiB 空间;
  2. 分区数量限制:分区表仅能存放 4 条主分区记录,最多 4 个主分区;若需要更多分区,只能划分3 主 + 1 扩展分区,在扩展分区内创建多个逻辑分区。

2.2 GPT 分区表

GPT 全称全局唯一标识分区表,是 UEFI 规范配套的新式分区标准,解决了 MBR 的容量、分区数量、容错缺陷。

2.2.1核心优势

  1. 超大容量支持:使用 64 位 LBA 寻址,可支持 ZB 级别的超大容量硬盘,无 2TiB 限制;
  2. 分区数量充足:默认最多支持 128 个主分区,不需要扩展分区、逻辑分区;
  3. 自带容错机制:分区表头部、分区条目均保存多份副本,磁盘分区表损坏时可自动恢复,数据安全性更高。

2.2.2适配场景

必须搭配 UEFI 固件启动模式使用,Windows10/11、新版 Linux 等现代操作系统默认采用 GPT 分区格式,是当下装机、大容量硬盘的标准方案。

2.3对比

对比维度MBRGPT
寻址位数32 位64 位
最大磁盘容量2.1TiB9.4ZB
主分区上限4 个(需扩展分区扩容)128 个,无扩展分区概念
容错能力仅单份分区表,损坏难恢复分区表多副本,支持修复
启动模式传统 Legacy BIOSUEFI(主流新电脑)
适用设备老旧小容量硬盘、老式主机新电脑、4T 及以上大容量磁盘

三、Linux 常见文件系统 & 磁盘查看命令

3.1 主流文件系统

(1) XFS:CentOS7 默认文件系统,大文件读写性能优异,断电后数据恢复速度快,多用于数据库、大容量存储业务。

(2) EXT4:稳定性强、通用性高,是 CentOS6 系统默认文件系统,适配绝大多数传统 Linux 业务场景。

(3) SWAP:交换分区,充当系统虚拟内存;物理内存不足时缓存闲置进程数据,分区容量建议设置为物理内存的 1.5-2 倍。

(4) 其他文件系统

① JFS:日志型文件系统,依靠日志记录机制,宕机后可快速完成数据校验修复。

② FAT32:跨平台兼容格式,Windows、Linux、Mac 均可直接读写;单文件上限 4GB,无用户权限,多用于 U 盘、移动硬盘。

③ NTFS:Windows 专用文件系统;Linux 原生仅支持只读,安装 ntfs-3g 工具后才能实现完整读写。

3.2 磁盘扫描与查看命令

(1) 识别新增硬盘,无需重启服务器 命令:echo "- - -" > /sys/class/scsi_host/hostX/scan 扫描后系统可识别新添加的硬盘设备。

(2) 查看全部分区列表 命令:fdisk -l 作用:列出服务器全部磁盘、分区、容量、分区类型、设备名称等完整硬件信息。

(3) 树形化查看块设备 lsblk:以树形分层展示磁盘、分区层级结构; -f:额外显示分区文件系统类型与 UUID,常用于永久挂载配置

四、磁盘分区工具

4.1 fdisk(MBR 优先,兼容 GPT)

(1) 交互常用指令

① m:查看帮助信息

图4-1

② p:打印磁盘现有分区列表

图4-2

③ n:新建磁盘分区

图4-3

④ d:删除已有分区

图4-4

⑤ t:修改分区类型 ID

图4-5

⑥ w:保存分区表并退出

图4-6

⑦ q:不保存任何修改,直接退出

图4-7

4.2 gdisk(GPT 专用工具)

(1) 交互常用指令

① o:新建空白 GPT 分区表

图4-8

② p:查看磁盘分区信息

图4-9

③ n:创建新分区

图4-10

④ d:删除指定分区

图4-11

⑤ t:更改分区类型

图4-12

⑥ w:保存分区操作

图4-13

⑦ q:直接退出,放弃修改

图4-14

4.3 parted

parted 为一体化分区工具,同时支持 MBR、GPT 两种分区格式,支持命令行非交互脚本操作,可实现分区创建、删除、调整分区大小、修改分区表类型、格式化等全流程磁盘操作。

五、查看、格式化与挂载磁盘

5.1查看磁盘

(1)df:查看已挂载文件系统容量 常用: df -h (人类可读), -T (含类型), -i (inode)

图5-1

(2)lsblk -f:看设备、类型、LABEL、UUID、挂载点

图5-2

5.2 磁盘格式化(创建文件系统)

(1) 普通分区格式化

① XFS 格式:mkfs.xfs /dev/sdX1

② FAT32 格式:mkfs.vfat -F 32 /dev/sdX1

(2) 交换分区初始化 命令:mkswap /dev/sdX1

(3) 获取分区 UUID 命令:blkid /dev/sdX1

5.3 磁盘挂载、卸载与永久挂载

5.3.1 临时挂载操作

(1) 基础磁盘挂载:mount 设备 挂载点 (2) ISO 镜像挂载:mount -o loop xxx.iso/mnt

图5-1

5.3.2 卸载磁盘

命令:umount 设备名 / 挂载目录

图5-2

5.3.3 永久挂载 /etc/fstab

(1) 文件 6 个字段:UUID / 设备 挂载点 文件系统 挂载参数 dump 备份 fsck 检测序号

(2) 标准配置示例:UUID=xxx /data xfs defaults 0 2

(3) 校验 fstab 配制: mount -a

(4)步骤

1查看UUID blkid

图5-3

2 vim /etc/fstab 修改配置文件

图5-4

3 mount -a 不报错

图5-5

4重启(reboot)查看(df -h)挂载

图5-6

5.4 swap分区

前提创建:修改sdc3为swap

图5-7

swap 分区的管理是通过专门的命令完成的

(1) 初始化 mkswap /dev/sdc3
图5-8
(2)启用 swapon /dev/sdc3
图5-9
(3)禁用 swapoff /dev/sdc3
图5-10
(4)查看 swapon -s

5.5小结

(1)识别新盘: echo "- - -" > /sys/class/scsi_host/hostX/scan
(2)分区: fdisk /dev/sdX 或 gdisk /dev/sdX (GPT)
(3)格式化: mkfs.xfs /dev/sdX1 (或 EXT4/其他)
(4)创建挂载点: mkdir -p /data
(5)临时挂载: mount /dev/sdX1 /data
(6) 永久挂载: blkid 获取 UUID → 写入 /etc/fstab → mount -a 验证

六、LVM 概述与管理

6.1 LVM 概述逻辑

6.1.1基础定义

(1)英文全称:Logical Volume Manager,中文逻辑卷管理

(2)核心作用:可在不丢失原有数据的前提下动态调整磁盘容量,提升磁盘管理灵活性

(3)使用限制:存放引导文件的 /boot 分区,不支持基于 LVM 创建

6.1.2三层核心组件

(1)PV 物理卷(底层存储单元)

① 对应整块硬盘或独立磁盘分区,示例:/dev/sdb1

② 完成初始化后自动拆分为 PE 物理块,PE 默认大小 4MB

③ PE 尺寸越小,磁盘空间利用率越高;PE 总数上限 65534 块,会限制 VG 最大容量

(2)VG 卷组(统一存储资源池)

① 将多个 PV 聚合整合,形成一块完整逻辑存储池

② 支持动态添加、移除 PV,实现存储灵活扩容

③ 容量示例:160G PV + 500G PV = 660G 卷组

(3)LV 逻辑卷(用户可使用分区)

① 从 VG 存储池中划分出的逻辑区域,用于创建文件系统

② 完成格式化后挂载至目录,即可正常读写数据

6.1.3完整存储层级结构

硬盘 / 分区 → PV → VG → LV → XFS/EXT4 文件系统 → 挂载点

6.2LVM 管理命令汇总

  1. 扫描查看设备:pvscan、vgscan、lvscan
  2. 创建对应组件:pvcreate、vgcreate、lvcreate
  3. 查看详细信息:pvdisplay、vgdisplay、lvdisplay
  4. 删除对应组件:pvremove、vgremove、lvremove
  5. 扩容操作 (1)PV:无扩容命令 (2)VG:vgextend (3)LV:lvextend
  6. 缩容操作 (1)PV:无缩容命令 (2)VG:vgreduce (3)LV:lvreduce

6.3LVM 实战操作步骤

6.3.1 创建逻辑卷完整流程

  1. 识别新增硬盘(无需重启服务器) echo "- - -" > /sys/class/scsi_host/host0/scan图6-1
  2. 磁盘分区配置 使用 fdisk 工具对磁盘分区:fdisk /dev/sdb、fdisk /dev/sdc,分区类型 ID 修改为 8e(Linux LVM 标识)图6-2
  3. 创建物理卷 PV pvcreate /dev/sdc1 /dev/sdc1图6-3
  4. 创建卷组 VG vgcreate vgname1 /dev/sdc1 /dev/sdc2图6-4
  5. 创建逻辑卷 LV lvcreate -L 20G -n lvname1 vgname1图6-5
  6. 文件系统格式化 + 挂载 (1)格式化:mkfs.xfs/dev/vgname1/lvname1图6-6 (2)创建挂载目录:mkdir /opt/M图6-7 (3)临时挂载:mount /dev/vgname1/lvname1 /opt/M图6-8 (4)验证挂载状态:df -Th图6-9

6.3.2LV 扩容操作流程

1.新增物理卷,并将 PV 加入目标卷组

(1)初始化新分区为 PV:pvcreate /dev/sdb3

图6-10

(2)扩展 VG 容量:vgextend vgname1 /dev/sdb3

图6-11

2.扩展逻辑卷空间 lvextend -L+1G /dev/vgname1/lvname1图6-12

3.刷新文件系统,让扩容容量生效

图6-13图6-14图6-15

(1)XFS 文件系统:xfs_growfs /dev/vgname1/lvname1

(2)EXT4 文件系统:resize2fs /dev/vgname1/lvname1

6.3.3整套 LVM 删除流程(反向操作)

  1. 卸载挂载目录:umount /opt/M图6-16
  2. 删除逻辑卷:lvremove /dev/vgname1/lvname1图6-17
  3. 删除卷组:vgremove vgname1图6-18
  4. 清除分区 LVM 标识:pvremove /dev/sdb1 /dev/sdc1 /dev/sdc2图6-19

6.4 LVM 创建简易流程

新增硬盘 → fdisk 磁盘分区 → pvcreate 生成 PV → vgcreate 构建 VG → lvcreate 划分 LV → mkfs 格式化文件系统 → mount 挂载使用

七、总结

  • 磁盘底层基础 硬盘由盘片、磁头组成,扇区是最小存储单元;Linux 磁盘主流命名/dev/sd,MBR 分区主分区 1-4、逻辑分区从 5 起,GPT 无分区类型区分。

  • 两种分区表对比 MBR 适配老式 BIOS,仅支持 2TiB 硬盘、最多 4 个主分区,无容错;GPT 搭配 UEFI,支持 ZB 级硬盘、128 个主分区。

  • 文件系统与查看命令 主流系统:XFS(CentOS7)、EXT4(CentOS6)、SWAP 虚拟内存;FAT32 跨平台,NTFS 仅 Windows 原生读写。 常用命令:无需重启识别新硬盘、fdisk -l查看分区、lsblk -f查看设备 UUID、df查看挂载容量。

  • 分区工具fdisk适配 MBR,gdisk专用 GPT,parted同时支持两种分区表,可脚本自动化操作。

  • 磁盘挂载整套流程 新硬盘识别→分区→mkfs 格式化→mount临时挂载;写入/etc/fstab实现永久挂载,用mount -a校验;swap 分区需单独初始化、启用 / 关闭。

  • LVM 逻辑卷管理 三层架构 PV→VG→LV,核心优势是无损动态扩容磁盘,/boot不能使用 LVM。 操作流程:分区设类型 8e→创建 PV/VG/LV→格式化挂载;扩容需新增磁盘扩充 VG 再扩展 LV,最后刷新文件系统;删除操作与创建反向执行。

  • 整体核心逻辑 普通磁盘操作链路:识别→分区→格式化→挂载;传统固定分区无法灵活扩容,LVM 分层存储解决该痛点;生产环境新主机、4T 以上硬盘优先 GPT+LVM 方案。

http://www.jsqmd.com/news/1165803/

相关文章:

  • Python 3.12 open() 函数实战:5种模式读写CSV与JSON文件性能对比
  • 2026年7月最新泉州天梭官方售后热线及客户服务网点地址 - 天梭服务中心
  • Hermes Agent + NVIDIA NIM:120+大模型智能调度实战指南
  • 小型AI模型在网络不稳定地区的技术落地与优化策略
  • 远程代码执行安全风险与合规开发实践
  • 2026医药行业AI智能体厂商盘点:研发、营销、生产等不同职能怎么选?
  • AI时代知识产品化:从文档化到智能体的高ROI实践路径
  • 蓝牙定频测试实战:3种发射模式与9种包类型配置详解(附RTL芯片命令)
  • AI Agent 系统架构设计:多工具协同与记忆机制的工程化实现
  • AI 应用为什么需要 Workflow?不要把复杂任务写成一串函数调用
  • 高通CamX平台PDAF调试实战:3大核心参数表(Focus/Noise/Confidence)调优指南
  • AI自我改进工程实践:从反思机制到安全部署的完整指南
  • 2026年7月钢板止水带供应商推荐,丝杠/穿墙螺丝/u型丝预埋件/钢支撑/止水钢板,钢板止水带源头厂家口碑推荐 - 品牌推荐师
  • JetPack 6.x 下 ONNX Runtime GPU 加速实战指南
  • 艾尔登法环调试工具:3步掌握免费调试神器,解锁深度游戏体验
  • 02-决策树-泰坦尼克号乘客生存预测
  • SAP MTO E+M模式配置实战:策略组22与OBYC差异的3个关键步骤
  • TMC7300与PIC18F46K22的有刷直流电机控制方案
  • MCGS Pro 3.2.6 连接 S7-1200 G2 系列 PLC:5个常见通讯故障排查与解决方案
  • 江诗丹顿官方售后服务中心地址与24小时热线实地考察报告+多信源验证(2026年7月更新) - 江诗丹顿服务中心
  • 企业为何急需配备“网络安全架构师“?——工信部教考中心高级认证解读
  • DeepSeek V4双变体架构解析:混合注意力机制与百万上下文实战指南
  • Elden-Ring-Debug-Tool:艾尔登法环终极调试工具完整指南
  • AgentScope-Java:Java原生多智能体框架实战指南
  • 新手必看:AAV 肠道递送操作指南
  • Jetson Nano CSI 摄像头 OpenCV 调用排错:3 种常见 Gstreamer 管道错误与修复
  • 潍坊GEO优化服务2026推荐,精准提升本地企业引擎可见度
  • 深度相机竖直安装:Unity坐标变换与点云适配实战
  • Java面试官视角:如何展示你的项目亮点和架构思维
  • MCP协议与Unity3D集成:AI驱动游戏角色开发实战