我的Linux服务器使用LVM,因为我一年前更换了机器,并从头开始安装。 LVM一直是救命的人,我喜欢它的灵活性。 然而,我的Linux笔记本电脑是三年前完全安装的,因此使用了直分区。
是否有可能 – 没有重新安装 – 将现有的系统转换为LVM? 如果是这样,哪些工具可以做这个工作?
我希望在双启动系统上与Windows共享的文件系统不能是LVM。 如果我错了,请让我知道,但我会感到惊讶。
是的,这可以做到。
是的,您可以将它用于双启动Windows系统, 只要您将Windows设置为第一个分区,并且它是主分区 (不是逻辑内部的扩展)。 我在这里的指示不包括这种情况,这需要你有一些处理双启动的经验。 如果你是在双引导windows / linux安装之后,请不要在这一点下面提出任何build议。
我会做一个更好的:只有less数例外,你应该能够迁移你的整个笔记本电脑,只要你使用一个有足够容量的外置硬盘。
警告! 这个过程是非常危险的! 它假定你对分区过程有深入的了解,你有一个单独的/ boot分区,并且你知道一个拙劣的尝试会给你带来一个大脑损坏的安装,不会启动! 你被警告了!
你需要:
一般程序(原谅我缺乏一些命令,我正在写这个很快):
在外部驱动器上创build两个分区。 在我们的例子中,这将显示为/ dev / sdb1和/ dev / sdb2。
parted / dev / sdb
将第一个分区格式化为ext2或ext3,并标记为“boot”。 格式化外部驱动器上的第二个分区,types为“Linux LVM”。
获取系统使用的新铸造的LVM卷
pvscan; vgscan
划出足够大的外部LVM卷来容纳整个笔记本电脑的硬盘。 如果有疑问,只要使用所有可用的空间。
将基于LVM的音量格式设置为ext3或任何文件系统都会让您感到痒痒。
mke3fs / dev / ExternalUSBVolume / ExternalRoot
对于每个非特殊文件系统安装,请在外部磁盘上创build一个目录,并将每个安装中的所有文件(包含属性)复制到该磁盘。 忽略/ proc等挂载点的副本,因为这些是“特殊的”。
我最近写了块 (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容器,然后将数据恢复到容器。