我正在将 Ubuntu Server 安装从具有单个硬盘的 x86 计算机复制到具有 x64 和两个相同磁盘的新计算机。新磁盘将有两个分区:一个用于操作系统和关键数据的小型 RAID1,以及一个从 /home/media 安装的大型 RAID0 分区,用于保存我的所有电影和音乐。
如果不是很痛苦的话,我还想从 Hardy 升级到 Lucid ——我已经配置了很多软件/守护进程并在旧机器上运行,我不想手动重新创建它们。
我发现这篇关于复制 Linux 安装的有用文章以及一些有关使用 mdadm 设置 RAID 的文章。不过,我不太清楚这些过程如何相互干扰。此外,安装帖子警告有关从 x86 复制到 x64 的问题,但没有具体说明原因。
所以我的问题是:
- 复制到 x64 时还有哪些额外问题?
- 我应该按什么顺序对驱动器进行分区、安装操作系统、设置 raid 和复制数据?这很重要吗?由于其中一些步骤非常耗时,因此我想在开始之前得到一些建议。
- 从 RAID 磁盘启动应该如何进行? (我听说 Grub 可能有问题?)
答案1
事实上,我在 2011 年初也做过类似的事情。我的硬件 raid 卡坏了(RAID 10),所以我拿了两个磁盘之一,并转换为软件 raid。这有点棘手但可行。我正在使用 Debian 挤压。
0) 我不清楚您是否想要从 32 位安装转换为 64 位安装,或者您只是想将 32 位安装复制到 64 位计算机,并且仍然运行 32 位。在后一种情况下,64 位实际上与任何事情都无关。如果是前者,系统至少不兼容。您只能复制数据(/home 等),并且必须重新安装系统。
1) 我建议在软件 raid 之上使用 LVM。
2) Grub 2 可以从软件 raid 设备之上的 LVM 设备引导。 GRUB 1 不能。实际上,我认为它可能根本无法从软件 raid 设备启动。我在 Grub 2 与 SW raid + LVM 顺利工作时遇到了一些问题,并且不得不在实验中升级到前沿的 GRUB 2 软件包,但希望 GRUB 2 现在更加稳定。只要您坚持使用最新版本的 GRUB 2,您可能就没问题。
3) 首先创建 sw raid 设备,然后在其上创建 LVM 设备。然后将文件系统复制到 LVM 设备上。我建议使用部分图像为了这。
4) 为了启动,我使用另一个系统以 chroot 身份挂载新系统,然后 chroot 到新系统中安装 GRUB 2。这可能也适合您。注意
grub-install /dev/md0
应该在 chroot 中工作,但要使其工作,您必须将主机中的设备重新绑定到 chroot。您还需要重新绑定常用的东西,例如 /proc、/sys、/dev/pts 等。
请随意在评论中提出问题(如果有的话),如果我有任何有用的内容要添加,我会更新这个答案。
编辑:更新以回答@trbabb 的问题。
您能多谈谈 LVM 的优点吗?我希望将两个 raid 阵列分开,因此每个阵列似乎都会获得一个卷组,每个卷组有 1 个逻辑卷。这似乎是一个不必要的额外抽象层......?
如果您稍后想要调整卷大小或向卷添加第二个物理设备,LVM 非常有用。我认为传统设备使用起来不太方便。
另外,你能告诉我更多关于 chroot 的信息吗?我将使用 chroot 做什么,> 为什么?
chroot 是为了让您能够安装 grub 并为您的新系统生成配置文件。您需要以某种方式安装 grub,并且需要在启动之前完成此操作。如果您要(重新)安装操作系统,并且仅将用户数据复制到 /home 或其他位置,则可以使用 Debian 安装程序,但如果您不想(重新)安装操作系统,则 Debian 安装程序可能不会为你工作。它坚持要安装一个系统。可能还有其他方法可以做到这一点,但我认为 chroot 是相当标准的。
如果我同时连接旧/新驱动器,是否需要partimage?
partimage 是一种复制分区的好方法,无论您是否同时连接了两个分区。你不需要使用它。你可以使用dd
or 甚至cp -a
但是 IMO partimage 更好。
答案2
您不“复制到 x64”。您想要将系统从一台仅 x86 的机器复制到一台新机器还支持64位模式。如果您不使用该支持,那么它也可能不存在;把它从你的脑海中抛开。
要将系统复制到新机器上,无需浪费时间先在新机器上安装新操作系统,只需用旧操作系统覆盖即可。只需对驱动器进行分区,创建 raid 阵列,格式化文件系统,安装它,安装旧磁盘,然后复制所有文件(cp -ax
)。传输所有文件后,您只需更新 /etc/fstab 以指向新的文件系统 UUID(请参阅 参考资料blkid
),然后重新安装 grub。