将 /dev/vdb1 的空间全部合并到 /dev/mapper/centos-root(即扩展 CentOS 的根分区)

要将 /dev/vdb1 的 1TB 空间合并到 /dev/mapper/centos-root(即扩展 CentOS 的根分区),可以采用 LVM(逻辑卷管理) 的方式。以下是详细步骤:


步骤 1:检查当前磁盘和 LVM 情况

1.1 确认 /dev/vdb1 是否已格式化并挂载

bash 复制代码
lsblk                 # 查看磁盘和分区情况
df -h                 # 查看挂载情况

如果 /dev/vdb1 已经挂载,需要先卸载:

bash 复制代码
umount /dev/vdb1

1.2 检查当前 LVM 结构

bash 复制代码
pvdisplay             # 查看物理卷(PV)
vgdisplay             # 查看卷组(VG)
lvdisplay             # 查看逻辑卷(LV)

记录 VG Name(如 centos),后面会用到。


步骤 2:将 /dev/vdb1 加入 LVM

2.1 创建物理卷(PV)

bash 复制代码
pvcreate /dev/vdb1

检查是否成功:

bash 复制代码
pvdisplay

2.2 扩展卷组(VG)

假设你的 VG 名称是 centos(根据 vgdisplay 输出调整):

bash 复制代码
vgextend centos /dev/vdb1

检查 VG 是否扩展:

bash 复制代码
vgdisplay

步骤 3:扩展逻辑卷(LV)

3.1 查看 /dev/mapper/centos-root 对应的 LV

bash 复制代码
lvdisplay

通常,/dev/mapper/centos-root 对应的 LV 路径是 /dev/centos/root

3.2 扩展 LV

bash 复制代码
lvextend -l +100%FREE /dev/centos/root

-l +100%FREE 表示使用所有剩余空间)

3.3 调整文件系统大小

bash 复制代码
sudo lsblk -f
  • 输出示例

    复制代码
    NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
    vdb1   ext4         a1b2c3d4-...                        /mnt/data
    • FSTYPE 列中查看文件系统类型(ext4 即为目标格式)。
如果是 xfs 文件系统
bash 复制代码
xfs_growfs /dev/mapper/centos-root
如果是 ext4 文件系统
bash 复制代码
resize2fs /dev/mapper/centos-root

步骤 4:验证

bash 复制代码
df -h                 # 检查根分区是否扩容成功
lsblk                 # 确认 LVM 结构

可能出现的问题

1. /dev/vdb1 已经有文件系统

如果 /dev/vdb1 已经有数据,需要先备份并清除文件系统签名:

bash 复制代码
wipefs -a /dev/vdb1   # 清除文件系统签名

2. VG 没有足够空间

如果 vgdisplay 显示 Free PE / Size 为 0,可能是 /dev/vdb1 未正确加入 VG,重新检查 vgextend

3. 文件系统无法调整

  • 确保文件系统支持在线调整(xfsext4 支持)。
  • 如果无法调整,可以尝试在救援模式下操作。

总结

步骤 命令
检查磁盘 lsblk, df -h
创建 PV pvcreate /dev/vdb1
扩展 VG vgextend centos /dev/vdb1
扩展 LV lvextend -l +100%FREE /dev/centos/root
调整文件系统 xfs_growfs /resize2fs /dev/mapper/centos-root
验证 df -h, lsblk

完成后,/dev/mapper/centos-root 应该已经成功扩容。

相关推荐
安审若无14 小时前
PMON failed to acquire latch 的报错及sqlplus / as sysdba 无法连接
linux·运维·数据库
9毫米的幻想14 小时前
【Linux系统】—— 环境变量
linux·服务器·c语言·c++
失因14 小时前
Docker 容器与镜像
java·运维·spring cloud·docker·容器
运维行者_14 小时前
OpManager 与 iOS 26:开启 IT 运维新时代
运维·网络·网络协议·网络安全·ios·iphone·告警
DARLING Zero two♡14 小时前
【Linux操作系统】简学深悟启示录:动静态库
linux·运维·服务器
web安全工具库15 小时前
Linux ls 命令进阶:从隐藏文件到递归显示,成为文件浏览大师
linux·运维·服务器·c语言·开发语言
我要成为c嘎嘎大王16 小时前
【Linux】进程的概念和状态
linux·运维·服务器
0xCode 小新16 小时前
【C语言内存函数完全指南】:memcpy、memmove、memset、memcmp 的用法、区别与模拟实现(含代码示例)
linux·c语言·人工智能·深度学习·机器学习·容器·内存函数
hweiyu0017 小时前
Linux 命令:scp
linux·运维·服务器
cpsvps17 小时前
容器内部DNS解析针对美国服务器微服务的调试指南
运维·服务器·微服务