如何将我的LVM 250 GB根分区移动到新的120GB硬盘上?


18

我有以下情况:

我当前的Ubuntu(12.04)安装是从外部HDD(250 GB)运行的,因为我懒于购买新的内部HDD。现在,我有了一个新的内部内存(120GB),我想将所有内容移动到内部。不再讨论安装Ubuntu新程序,因为它已经过时了。

幸运的是(我希望如此),根分区已使用LVM进行了分区,因此希望将分区移至较小的内部HDD。

这可能吗?在哪里可以找到帮助?

编辑:这个问题已经很老了,可能已经过时了。我添加了当时使用的Ubuntu版本。


相关问题 -上面的答案不够清楚...
MeSo2 '18

以上两个答案对我来说还不够清楚。因此,开始了一个新职位。
MeSo2

Answers:


39

您可能怀疑,使用LVM这样做非常优雅。

缩小现有安装以适合较小的磁盘。

物理上安装新硬盘,格式和pvcreate它,使用vgextend它添加到相同的VG的根分区

使用pvmove透明远离旧分区将所有数据

用于vgreduce从vg中删除外部hd。拔出旧磁盘/ dev / sdOLD。

在下面的示例中:

  • /dev/sdOLD 代表要替换的旧分区
  • /dev/sdNEW 代表新分区取代它。
  • vgX 代表卷组

示例:当然,您必须100%确保使用的设备正确。同样,从系统中删除完整且最新的备份也是必不可少的。

pvcreate /dev/sdNEW
vgextend vgX /dev/sdNEW
pvmove /dev/sdOLD
vgreduce vgX /dev/sdOLD

使用update-grubgrub-install使新的根磁盘可启动

做完了


如果您提供了具体示例,那就太好了。
isaaclw

12
啊,这是对带有有用信息的有效接受帖子的投票所带来的好处。我故意不举一个具体的例子,因为这样的危险是有人会不经意间复制粘贴并破坏他/她的数据。如果您对lvm做任何事情,您都应该能够找到与我给出的指针一致的轴承。
弗洛伊德2013年

2
同样在Cento7上工作。这里提供的步骤足以让我学到一点知识,也学到一点Google知识。现货上
terary

CentOS的:使用GRUB2-mkconfig -o “$(的readlink -e /etc/grub2.cfg)” ...... 从这里
terary

21

首先,如果您将整个250GB磁盘用于当前安装,则需要将其缩小以适合120GB磁盘。您只能在卸载ext4文件系统时对其进行收缩,因此您需要从Ubuntu live系统(CD或USB)或专用维护live系统(例如GParted live)启动。您可以使用resize2fs或GParted来调整现有文件系统的大小。

缩小现有安装的文件系统以适合新磁盘后,如果需要,可以在安装了文件系统的情况下进行其余操作。如果现有文件系统适合新磁盘,则可以进行传输而无需卸载任何文件或重新引导。

在下面的描述中,我将展示如何使用称为的现有卷组从物理卷移动/dev/sdb1到物理卷。确保调整磁盘字母和分区号以匹配您的系统。/dev/sda1oldvg

要进行实时传输:

  1. 分区的新盘,使用您所选择的分区工具(cfdiskfdiskparted,...)。请参阅例如如何添加其他硬盘驱动器?
  2. 在新磁盘上创建物理卷: pvcreate /dev/sda1
  3. 将此物理卷添加到包含要移动的逻辑卷的现有卷组中: vgextend oldvg /dev/sda1
  4. 将逻辑卷从一个物理卷移动到另一物理卷: pvmove /dev/sdb1 /dev/sda1
  5. 将现有卷组分为两部分: vgsplit oldvg newvg /dev/sda1

另一种方法是使用来使现有逻辑卷成为镜像卷lvconvert --mirror,在新磁盘上设置镜像,然后使用分割镜像lvconvert --splitmirrors。这样,您最终获得了两个数据副本,并且在拆分之后,每个副本都有自己的生命。

完成复制后,您需要使新磁盘可启动。为此挂载文件系统。假设它已安装在上/mnt,请以root身份运行以下命令:

chroot /mnt
# if the name of the volume group has changed, edit /etc/fstab
update-grub
grub-install /dev/sda

或者,您可以使用Clonezilla。这是一个功能强大的磁盘操作和克隆工具,我认为它可以解决您的情况,但是我没有经验。


1
从根本上说pvadd, pvmove, pvremove,这个问题的答案如何被我接受……
ish

太复杂了,不是他需要的东西
弗洛伊德(Floyd)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.