centos 新加磁盘分区动态扩容
你不能直接将一个分区分配给/dev/mapper/centos-root
,因为这是一个逻辑卷(属于 LVM 系统)。不过,你可以通过以下步骤将/dev/sda3
添加到现有卷组或创建新的逻辑卷:
确认磁盘和分区信息
首先检查分区是否已格式化以及是否包含数据:
lsblk # 查看新硬盘路径(假设为 /dev/sda3)
df -h # 查看已挂载的文件系统
方案 A:将分区添加到现有 LVM 卷组(推荐)
如果你的系统使用 LVM,且卷组空间不足,可以将/dev/sda3
添加到现有卷组(如centos
):
**步骤 1:**创建物理卷(PV)
sudo pvcreate /dev/sda3
步骤 2:查看卷组
sudo vgs # 确认卷组总容量
sudo pvs # 查看物理卷列表
步骤 3:将 PV 添加到卷组(VG)
centos 为卷组名
sudo vgextend centos /dev/sda3
步骤 4:扩展逻辑卷(LV)
扩展centos-root
逻辑卷:
sudo lvextend -L +50G /dev/mapper/centos-root # 增加50GB
# 或扩展至最大可用空间:
sudo lvextend -l +100%FREE /dev/mapper/centos-root
参数说明:
-l +100%FREE
:将所有空闲空间分配给目标逻辑卷- 若只需分配部分空间(如 50GB),可使用:
-L +50G
步骤 5:扩展文件系统
根据文件系统类型执行:
# 若为XFS文件系统:
sudo xfs_growfs /dev/mapper/centos-root# 若为ext4文件系统:
sudo resize2fs /dev/mapper/centos-root
最后效果:
lsblk
centos-root 就是我的根目录
原理
为什么centos-root 在两个物理分区(sda2和sda3)下?
这是因为你的系统使用了逻辑卷管理(LVM)技术。在 LVM 中,逻辑卷可以跨越多个物理卷,从而实现灵活的存储管理和空间扩展
以下是具体解释:
- LVM 的基本概念
- 物理卷(PV):是 LVM 的基本存储单元,通常对应一个物理分区,如
/dev/sda2
和/dev/sda3
都可以被创建为物理卷。 - 卷组(VG):由一个或多个物理卷组成,它就像一个存储池,包含了所有物理卷的存储空间。
- 逻辑卷(LV):从卷组中划分出来的逻辑存储单元,可将其视为一个虚拟的分区,如
centos - root
就是一个逻辑卷,它可以被格式化并挂载到文件系统,供用户存储数据。
- 物理卷(PV):是 LVM 的基本存储单元,通常对应一个物理分区,如
- 为何出现两个分区下都有 centos - root:
/dev/sda2
和/dev/sda3
这两个分区都被添加到了同一个卷组中(很可能是默认的centos
卷组)。centos - root
逻辑卷从这个卷组中分配了空间,且其存储空间跨越了/dev/sda2
和/dev/sda3
这两个物理分区,所以你会看到centos - root
在两个分区下都有显示,这是 LVM 实现存储资源整合和灵活分配的一种方式。
这种方式的好处是便于管理员根据实际需求动态调整逻辑卷的大小,当一个逻辑卷空间不足时,可以将其他未使用的物理卷添加到卷组中,然后再将卷组中的空闲空间分配给逻辑卷,而无需像传统分区那样受到固定分区大小的限制
同一卷组(VG)中的所有物理卷(PV)的空间会被整合为一个统一的 “存储池”,而逻辑卷(LV)则从这个共享的存储池中分配空间。
具体来说:
- 卷组(VG)是 “容器”,它将多个物理卷(如
/dev/sda2
、/dev/sda3
)的空间合并成一个整体,消除了物理分区的边界。 - 逻辑卷(LV)如
centos-root
、centos-swap
,都是从这个卷组的共享空间中划分出来的,它们的空间来源是整个卷组的空闲容量,而非某个特定的物理分区。 - 多个逻辑卷可以 “共享” 卷组中的总空间,只要卷组有剩余空间,就可以动态扩展任意逻辑卷的大小(前提是文件系统支持)。
举个例子:
假设卷组centos
由/dev/sda2
(49G)和/dev/sda3
(78G)组成,总容量约为 127G。
centos-root
分配了 122G,centos-swap
分配了 5G,两者总和刚好接近卷组总容量(127G),说明卷组空间已被充分利用。- 如果未来
centos-root
需要扩容,只要卷组有新增的物理卷(如再添加一个分区),就能直接从卷组中分配空间给它,无需关心新增空间来自哪个物理设备。
这种机制正是 LVM 的核心优势:打破物理设备的限制,实现存储空间的灵活管理和动态调整。
移除这块硬盘
如果后续需要移除这块硬盘,可按以下步骤操作:
# 缩小逻辑卷和文件系统(需提前备份数据)
sudo lvreduce -L -50G /dev/mapper/centos-root
sudo xfs_growfs / # 调整文件系统大小# 移除物理卷
sudo vgreduce centos /dev/sdb
sudo pvremove /dev/sdb
到此,扩容已经完毕