lvm卷创建删除扩容坏盘移出卷组操作
创建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
pvcreate /dev/sd{b..c} pvs
vgcreate vg_test /dev/sdb vgs vgextend vg_test /dev/sdc
lvcreate -L 5G -n lv_test vg_test lvcreate -L 2G -n lv_test vg_test
lvcreate -l 100%FREE -n lv_test vg_test
|
扩容lvm卷组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
partprobe
pvcreate /dev/sdc1
pvs
vgs
vgextend vg_test /dev/sdc1 vgdisplay
pvs
lvextend -l +100%FREE /dev/mapper/vg_test-lv_test
lvextend -L +5G /dev/mapper/vg_test-lv_test
ext4文件系统扩容命令: resize2fs /dev/mapper/vg_test-lv_test xfs 文件系统扩容命令: xfs_growfs /dev/mapper/vg_test-lv_test
注意:如果2块pv一块5G 如果创建的lvm卷就有2G那么另外一块盘就不会显示vg_test-lv_test 因为他没在用
|
删除lvm卷
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| 步骤: 1、卸载挂载点 2、将pv卷从vg卷组移出 3、执行删除pv pvmove 4、此时磁盘已经移出
详情
df -h | grep lv_test
sudo umount /mnt/data
sudo fuser -km /mnt/data sudo umount -l /mnt/data
sudo lvremove /dev/vg_test/lv_test 系统会提示确认,输入 y 即可。 删除卷组 (VG)
sudo vgremove vg_test 清除物理卷 (PV) 信息 最后,清除物理磁盘 /dev/sdb 和 /dev/sdc 上的 LVM 标签,使其恢复到未分配状态。 sudo pvremove /dev/sdb /dev/sdc
|
坏盘移出卷组
既然 /dev/sdb 已经损坏,你的目标是将数据迁移到 /dev/sdc 并将坏盘移出卷组。
根据你提供的 pvs 信息:
/dev/sdb (坏盘): 已用约 2G,空闲 0。
/dev/sdc (好盘): 已用约 2G,空闲 2.99G。
好消息是:好盘 sdc 的空闲空间(2.99G)足以容纳坏盘 sdb 上的数据(约 2G),因此可以直接进行无损迁移。
请按照以下步骤操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| 既然 /dev/sdb 已经损坏,你的目标是将数据迁移到 /dev/sdc 并将坏盘移出卷组。
根据你提供的 pvs 信息: /dev/sdb (坏盘): 已用约 2G,空闲 0。 /dev/sdc (好盘): 已用约 2G,空闲 2.99G。
好消息是:好盘 sdc 的空闲空间(2.99G)足以容纳坏盘 sdb 上的数据(约 2G),因此可以直接进行无损迁移。
请按照以下步骤操作:
一、迁移数据 1、将坏盘 sdb 上的所有数据移动到卷组内的其他磁盘(即 sdc)上。 sudo pvmove /dev/sdb
注意:这个过程可能需要一点时间,取决于数据量大小。如果中途断线,数据也是安全的,重启后再次运行该命令即可继续。
2、确认迁移完成 移动完成后,再次查看物理卷状态,确保 sdb 的已用空间变为 0。 sudo pvs
此时 /dev/sdb 的 PUsed 应该为 0,而 /dev/sdc 的 PFree 应该变小。
3、将坏盘移出卷组 数据移走后,将 sdb 从 vg_test 卷组中剔除。 sudo vgreduce vg_test /dev/sdb
4、清除坏盘标签(可选) 虽然盘坏了,但为了彻底清除 LVM 信息,可以执行此命令(如果盘彻底坏了无法写入,这步会报错,忽略即可)。 sudo pvremove /dev/sdb
5、💡 补充情况:如果盘坏得太厉害 如果 pvmove 报错(例如提示 I/O error 或无法读取),说明坏盘已经无法读取数据:
如果数据不重要:直接强制移除坏盘。 sudo vgreduce --removemissing --force vg_test (注意:这会导致存储在 sdb 上的那部分数据丢失)
如果数据重要:不要执行任何操作,尝试使用 ddrescue 等工具先对 sdb 进行镜像备份,再进行恢复。
|