反向扩展LVM组卷

反向扩展LVM组卷

我不小心扩展了卷以利用 LVM 组卷上 100% 的可用磁盘空间。我需要它仅使用/dev/sdb磁盘,但它占用了两个磁盘的可用空间,因为它们位于同一组中。有没有办法扭转这种情况。

[root@server]# pvscan
  PV /dev/sda3   VG myvg   lvm2 [13.84 GB / 13.84 GB free]
  PV /dev/sdb3   VG myvg   lvm2 [22.06 GB / 8.22 GB free]
  Total: 2 [35.91 GB] / in use: 2 [35.91 GB] / in no VG: 0 [0   ]

[root@server]# lvextend -l +100%FREE /dev/myvg/rootvol
  Extending logical volume rootvol to 35.91 GB
  Logical volume rootvol successfully resized

[root@server]# pvscan
  PV /dev/sda3   VG myvg   lvm2 [13.84 GB / 0    free]
  PV /dev/sdb3   VG myvg   lvm2 [22.06 GB / 0    free]
  Total: 2 [35.91 GB] / in use: 2 [35.91 GB] / in no VG: 0 [0   ]

我实际上需要删除/dev/sda3.

这是在 RHEL 5.9 系统上。

请注意,我不想丢失数据

更新:

如果我使用临时磁盘,那么我将需要大约相同大小的磁盘,如果我仅 pvmove 一个卷,那么我如何确保其他磁盘中没有任何内容并且数据不会损坏。

更新:

我添加了一个新的更大的磁盘和pvmove /dev/sda3(新磁盘)/dev/sdb3/dev/sdc3我不确定为什么 df 仍然显示根卷上新添加的可用空间。

 [root@server]# pvscan
   PV /dev/sdc3   VG myvg            lvm2 [47.06 GB / 11.16 GB free]
   PV /dev/sda3                      lvm2 [13.85 GB]
   PV /dev/sdb3                      lvm2 [22.07 GB]
   Total: 3 [82.98 GB] / in use: 1 [47.06 GB] / in no VG: 2 [35.92 GB]

 [root@server]# lvscan
   ACTIVE            '/dev/myvg/rootvol' [35.91 GB] inherit

 [root@server]# df -kh .
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/myvg-rootvol
                        14G   12G  1.3G  91% /

答案1

首先,进行备份并测试它们是否有效。虽然这不会删除任何数据,但您可能会因拼写错误而丢失所有内容。

由于您只扩展了逻辑卷而不是文件系统,因此您所需要做的就是缩小逻辑卷。找出 上文件系统的大小/dev/myvg/rootvol。如果是 ext4 文件系统,tune2fs -l /dev/myvg/rootvol会告诉你。请注意,正确处理至关重要:如果将逻辑卷缩小到文件系统的大小以下,您将丢失数据。然后运行

lvreduce -L NNNNNNNk /dev/myvg/rootvol

其中 NNNNNNN 是文件系统的大小(以 kB 为单位)。

现在运行pvmove以释放 上的数据/dev/sda3。此后您可以删除物理卷。

pvmove /dev/sda3
vgreduce myvg /dev/sda3
pvremove /dev/sda3

答案2

自从我这样做了不是调整 FS 大小以填充完整的 VG 范围,并且新的物理卷是空的,我可以简单地通过以下方式减少卷组上的范围:

lvreduce -l3913721 /dev/myvg/rootvol
vgreduce rootvol /dev/sds
pvremove /dev/sds

其中 3913721 是旧范围

相关内容