将LVM卷组从一个物理磁盘移到另一个物理磁盘上

我是一个深入的PHP开发人员,他必须处理以下的系统pipe理员问题。

我们有一台运行Xen的Ubuntu(Ubuntu 14.04.1 LTS)服务器(xen-hypervisor-4.4-amd64 4.4.0-0ubuntu5.1)。

它有两个物理磁盘(250GB和2TB),每个包含一个LVM文件系统(/ dev / sdb是旧的250GB,/ dev / sda是​​新的2TB)。

root@xen:~# pvscan PV /dev/sdb3 VG tiffany-vg lvm2 [232.17 GiB / 85.48 GiB free] PV /dev/sda5 VG xen-vg lvm2 [1.82 TiB / 1.77 TiB free] Total: 2 [2.05 TiB] / in use: 2 [2.05 TiB] / in no VG: 0 [0 ] 

我需要将组“tiffany-vg”移动到新的/更大的磁盘(/ dev / sda),目的是从服务器中删除旧的250GB物理磁盘。 目标磁盘已经包含另一个名为“xen-vg”的LVM组,它必须保持独立。

我想移动“tiffany-vg”到/ dev / sda的“xen-vg”旁边,我真的不需要丢失任何数据! 有人愿意帮助我,因为我真的不想造成任何数据丢失?

我可能弄错了一些术语,我相信你明白我想说的是什么。 谢谢

更新:

“目标”磁盘(/ dev / sda)目前看起来像这样…

 root@xen:~# parted /dev/sda #...snip Number Start End Size Type File system Flags 1 1049kB 256MB 255MB primary ext2 boot 2 257MB 2000GB 2000GB extended 5 257MB 2000GB 2000GB logical lvm 

一个卷组可以有多个物理磁盘(或者你的情况,分区)。

首先,你需要在更大的磁盘上存放( /dev/sda )。 你没有写任何东西,你可以在那里,但基于你的问题,我假设一个未命名的分区。 将其命名为/ dev / sdaX。

扩展后更新:

你需要在你的/ dev / sda上放置。 我只是简单地合并卷组而已,但你不会那样做,就像你在你的问题中所说的那样。 这更简单。

步骤:

步骤-5:你需要减less/ dev / sda5上的物理卷,以便为你的新分区做好准备:

 pvresize /dev/sda5 -L 1500G 

步骤-4:使用parted将/ dev / sda5的大小减小到1600G(是的,稍微大一点,就像我们在pvresize中使用的一样!)

第3步:使用parted创build一个新的分区,/ dev / sda6,新的可用空间(大约400G)。

第二步:检查内核是否能自动检测到分区的变化。 查看/ proc /分区是否匹配新的状态(因此/ dev / sda6可见)。 如果不是,则需要重新启动。 (可能会的。)

步骤-1:您可以使/ dev / sda5再次变大,因为它可以:

  pvresize /dev/sda5 

步骤0:将/ dev / sda6格式化为物理卷:

 pvcreate /dev/sda6 

从这一点来说,/ dev / sda6是我们的/ dev / sdaX。

扩展结束

首先,你应该把/ dev / sdaX给卷组tiffany-vg:

 vgextend tiffany-vg /dev/sdaX 

其次,您应该在卷组tiffany-vg的(已)两个物理卷之间移动所有数据:

 pvmove tiffany-vg /dev/sdb3 /dev/sdaX 

在第三步中,您应该从tiffany-vg卷组中删除/ dev / sdb3:

 vgreduce tiffany-vg /dev/sdb3 

第二步将是有点关键,好奇。 如果是根分区,最好从救援盘上做到这一点。 祝你好运!

如果你简单地合并了音量组

第1步:你可以简单地将xen-vg合并到你的tiffany-vg中:

 vgmerge tiffany-vg xen-vg 

第2步:将所有数据从/ dev / sdb3移动到/ dev / sda5:

 pvmove tiffany-vg /dev/sdb3 /dev/sda5 

第3步:从新的大卷组中删除/ dev / sdb3:

 vgreduce tiffany-vg /dev/sdb3 

但是要小心,在这里,你的旧版本的xv-vg卷组结束了他的生活,所有的卷都移到了/ dev / tiffany-vg下面。 您需要在系统configuration中更改每个引用(不太可能需要更改/ etc / fstab之外的任何内容)。

结束