事实之后,有可能将Linux机器转换为LVM吗?

我的Linux服务器使用LVM,因为我一年前更换了机器,并从头开始安装。 LVM一直是救命的人,我喜欢它的灵活性。 然而,我的Linux笔记本电脑是三年前完全安装的,因此使用了直分区。

是否有可能 – 没有重新安装 – 将现有的系统转换为LVM? 如果是这样,哪些工具可以做这个工作?

我希望在双启动系统上与Windows共享的文件系统不能是LVM。 如果我错了,请让我知道,但我会感到惊讶。

是的,这可以做到。

是的,您可以将它用于双启动Windows系统, 只要您将Windows设置为第一个分区,并且它是主分区 (不是逻辑内部的扩展)。 我在这里的指示不包括这种情况,这需要你有一些处理双启动的经验。 如果你是在双引导windows / linux安装之后,请不要在这一点下面提出任何build议。


我会做一个更好的:只有less数例外,你应该能够迁移你的整个笔记本电脑,只要你使用一个有足够容量的外置硬盘。

警告! 这个过程是非常危险的! 它假定你对分区过程有深入的了解,你有一个单独的/ boot分区,并且你知道一个拙劣的尝试会给你带来一个大脑损坏的安装,不会启动! 你被警告了!

你需要:

  • / boot位于一个单独的分区上。 如果你有一个组合的根文件系统(everyting填入/),那么这将无法正常工作。
  • 从USB硬盘启动的能力。
  • 一个足够大的外部驱动器可以容纳现有系统上的所有数据和程序。 一定要运行“du /”并等待最终结果,才能真正感受到所需的空间。

一般程序(原谅我缺乏一些命令,我​​正在写这个很快):

  1. 连接外部驱动器并find其设备名称。 假设您将其视为/ dev / sdb。
  2. 在外部驱动器上创build两个分区。 在我们的例子中,这将显示为/ dev / sdb1和/ dev / sdb2。

    parted / dev / sdb

  3. 将第一个分区格式化为ext2或ext3,并标记为“boot”。 格式化外部驱动器上的第二个分区,types为“Linux LVM”。

  4. 获取系统使用的新铸造的LVM卷

    pvscan; vgscan

  5. 划出足够大的外部LVM卷来容纳整个笔记本电脑的硬盘。 如果有疑问,只要使用所有可用的空间。

  6. 将基于LVM的音量格式设置为ext3或任何文件系统都会让您感到痒痒。

    mke3fs / dev / ExternalUSBVolume / ExternalRoot

  7. 对于每个非特殊文件系统安装,请在外部磁盘上创build一个目录,并将每个安装中的所有文件(包含属性)复制到该磁盘。 忽略/ proc等挂载点的副本,因为这些是“特殊的”。

  8. 手动创build特殊挂载点,以便它们存在于外部驱动器上。 不要填充它们,只要确保名称和权限匹配。
  9. (非常小心)使用你的引导程序在你的外部驱动器上安装一个引导镜像到/ boot分区。 这个过程有点复杂,所以我会把它留给你在其他地方find信息。 如果你把它弄糊涂也是危险的 – 你最终可能会试图在笔记本电脑上覆盖你的bootloader。 小心。
  10. 重新启动你的笔记本电脑。 当它正在通过POST时,请务必将外部驱动器指定为启动驱动器。 在这个时候,你应该有一个(或多或less)你的笔记本电脑驱动器的近似副本。 (对其他pipe理员说:是的,我知道,日志文件和其他文件不是处于100%复制状态,但是这不是重点…这是为了让数据和工具移动…)
  11. 一旦你可以从外部驱动器启动,你可以用它来擦拭你的笔记本电脑驱动器。 在这一点上,你是“生活在”外部驱动器。 记住这一点。
  12. 然后使用分区编辑器 – gparted或其他 – 删除原来的笔记本电脑分区(再见数据…),然后将您新build的区域标记为“LVM”。 检查LVM卷的识别,分区,格式化等过程
  13. 使用LVM的镜像过程,将实时系统(当前位于外部驱动器上)镜像到笔记本电脑驱动器。 为此需要午休(或两个),因为这需要时间。
  14. 重新安装实时文件系统,将外部驱动器上的/文件系统移动到笔记本电脑LVM卷。
  15. 重新运行你的引导程序安装过程。 这是至关重要的,因为当前的ramdisk将没有正确的设置,并不知道你已经移动了东西。 不这样做将导致无法启动的系统和访问救援磁盘。 如果一切都失败了,你可以从你的外部驱动器再次启动(没有丢失…)
  16. 重新启动笔记本电脑没有连接外部驱动器,并指定笔记本电脑的内部驱动器。 它应该开机罚款。 注意任何感觉或看起来伤害或破坏(不应该有任何东西),并修复它。
  17. 坐下来享受一份饮料的工作做得好。

我最近写了块 (néelvmify)在原地进行这种转换。 它需要一个分区,必要时缩小文件系统,将文件系统的开始移动到分区的末尾,并将LVM超级块(预先configuration了正确的PV / LV / VG)复制到其位置。 如果您有多个分区,则使用vgmerge完成合并新创build的卷组。 它不能在安装的文件系统上工作。

将Linux系统迁移到LVM最简单的方法是使用外部磁盘(USB,eSATA)和基于CD-ROM的系统(如grml)将所有数据从PC移出到外部磁盘,然后将PC重新分区LVM。 最后复制所有内容并configuration并重新安装grub到MBR。

这个过程稍有涉及,但是您始终有外部驱动器和CD-ROM上的数据来引导您的系统。

如您所料,Windows无法访问任何LVM卷。

从底部开始:否,Windows无法读取LVM逻辑卷(分区)。

如果您有一个可用作临时存储的备用磁盘,则只需从Live CD启动,将数据复制到临时位置,创build一个或多个LV并将数据返回。 对LVM进行就地转换是不切实际的(但有可能); 你基本上必须缩小旧的分区,并多次调整LV的大小(最终LV会被分割)

你有一台笔记本电脑安装几年。 将其转换为LVM是一个失败的主张。 备份您的数据,重新安装并复制您的数据。 你将有一个干净的系统与新的软件,你的数据。

如果你不能这样做,因为你不知道你的数据在哪里,那么你有一个大问题,这是你解决这个问题的机会。

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/有一个有趣的方式来迁移现场fs。 将其作为RAID-1组的一部分添加,然后操作系统将镜像到其他设备(可能是LVM逻辑卷)。 这有点过时,所以我不知道这是否仍然有效。

您可能需要将数据备份到另一个驱动器或分区(或iso?),创buildLVM容器,然后将数据恢复到容器。