类别:Ubantu / 日期:2026-08-26 / 浏览:92 / 评论:0
系统是:Ubuntu 22.04.4 LTS
如下图,需要将sdc硬盘(新)替换sdb硬盘(旧),都是10G容量,系统已使用lvm方式管理,vg组是:vg0,sdb挂载的是根/
想用 /dev/sdc 替换 /dev/sdb。这是一个LVM在线替换硬盘的操作,需要数据迁移和设备替换两个步骤。
一、操作前确认
首先检查 /dev/sdc 的状态:
# 查看 sdc 是否已被LVM使用 pvs | grep sdc lsblk | grep sdc
如果 sdc 显示没有任何LVM关联(如你的输出所示,sdc 单独列出没有子项),说明它是空闲的,可以用于替换。
二、操作步骤
步骤1:将 /dev/sdc 加入LVM
# 1. 初始化 sdc 为物理卷(PV) pvcreate /dev/sdc # 2. 将 sdc 加入到 vg0 卷组 vgextend vg0 /dev/sdc # 3. 验证是否添加成功 pvs
步骤2:将数据从 /dev/sdb 迁移到 /dev/sdc
这是最关键的步骤,使用 pvmove 命令将数据从旧盘迁移到新盘:
# 将 sdb 上的所有物理块(PE)迁移到 vg0 中的其他空闲PE(即 sdc) pvmove /dev/sdb /dev/sdc
⚠️ 重要提醒:
这个操作不会停机,系统可以正常运行
迁移过程中系统性能可能会有所下降
10GB的数据迁移通常需要几分钟到几十分钟,取决于磁盘速度
切勿中断操作,否则可能导致数据不一致
当前终端是可以看到进度的,或者你也可以用另一终端,用以下命令监控迁移进度:
# 查看迁移进度 pvmove -i 5 # -i 5 表示每5秒更新一次进度 # 或者在另一个终端查看磁盘I/O iostat -x 1 /dev/sdb /dev/sdc
步骤3:验证数据迁移完成
迁移完成后,确认数据已从 sdb 移出:
# 查看 sdb 的 Used 应该变为 0 pvs -o+pv_used # 查看 sdb 的详细信息 pvdisplay /dev/sdb
此时应该看到 /dev/sdb 的 Used 为 0,Free PE 等于 Total PE。
步骤4:从卷组中移除 /dev/sdb
# 从 vg0 卷组中移除 sdb vgreduce vg0 /dev/sdb # 验证移除成功 pvs vgdisplay vg0
步骤5:删除 /dev/sdb 的物理卷标记(可选)
# 清除 sdb 上的LVM元数据 pvremove /dev/sdb
完成后,/dev/sdb 就变成一块普通的空盘,可以安全移除了。
用df -h命令,再检查下:
总结:
只换了硬盘,里面的数据不变,所有挂载点也不变。








