目录
一、磁盘结构
1.1 磁盘概念
1.2 磁盘的结构
1.3 Linux 设备命名
二、分区
2.1 分区表
2.2. 主流 Linux 文件系统
2.3 磁盘识别与查看命令
三、分区工具与交互命令
3.1 fdisk(MBR)
3.2 gdisk(GPT 专用)
3.3 格式化 / 创建文件系统
3.4 挂载 / 卸载 / 开机自动挂载
3.5 磁盘/文件系统使用情况
四、案例
4.1 添加磁盘
4.2 扫描 SCSI 总线
4.3 使用 fdisk 分区
4.4 格式化
4.5 挂载
五、LVM 概述与逻辑
5.1 PV(Physical Volume,物理卷)
5.2 VG(Volume Group,卷组)
5.3 LV(Logical Volume,逻辑卷)
5.4 LVM 管理命令汇总
六、LVM 实战操作步骤
6.1 创建逻辑卷流程
6.2 扩容操作
6.3 删除 LVM
6.4 LVM创建流程
七、总结
一、磁盘结构
1.1 磁盘概念
什么是磁盘:磁盘是计算机中用于长期存储数据的核心硬件设备。简单来说,它是电脑的“仓库”,负责在关机后依然保存文件、系统、照片和应用程序。
1.2 磁盘的结构
硬盘物理结构
盘片:由多个金属或玻璃基片堆叠而成,每张盘片均具有上、下两个存储面(类似“双面唱片”)。
磁头:每张盘片的每个面对应一个磁头,负责读写数据(磁头数量 = 盘片数 × 2)。
硬盘数据结构(CHS寻址模型)
扇区:盘片上划分的扇形区域,固定存储 512字节(或4K高级格式)数据,是硬盘最小的物理存储单元。
磁道:盘片表面上以盘心为圆心的多个同心圆环,用于组织数据轨迹。
柱面:所有盘片上半径相同的磁道共同构成的虚拟圆柱体,是分区操作的重要参考维度。
1.3Linux设备命名
在Linux系统中,所有硬件设备(包括硬盘、分区、U盘等)都会被抽象为设备文件,统一存放在 /dev/ 目录下。用户通过操作这些文件即可访问对应的硬件。
设备文件的命名遵循特定格式,以/dev/hda5为例,其含义可拆解为三部分:
1.设备类型前缀(第1-2个字符)
hd:代表IDE接口的硬盘(老式并口硬盘)。
sd:代表SCSI接口或SATA接口的硬盘(目前主流,包括SSD和U盘)。
2.硬盘序号(第3个字符)
以英文字母 a、b、c……依次表示第1块、第2块、第3块……硬盘。
例如 sda 表示第一块SCSI硬盘,sdb 表示第二块。
3.分区编号(最后的数字)
以数字 1、2、3……依次表示该硬盘上的第1个、第2个、第3个……分区。
例如 sda1 表示第一块SCSI硬盘上的第一个分区,sda2 表示第二个分区。
二、分区
2.1 分区表
MBR(传统分区表):
储存位置:磁盘第一个 512B 物理扇区。
0~445字节:引导代码
446~509字节:分区表(共 4 条记录,每条 16B)
510~511 字节:校验标志0x55AA
分区规则:最多4 个主分区;或 3 主分区 + 1 扩展分区,扩展分区内可划分多个逻辑分区
硬性限制:单块磁盘最大识别 2TiB 容量
GPT(现代分区表):
容量:支持 ZB 级超大磁盘,突破 2TiB 限制
分区数量:默认最多 128 个分区,无需扩展分区
数据安全:分区表头部、尾部双副本,损坏可恢复
启动适配:完美搭配 UEFI 启动,新服务器 / 系统默认方案
2.2. 主流 Linux 文件系统
XFS:日志文件系统,大磁盘、大文件性能优异,断电快速修复;CentOS7 及以上系统默认
EXT4:经典稳定日志文件系统,兼容性强;CentOS6 默认
SWAP:交换分区(虚拟内存),常规配置为物理内存 1.5~2 倍;大内存服务器可酌情省略
其他:FAT32/NTFS(Windows 格式,Linux 读写 NTFS 需安装ntfs-3g)、JFS
2.3 磁盘识别与查看命令
查看磁盘全部分区列表:fdisk -l
图 2-1 查看磁盘全部分区列表
关键字段:设备名、启动标识、起止扇区、容量 Blocks、分区类型 ID(83 = 普通 Linux 分区、8e=LVM)
查看块设备层级拓扑树:lsblk(更直观,推荐日常使用)
lsblk -f:同时显示文件系统、分区 UUID
图 2-2 显示文件系统和uuid
lsblk -t:查看磁盘拓扑信息
图 2-3 查看磁盘拓扑信息
lsblk -o 自定义列:按需筛选输出字段
图 2-4 按需筛选输出字段
lsblk -P:输出键值对格式,便于脚本解析
图 2-5 输出键值对格式
扫描SCSI总线(无重启识别新盘)
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
当磁盘创建成功后,可用这三条命令,可以让我们不用重启就能识别新的磁盘。
可以看到,我们新创建的磁盘没显示。
图 2-6 列出系统中所有磁盘及其分区表信息
输入扫描命令后,可以看到我们新创建的两个磁盘已经显示出来,故我们使用这条命令后不需要重启就可以识别新创建的磁盘。
图 2-7 列出系统中所有磁盘及其分区表信息
三、分区工具与交互命令
3.1 fdisk(MBR)
进入方式:fdisk /dev/sdb(以操作 /dev/sdb 磁盘为例)
常用的参数:m 帮助; p 查看表; n 新建; d 删除; t 改类型; a 引导标志; l 列类型; w 写入保存; q 不保存退出
图 3-1 进入/dev/sdb
3.2 gdisk(GPT专用)
进入方式:gdisk /dev/sdc(以操作 /dev/sdc 磁盘为例)
常用的参数:o 新 GPT; p 查看; n 新建; d 删除; t 改类型(常见:8300 Linux FS,8200 swap,8e00 LVM);i 分区详情; v 校验; w 写入; q 退出不存
图 3-2 进入/dev/sdc
3.3 格式化/创建文件系统
1. XFS 文件系统(CentOS 7+ 默认推荐)
mkfs.xfs /dev/sdb1 或 mkfs -t xfs /dev/sdb1
2. VFAT32 文件系统(跨平台兼容,常用于U盘)
mkfs.vfat -F 32 /dev/sdb6 或 mkfs -t vfat -F 32 /dev/sdb6
3. Swap 交换分区(虚拟内存)
mkswap /dev/sdb5
4. 查看 UUID(通用命令)
blkid /dev/sdb1
3.4挂载/卸载/开机自动挂载
临时挂载:mount [-t 类型] 设备 挂载点
设置开机自动挂载:
vim/etc/fstab
输入:<设备/UUID> <挂载点> <类型> <参数> <dump> <fsck>
卸载:umount 设备 或 umount 挂载点
3.5磁盘/文件系统使用情况
查看已挂载文件系统容量:df
常用的命令: df -h (人类可读),df -T (含类型),df -i (inode)
lsblk -f:看设备、类型、LABEL、UUID、挂载点
四、案例
添加容量为20GB的磁盘,用 fdisk 进行分区挂载。
4.1 添加磁盘
进入VMware虚拟机,在左上方选择虚拟机,点击设置。
图 4-1 进入虚拟机
进入到当前界面,点下方的添加,选择磁盘,然后点下一步,之后内存选择20GB即可。
图 4-2 添加磁盘
4.2 扫描SCSI总线
添加完磁盘后,进入远程终端,我们刚刚添加的磁盘需要重启服务器才可以显示,可以输入扫描命令使我们无需重启就能显示磁盘。如上图 2-6 2-7 所示。
4.3 使用 fdisk 分区
首先输入 fdisk /dev/sdb 进入,如图 3-1 所示,然后进行分区,分区命令和步骤如下图所示:
图 4-3 分区
4.4 格式化
我们使用的是 centos7 系统,所以使用的文件类型是 xfs ,所以格式化的命令为:
4.5 挂载
在Linux中,挂载(Mount) 是指将一个存储设备(如硬盘分区、U盘、光盘)的文件系统连接到系统的目录树中,使该设备的内容能够被访问。所以我们需要创建一个新的空白目录来挂载。
创建新目录:mkdir /opt/zdw
挂载:mount /dev/sdb1 /opt/zdw
查看:df -h
图 4-5 挂载
我们使用当前命令操作的属于是临时挂载,重启后会消失,所以我们要设置一个开机自动挂载来达到永久挂载的效果。
vim /etc/fstab
在文件中输入:
UUID=bc64c042-766b-4ca8-b85b-7fe3e1b3e317 /opt/zdw xfs defaults 0 0
图 4-6 设置开机自动挂载
可以看到重启后挂载点并没有消失。
图 4-7 重启验证
五、LVM概述与逻辑
5.1 PV(Physical Volume,物理卷)
LVM 的最底层存储单位,通常对应:磁盘分区(如 /dev/sdb1)或整块硬盘(如 /dev/sdc)
关键特性:
PV 初始化后被划分为若干个 PE(Physical Extent,物理扩展块),默认大小为 4MB。
PE 是 LVM 的最小存储单元,类似文件系统的“数据块”。
PE 越小,存储空间利用率越高;但受限于内核可管理的最大 PE 数量(默认为 65534 个), PE 过小会限制 VG 的最大容量。
5.2 VG(Volume Group,卷组)
将 一个或多个 PV 聚合为一个整体的逻辑存储池。
关键特性:
VG 是 LVM 的中间层,屏蔽了底层物理设备的差异。
支持动态添加或删除 PV,实现存储池的在线扩容或缩容。
5.3LV(Logical Volume,逻辑卷)
从 VG 中划分出的逻辑分区,是用户直接使用的最终存储单元。
关键特性:
LV 对用户而言类似于传统分区,可格式化为文件系统并挂载使用。
支持在线扩容(lvextend)和在线缩容(lvreduce,需谨慎操作)。
能够在保持现有数据不变的情况下动态调整磁盘容量,这是 LVM 最显著的优势。
5.4LVM 管理命令汇总
按功能分类(PV / VG / LV)
| 功能 | PV(物理卷) | VG(卷组) | LV(逻辑卷) |
| 扫描 | pvscan | vgscan | lvscan |
| 创建 | pvcreate | vgcreate | lvcreate |
| 显示 | pvdisplay | vgdisplay | lvdisplay |
| 删除 | pvremove | vgremove | lvremove |
| 扩展 | —— | vgextend | lvextend |
| 缩减 | —— | vgreduce | lvreduce |
六、LVM实战操作步骤
6.1创建逻辑卷流程
1. 分区并设置类型为 LVM(ID=8e)
设置分区类型为:8e
fdisk /dev/sdb fdisk /dev/sdc
图 6-1 设置 sdb2 的类型为 8e
图 6-2 设置 sdc1 sdc2 的类型为 8e
2. 创建物理卷
pvcreate /dev/sdb2 /dev/sdc1
图 6-3 创建物理卷
3. 创建卷组
vgcreate yjs_vg /dev/sdb2 /dev/sdc1
图 6-4 创建卷组
查看:vgdisplay yjs_vg 可以看到容量为 9.99GB
图 6-5 查看卷组
4. 创建逻辑卷
lvcreate -L 9.9G -n yjs_lv yjs_vg
图 6-6 创建逻辑卷
查看:lvdiaplay /dev/yjs_vg/yjs_lv
图 6-7 查看逻辑卷
5. 格式化并挂载
格式化:mkfs.xfs /dev/yjs_vg/yjs_lv
图 6-8 格式化
创建目录:mkdir /opt/zdw123
图 6-9 创建目录
挂载:mount /dev/yjs_vg/yjs_lv /opt/zdw123
查看:df -Th
图 6-10 挂载
6.2 扩容操作
1.添加新物理卷
pvcreate /dev/sdc2
图 6-11添加新物理卷
2.扩展卷组
vgextend yjs_vg /dev/sdc2
图 6-12扩展卷组
3.扩展逻辑卷
lvextend -L +2G /dev/yjs_vg/yjs_lv
图 6-13扩展逻辑卷
4. 刷新文件系统
刚扩容玩后 df -Th 没发生变化,这时我们需要刷新一下即可。
df -Th
xfs_growfs /dev/yjs_vg/yjs_lv
df -Th
图 6-14刷新文件系统
6.3 删除LVM
umount /opt/zdw123
lvremove /dev/yjs_vg/yjs_lv
vgremove yjs_vg
pvremove /dev/sdb1 /dev/sdc1
图 6-15删除 LVM
6.4 LVM创建流程
新增硬盘 → 分区(fdisk) → PV(pvcreate) → VG(vgcreate) → LV(lvcreate) → 格式化(mkfs.xfs) → 挂载(mount)
七、总结
1. 磁盘基础
磁盘最小物理存储单元为扇区(512B/4K),核心结构包含盘片、磁头、磁道、柱面。Linux 设备统一存放在 /dev,主流命名 sdX(SATA/SAS/SSD/U盘),数字代表分区序号。
2. 分区表对比
MBR(老式):占用磁盘首个512B扇区,含引导代码、4条分区记录、0x55AA校验位;限制最大2TiB磁盘、最多4个主分区(3主+1扩展+多逻辑)。
GPT(新式):适配UEFI,支持ZB级大容量、默认128个分区,双分区表副本,安全性与扩展性更强,为现代系统默认。
3. 主流文件系统
EXT4:稳定通用,CentOS6 默认;XFS:大文件高性能、断电快恢复,CentOS7+ 默认;SWAP:虚拟内存分区,常规为物理内存1.5-2倍;NTFS Linux读写需 ntfs-3g。
4. 磁盘查看与热识别
fdisk -l:查看分区详情、分区类型ID;lsblk:直观查看磁盘拓扑,lsblk -f 可查FS与UUID。虚拟机可通过SCSI总线扫描命令不重启识别新磁盘。
5. 分区、格式化与挂载
fdisk 适配MBR分区,gdisk 适配GPT分区;mkfs.* 命令格式化文件系统,blkid 查看UUID。mount 临时挂载,写入 /etc/fstab 实现开机永久挂载,df -hT 查看磁盘使用情况。
6. LVM核心原理(PV→VG→LV)
PV物理卷:底层物理磁盘/分区,划分为最小单元PE(默认4M);VG卷组:聚合多个PV形成存储池;LV逻辑卷:从VG划分的可用逻辑分区,支持在线动态扩容,灵活调整磁盘容量。
7. LVM核心流程与命令
创建流程:新增磁盘→分区(8e类型)→pvcreate→vgcreate→lvcreate→格式化→挂载
扩容流程:新增PV→vgextend扩卷组→lvextend扩逻辑卷→xfs_growfs刷新文件系统;删除需按LV→VG→PV顺序操作。