如何将已安装和映射的逻辑卷从一个卷组/物理卷移动到另一卷组/物理卷

问题描述

我知道有很多类似的问题,但是没有一种解决方案适合我,因为我的情况有点复杂。很抱歉,如果我忽略了其中一个

所以我有一台具有2个物理卷的ubuntu服务器一个是4TB HDD,另一个是250GB SSD。

PV /dev/sda3   VG ssd             lvm2 [<217.43 GiB / <197.43 GiB free]
PV /dev/sdb1   VG hdd             lvm2 [<3.64 TiB / 3.63 TiB free]
Total: 2 [3.85 TiB] / in use: 2 [3.85 TiB] / in no VG: 0 [0   ]

它们分别映射到2个卷组HDD和SSD中。

Reading volume groups from cache.
Found volume group "ssd" using Metadata type lvm2
Found volume group "hdd" using Metadata type lvm2

将卷组安装到不同的路径:

ACTIVE            '/dev/ssd/usr' [5.00 GiB] inherit
ACTIVE            '/dev/ssd/var' [5.00 GiB] inherit
ACTIVE            '/dev/ssd/home' [5.00 GiB] inherit
ACTIVE            '/dev/ssd/opt' [5.00 GiB] inherit
ACTIVE            '/dev/hdd/data' [4.00 GiB] inherit

它们也像这样安装/映射

Filesystem            Size  Used Avail Use% Mounted on
udev                   32G     0   32G   0% /dev
tmpfs                 6.3G  7.6M  6.3G   1% /run
/dev/sda1             3.9G  745M  3.2G  19% /
/dev/ssd/usr          4.8G  1.7G  2.9G  37% /usr
tmpfs                  32G     0   32G   0% /dev/shm
tmpfs                 5.0M   20K  5.0M   1% /run/lock
tmpfs                  32G     0   32G   0% /sys/fs/cgroup
/dev/mapper/ssd-opt   4.8G  840M  3.8G  19% /opt
/dev/mapper/ssd-home  4.8G   10M  4.6G   1% /home
/dev/mapper/ssd-var   4.8G  944M  3.7G  21% /var
tmpfs                 6.3G     0  6.3G   0% /run/user/0
/dev/mapper/hdd-data  3.9G  8.0M  3.6G   1% /data

我想将所有内容移至HDD并为逻辑卷划分所有可用空间。我最初没有设置LVM,所以我不知道该怎么做。

我尝试使用vgextend,但出现此错误

Can't open /dev/sdb1 exclusively.  Mounted filesystem?

然后我尝试使用pvmove并给出了此错误

Failed to find device for physical volume "hdd".

我也尝试使用vgmerge,但出现此错误

Logical volumes in "ssd" must be inactive

如果我尝试停用逻辑卷,则会发生这种情况:

Logical volume ssd/usr contains a filesystem in use.
Can't deactivate volume group "ssd" with 4 open logical volume(s)

所以我试图卸载文件系统,但它不允许我

umount: /usr: target is busy.

而且我不认为我可以在不破坏服务器的情况下停止使用目录的所有操作……看来我需要关闭服务器才能这样做,但是如果服务器无法运行任何命令下来...

如您所见,我被困住并挠头。任何帮助将不胜感激。

解决方法

所以我最终找到了一种方法来完成它...万一有人遇到这种罕见的情况,我是这样做的:

因此,正如问题中所述,我无法卸载逻辑卷或在它被挂载和积极使用时对其进行任何操作。所以对我来说唯一的选择是启动到 Recovery Mode,在那里一切都将停止,只有关键的东西在运行。这意味着我现在可以卸载逻辑卷。

因此,一旦在 Recovery Mode 中,我使用 lvcreate 在另一个物理卷上的另一个卷组上创建了一个新的逻辑卷(我知道它很复杂)。

然后我使用 cp -rp 将现有卷中的所有内容(是的还没有卸载)复制到新卷中(是的,还有其他方法可以做到这一点,您也可以直接移动它们) .

现在,我可以卸载两个卷并使用 lvremove 删除旧卷。

最后,我们在 /etc/fstab 中更改安装点(使用文本编辑器打开)并完成。

重启回到正常操作模式,它应该可以完美运行?

希望这有帮助...但这是一种罕见的情况,所以可能不是很有帮助 ?