目录
1. 先明确:PE是LVM架构中的“最小存储管理单元”
要理解PE(Physical Extent,物理扩展块),需先掌握其所属的LVM(Logical Volume Manager,逻辑卷管理器)——它是Linux系统中一种灵活的存储管理工具,核心作用是 将多个分散的物理存储设备(如硬盘、分区、RAID阵列)抽象成一个统一的“存储池” ,再从“存储池”中按需划分可动态调整大小的逻辑卷,解决传统分区“大小固定、难以调整”的问题。
2. LVM的三大核心组件(PE藏在PV中)
LVM的架构由“物理层→池层→逻辑层”三层组成,PE是连接物理层与逻辑层的关键:
1)物理卷(PV,Physical Volume) 是LVM的“物理存储基础”,可以是物理硬盘(如/dev/sdb)、磁盘分区(如/dev/sdb1)、SAN存储卷或RAID阵列等。使用前需先将这些存储介质“初始化”为PV,初始化的核心操作就是 将PV划分为多个大小相等的“物理扩展块(PE)” ——PE是LVM管理存储的“最小单元”(默认大小4MB,可自定义),后续LVM的所有存储分配、迁移都以PE为单位。
2)卷组(VG,Volume Group) 是多个PV的“集合”,相当于一个“存储池”。比如将/dev/sdb1和/dev/sdc1两个PV加入同一个VG(如datavg),这个VG就拥有了两个PV的所有PE总和,后续划分逻辑卷时,直接从这个“池”中分配PE即可。
3)逻辑卷(LV,Logical Volume) 是从VG中“按需划分”的逻辑存储块,相当于传统分区(如/dev/mapper/datavg-datalv),可直接格式化(如XFS、EXT4)后挂载使用。LV的最小组成单位是“逻辑扩展块(LE,Logical Extent)”, 1个LE会直接映射到1个PE ——也就是说,LV的实际存储,本质是占用了VG中若干个PV的PE。
3. PE的核心作用:让存储“可迁移、可灵活调整”
正因为LVM以PE为最小管理单元,才实现了存储的灵活性:当需要更换旧硬盘、调整存储分布(如把数据从慢盘迁移到快盘)或优化性能时,无需重新分区或迁移文件,只需用pvmove命令将“旧PV上的PE”整体迁移到“同一VG内的新PV”即可——迁移完成后,LV的LE会自动重新映射到新PV的PE,上层系统和应用完全感知不到底层存储的变化。
要不要我帮你整理一份 LVM核心概念(PV/VG/LV/PE)的对比表 ?把每个概念的“定义、作用、关联对象”列清楚,方便你快速查阅。
4.开始测试
添加2块测试盘
两块盘都制作为逻辑卷
[root@myoracle ~]# fdisk /dev/sdb
[root@myoracle ~]# fdisk /dev/sdc
测试开始
[root@myoracle ~]# pvcreate /dev/sdb1[root@myoracle ~]# vgcreate>方案1:[root@myoracle ~]# fallocate -l 4G /data/virtual_4g_file方案2:[root@myoracle ~]# dd if=/dev/zero of=/data/virtual_4g_file bs=1G count=4 status=progress
选其中1种即可。
[root@myoracle ~]# df -h
查看数据分布
[root@myoracle ~]# pvdisplay /dev/sdb1 -v -m
可以看到有1279个PE,都分给了/dev/datavg/datalv。
添加PV到VG 将第二块盘添加到卷组:
[root@myoracle ~]# pvcreate /dev/sdc1[root@myoracle ~]# vgextend src="/uploads/allimg/20251219/2-2512191HK33N.png">
PE迁移指定PE迁移这里演示指定PE情况下,将指定的PE(0-1278)从sdb迁移到sdc,指定PE迁移时,一定要确保目标PV上有足够空闲的PE,否则迁移会失败。
[root@myoracle ~]# pvmove /dev/sdb1:0-1278 /dev/sdc1:0-1278[root@myoracle ~]#pvdisplay /dev/sdb1 -v -m[root@myoracle ~]#pvdisplay /dev/sdc1 -v -m将 /dev/sdb踢出VG
[root@myoracle ~]#pvdisplay /dev/sdb1 -v -m[root@myoracle ~]# pvs[root@myoracle ~]#vgreduce src="/uploads/allimg/20251219/2-2512191HK4532.png">到这里就完成了sdb1的数据往sdc1的数据迁移。
可以看到sdb1是空闲的。接下来验收整块盘迁移,这里也就是缩容了,从大盘迁移到小盘。只要小盘的空间够用。
[root@myoracle ~]# vgextend src="/uploads/allimg/20251219/2-2512191HK4333.png">这里可以看到已经迁移成功了。/dev/sdc踢出VG,取消盘即可。
[root@myoracle ~]# vgreduce>Xshell 8如何进行公钥私钥登录?使用Xshell 8进 Linux操作系统上安装软件包提示依赖不足的解决办法大全Linux初始化数据盘全流程
本文以 Ubuntu x86_64操作系统为例
查看新增数据盘
执行命令
查看新增数据盘。
当前的云主机有两块磁盘,/dev/vda是默认的系统盘,且已经拥有了一个分区/dev/vda1,/dev/vdb是本次新增需要初始化的数据盘,容量为200G。
创建MBR分区
下面介绍使用fdisk工具为新增数据盘/dev/vdb创建MBR分区的操作。
执行命令
fdisk /dev/vdb进入fdisk分区工具。
输入“n”,按“Enter”,开始新建分区。
从回显信息可以看到,磁盘有两种分区类型:“p”表示主要分区,“e”表示延伸分区。
以创建一个主要分区为例,输入“p”,按“Enter”,开始创建一个主分区。
“Partition number”表示主分区编号,用户可以选择1到4之间的数字。
以分区编号选择“1”为例,用户在这里可以输入主分区编号“1”,按“Enter”。
“First sector”表示初始磁柱区域,可以选择2048-419430399,默认为2048。
以选择默认初始磁柱编号2048为例,直接按“Enter”。
“Last sector”表示截止磁柱区域,可以选择2048-419430399,默认为83886079。
以选择默认截止磁柱编号419430399为例,直接按“Enter”。
分区已经创建成功,您已经为200GB的数据盘新建了1个分区。
输入“p”,按“Enter”,查看新建分区的详细信息。
输入“w”,按“Enter”,将分区结果写入分区表中。回显如下:
出现以上信息说明为磁盘/dev/vdb创建分区/dev/vdb1完成。如果之前分区操作有误,用户可输入“q”来退出fdisk分区工具,并且之前的分区结果也不会被保留。
最后,执行命令 partprobe,将新的分区表变更同步至操作系统即可。
创建文件系统并挂载
执行命令
mkfs -t ext4 /dev/vdb1为新建的分区创建文件系统,本示例中创建的是ext4格式的文件系统,请根据您的业务需求选择合适的文件系统。
说明
对于容量较大的云硬盘,mkfs命令可能执行时间较长,如需要缩短命令执行时间,您可以为mkfs命令添加如下参数:
ext2、ext3、ext4文件系统:添加-E nodISCard参数
xfs文件系统:添加-K参数
格式化需要等待一段时间,不要退出,直到显示格式化完成。
执行命令 ,新建挂载点。本示例中/mnt/sdc为挂载点。
mkdir /mnt/sdc执行命令将新建分区挂载到新建的挂载路径下。
mount /dev/vdb1 /mnt/sdc执行命令 查看挂载结果。
表示新建分区“/dev/vdb1”已挂载至“/mnt/sdc”。
设置开机自动挂载磁盘
如果您需要在主机系统启动时自动挂载磁盘,不能采用在/etc/fstab直接指定/dev/vdb1的方法,因为设备的顺序编码在关闭或者开启主机过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2。推荐使用UUID来配置自动挂载数据盘。磁盘的UUID(Universally Unique Identifier)是linux系统为磁盘分区提供的唯一的标识字符串。
执行命令,查询磁盘分区/dev/vdb1的UUID和文件系统类型。
blkid /dev/vdb1执行命令
vi /etc/fstab使用VI编辑器打开“fstab”文件。按“i”,进入编辑模式,将光标移至文件末尾,按“Enter”,添加如下内容,其中UUID=处的内容请输入您在上一步中查询到的UUID,操作如图所示:
此处内容有所区别:
在ubuntu中 前缀是 /dev/disk/by-uuid
在centos中 前缀是 UUID=
与已有的配置保持一致。
注意最后一个参数 是 2
按“ESC”后,输入“:wq”,按“Enter”。保存设置并退出编辑器。
验证自动挂载功能,首先卸载已挂载的分区,执行命令
umount /dev/vdb1执行命令 来重新加载/etc/fstab文件的所有内容
执行命令 来查询文件系统挂载,操作及回显如图所示:
mount |grep /mnt/sdc如果出现图中回显信息,说明自动挂载设置成功。
以上就是什么是数据盘的扩容和缩容?如何完成Linux数据盘的扩容和缩容的详细内容,更多相关资料请阅读主机测评网其它文章!

PE迁移指定PE迁移这里演示指定PE情况下,将指定的PE(0-1278)从sdb迁移到sdc,指定PE迁移时,一定要确保目标PV上有足够空闲的PE,否则迁移会失败。












发表评论