将完整硬盘转换为LVM,无需外部存储

最近,我的2TB硬盘空间不足了,所以我购买了另外一个来补充它。 我的旧驱动器安装在一个特定的文件夹(没有系统文件或任何东西)。 从技术上讲,我可以创build一个新的文件夹,并将其作为新驱动器的挂载点,但是如果我可以使用LVM将两个驱动器组合起来,以便只有一个挂载点,那将会更加简洁。

有没有办法将现有的2TB硬盘转换为LVM直播? 我没有任何外部存储器用作传输介质,也没有任何其他备份介质是足够的,所以我需要一种方法来转换它,而不实际删除任何东西(和驱动器已满,所以我不能创build一个新的分区并使用它作为备份)。

不,不能将现有的完整驱动器转换为LVM,而不将其他位置的数据临时移动。 您需要在驱动器上创build一个或多个新分区,然后在新文件系统上运行pvcreate以创buildLVM物理卷。 然后在其上创build并激活一个卷组, 等等 。

但是,你说你买了一个新的驱动器,所以我假设它至less2TB,对不对? 如果您可以同时在系统中运行两个驱动器,则为您提供迁移path。

首先,连接大的新驱动器作为你的第二(我会承担SATA)驱动器。 它将作为/ dev / sdb出现在系统上。 使用fdisk在其上创build两个分区。 一个应该是一个小引导分区,一个演出可能是很多。 把其余的分配给一个新的lvm分区。 使用lvm工具(pvcreate,vgcreate等)在第二个驱动器上设置LVM。 将小引导分区留空。

closures机器并断开旧的2TB驱动器。 将新驱动器移到主要的SATA接口,或使用BIOS作为主要的。 使用安装的DVD启动机器。 在你创build的小引导分区上安装一个新的linux系统。

一旦你有这个工作,重新连接你的原始驱动器,现在在辅助SATA通道。 将系统启动并将新的基于LVM的文件系统configuration为/ newdrive(现在在/ dev / sda上,请记住)。 将旧的驱动器安装在/olddrive类的地方。

将旧硬盘上的所有数据复制到新驱动器中,方法是将rsync的内容复制到/ newdrive中。 现在,您已将所有数据转换到新的LVM文件系统。

现在来吓人的部分:擦拭你的原始驱动器。 仔细想想这个,因为如果你擦了错误的设备,你将失去所有的原始数据。 也许你可以借用别人的驱动器来作为临时备份?

一旦原始驱动器空白,将其设置为具有pvcreate的LVM设备。 然后,您可以使用vgextend和lvresize将您的LVM卷组增加到该新设备上。 这可以在系统运行时完成,不会影响新驱动器上的数据。 一旦完成这个操作,你就有了一个4TB的卷组。 您可以使用生成的文件系统上的resizefs来填充整个空间。

请注意,有很多方法可以将此操作拧紧,但这是可行的。 我强烈build议您以某种方式进行额外的备份。 另外请注意,在两个独立驱动器上运行的巨型卷组不是很强大 – 如果一个驱动器发生故障,可能会丢失大量数据。 更好的办法是在两个镜像驱动器的RAIDarrays上运行lvm。 这样你只能得到2TB的空间,但是一个驱动器的死亡并不会导致所有的事情完全失败。 以下是我之前执行LVM迁移的方法,供参考。

另一个select是在机器上安装第三个驱动器,并仅用于引导。 这使得事情变得简单一些,因为您不必在引导设备上设置单独的常规和lvm分区。 实际上,现代Linux发行版可能已经解决了这个问题,但是我知道几年前,像grub这样的引导装载程序不能与lvm一起工作,所以你必须引导非lvm设备。

看起来像我自己想出来的:我只用新的硬盘创build了一个卷组,所以我可以将数据复制到新的驱动器,然后擦除旧的驱动器,并将其添加到卷组。

是的,它可以完成,这是一个老问题,但我需要回答,因为您可以将现有的硬盘驱动器转换为LVM,而无需移动您的数据,也没有人说过可以完成。 您需要在新磁盘上创build一个新的LVM分区,然后在旧文件系统上使用-Zn运行pvcreate以创buildLVM物理卷,但要记住在创buildvg或lv时使用-Zn,否则您将丢失所有数据,如果您已经带来了新的2TB硬盘,你的总盘将是2 + 2TB。