Eddie Asked: 2009-05-05 07:47:57 +0800 CST2009-05-05 07:47:57 +0800 CST 2009-05-05 07:47:57 +0800 CST 事后是否可以将 Linux 机器转换为 LVM? 772 我的 Linux 服务器使用 LVM,因为我在一年前更换了机器并从头开始安装。LVM 一直是救命稻草,我喜欢它的灵活性。然而,我的 Linux 笔记本电脑最后一次完全安装是在三年前,因此使用的是直接分区。 是否有可能——无需重新安装——将现有系统转换为 LVM?如果是这样,什么工具可以完成这项工作? 我希望在双引导系统上与 Windows 共享的任何文件系统都不能是 LVM。如果我错了,请告诉我,但我会感到惊讶。 linux lvm 7 个回答 Voted Best Answer Avery Payne 2009-05-05T09:35:42+08:002009-05-05T09:35:42+08:00 是的,这是可以做到的。 是的,您可以将它用于双引导 Windows 系统,前提是您将 Windows 设为第一个分区,并且它是主分区(不是逻辑内部的扩展分区)。我这里的说明不包括这种情况,这需要你有一些处理双启动的经验。如果您在安装双引导 windows/linux 之后,请不要遵循以下任何建议。 我会做得更好:除了少数例外,只要您使用具有足够容量的外部驱动器,您应该能够实时迁移整个笔记本电脑。 警告!这个过程非常危险!它假定您对分区过程有深入的了解,您有一个单独的 /boot 分区,并且您知道一次拙劣的尝试可能会给您留下无法启动的脑损伤安装!你被警告了! 你需要: /boot 位于单独的分区上。如果您有一个组合的根文件系统(所有内容都填充到 / 中),那么这将不起作用。 从 USB 硬盘驱动器启动的能力。 一个足够大的外部驱动器,可以容纳现有系统上的所有数据和程序。请务必运行“du /”并等待最终结果,以真正感受您需要的那种空间。 一般程序(请原谅我缺少一些命令,我写得很快): 连接外部驱动器并找到其设备名称。让我们假设您将其视为 /dev/sdb。 在外部驱动器上创建两个分区。在我们的示例中,这将显示为 /dev/sdb1 和 /dev/sdb2。 分开 /dev/sdb 将第一个分区格式化为 ext2 或 ext3,并标记为“boot”。将外部驱动器上的第二个分区格式化为“Linux LVM”类型。 获取系统识别的新生成的 LVM 卷,使用 pv扫描;vgscan 切出足够大的外部 LVM 卷来容纳整个笔记本电脑的硬盘。如有疑问,请使用所有可用空间。 将基于 LVM 的卷格式化为 ext3 或任何你喜欢的文件系统。 mke3fs /dev/ExternalUSBVolume/ExternalRoot 对于每个非特殊文件系统挂载,在您的外部磁盘上创建一个目录,并将每个挂载中的所有文件(带有属性)复制到该磁盘。忽略 /proc 等挂载点的副本,因为它们是“特殊的”。 手动创建特殊的挂载点,以便它们存在于您的外部驱动器上。不要填充它们,只需确保名称和权限匹配即可。 (非常小心)使用引导加载程序将引导映像安装到外部驱动器上的 /boot 分区中。这个过程有点复杂,所以我将把它留给您在其他地方查找信息。 如果你搞砸了它也很危险 - 你最终可能会试图覆盖笔记本电脑驱动器上的引导加载程序。当心。 重新启动您的笔记本电脑。当它通过 POST 时,请务必将外部驱动器指定为引导驱动器。此时,您应该(或多或少)拥有笔记本电脑驱动器的近似副本。(对那里的其他管理员:是的,我知道,日志文件和其他文件不是处于 100% 复制状态,但这不是这里的重点......它是让数据和工具移动......) 一旦您可以从外部驱动器启动,您就可以使用它来擦除您的笔记本电脑驱动器。此时,您将“摆脱”外部驱动器。请记住这一点。 然后使用分区编辑器 - gparted 或其他 - 删除原始笔记本电脑分区(再见数据......),然后将新创建的区域标记为“LVM”。完成识别、分区、格式化等 LVM 卷的过程。 使用 LVM 的镜像过程,将您的实时系统(当前位于外部驱动器上)镜像回笔记本电脑驱动器。为此需要午休(或两次),因为这需要时间。 重新挂载实时文件系统,将 / 文件系统从外部驱动器移动到笔记本电脑的 LVM 卷。 重新运行引导加载程序安装过程。这很关键,因为当前的 ramdisk 没有正确的设置,并且不会知道你已经移动了东西。否则将导致系统无法启动并访问救援磁盘。如果一切都失败了,您可以再次从外部驱动器启动(没有丢失...) 在没有连接外部驱动器的情况下重新启动笔记本电脑,并指定笔记本电脑的内部驱动器。它应该可以正常启动。注意任何感觉或看起来受伤或损坏的东西(不应该有任何东西),然后修复它。 坐下来享用一杯饮料,以完成出色的工作。 Gabriel 2013-03-02T11:28:11+08:002013-03-02T11:28:11+08:00 我最近编写了块(née lvmify),它可以就地进行这种转换。它采用单个分区,必要时缩小文件系统,将文件系统的开头移动到分区的末尾,并在其位置复制一个 LVM 超级块(预配置有正确的 PV/LV/VG)。如果您有多个分区,则合并新创建的卷组是使用vgmerge. 它不能在挂载的文件系统上工作。 David Schmitt 2009-05-05T08:06:10+08:002009-05-05T08:06:10+08:00 将 linux 系统移至 LVM 的最简单方法是使用外部磁盘(USB、eSATA)和基于 CD-ROM 的系统(如grml)将 PC 中的所有数据移至外部磁盘,然后使用LVM。最后将所有内容复制回来并配置并重新安装 grub 到 MBR。 这个过程稍微涉及一些,但您始终拥有外部驱动器和 CD-ROM 上的数据来引导您的系统。 如您所料,Windows 无法访问任何 LVM 卷。 Brian Minton 2014-10-15T09:43:40+08:002014-10-15T09:43:40+08:00 http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/有一种有趣的方式来迁移 live fs。将其添加为 RAID-1 组的一部分,然后操作系统会将其镜像到其他设备(可能是 LVM 逻辑卷)。它有点过时了,所以我不知道这是否仍然有效。 Luca Tettamanti 2009-05-05T08:04:59+08:002009-05-05T08:04:59+08:00 从底部开始:不,windows 无法读取 LVM 逻辑卷(分区)。 如果您有一个可用作临时存储的备用磁盘,则只需从 Live CD 启动,将数据复制到临时位置,创建一个或多个 LV 并将数据放回原处。就地转换为 LVM 是不切实际的(但可能);您基本上必须缩小旧分区并多次调整 LV 的大小(最终的 LV 会被碎片化) carlito 2009-05-24T15:33:45+08:002009-05-24T15:33:45+08:00 您在笔记本电脑上安装了几年前的设备。将其转换为 LVM 是一个失败的提议。备份您的数据,重新安装并复制您的数据。您将拥有一个带有新软件和数据的干净系统。 如果您因为不知道数据在哪里而无法做到这一点,那么您就有一个大问题,这是您解决它的机会。 Brent 2009-05-05T08:10:26+08:002009-05-05T08:10:26+08:00 您可能必须将数据备份到另一个驱动器或分区(或 iso?),创建 LVM 容器,然后将数据恢复到容器中。
是的,这是可以做到的。
是的,您可以将它用于双引导 Windows 系统,前提是您将 Windows 设为第一个分区,并且它是主分区(不是逻辑内部的扩展分区)。我这里的说明不包括这种情况,这需要你有一些处理双启动的经验。如果您在安装双引导 windows/linux 之后,请不要遵循以下任何建议。
我会做得更好:除了少数例外,只要您使用具有足够容量的外部驱动器,您应该能够实时迁移整个笔记本电脑。
警告!这个过程非常危险!它假定您对分区过程有深入的了解,您有一个单独的 /boot 分区,并且您知道一次拙劣的尝试可能会给您留下无法启动的脑损伤安装!你被警告了!
你需要:
一般程序(请原谅我缺少一些命令,我写得很快):
在外部驱动器上创建两个分区。在我们的示例中,这将显示为 /dev/sdb1 和 /dev/sdb2。
将第一个分区格式化为 ext2 或 ext3,并标记为“boot”。将外部驱动器上的第二个分区格式化为“Linux LVM”类型。
获取系统识别的新生成的 LVM 卷,使用
切出足够大的外部 LVM 卷来容纳整个笔记本电脑的硬盘。如有疑问,请使用所有可用空间。
将基于 LVM 的卷格式化为 ext3 或任何你喜欢的文件系统。
对于每个非特殊文件系统挂载,在您的外部磁盘上创建一个目录,并将每个挂载中的所有文件(带有属性)复制到该磁盘。忽略 /proc 等挂载点的副本,因为它们是“特殊的”。
我最近编写了块(née lvmify),它可以就地进行这种转换。它采用单个分区,必要时缩小文件系统,将文件系统的开头移动到分区的末尾,并在其位置复制一个 LVM 超级块(预配置有正确的 PV/LV/VG)。如果您有多个分区,则合并新创建的卷组是使用
vgmerge
. 它不能在挂载的文件系统上工作。将 linux 系统移至 LVM 的最简单方法是使用外部磁盘(USB、eSATA)和基于 CD-ROM 的系统(如grml)将 PC 中的所有数据移至外部磁盘,然后使用LVM。最后将所有内容复制回来并配置并重新安装 grub 到 MBR。
这个过程稍微涉及一些,但您始终拥有外部驱动器和 CD-ROM 上的数据来引导您的系统。
如您所料,Windows 无法访问任何 LVM 卷。
http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/有一种有趣的方式来迁移 live fs。将其添加为 RAID-1 组的一部分,然后操作系统会将其镜像到其他设备(可能是 LVM 逻辑卷)。它有点过时了,所以我不知道这是否仍然有效。
从底部开始:不,windows 无法读取 LVM 逻辑卷(分区)。
如果您有一个可用作临时存储的备用磁盘,则只需从 Live CD 启动,将数据复制到临时位置,创建一个或多个 LV 并将数据放回原处。就地转换为 LVM 是不切实际的(但可能);您基本上必须缩小旧分区并多次调整 LV 的大小(最终的 LV 会被碎片化)
您在笔记本电脑上安装了几年前的设备。将其转换为 LVM 是一个失败的提议。备份您的数据,重新安装并复制您的数据。您将拥有一个带有新软件和数据的干净系统。
如果您因为不知道数据在哪里而无法做到这一点,那么您就有一个大问题,这是您解决它的机会。
您可能必须将数据备份到另一个驱动器或分区(或 iso?),创建 LVM 容器,然后将数据恢复到容器中。