我正在看在这个 serverfault问题的指示,以恢复服务器的备份到新的硬件。 我对整个过程有点困惑,并有一些我很想回答的具体问题。
如果遵循定义的备份过程,那么这显然与将物理驱动器取出并放入目标机器相同?
不同的硬件设备会发生什么情况,在目标机器上进行备份还原后,是否需要手动设置原来不存在的硬件?
使用旧系统的完整备份进行干净的裸安装和复制是什么问题?
为什么复制MBR和分区表是重要的一步?
最后,我真的很想在移植到新硬件时保留所有安装的程序和configuration(包括像apache,bind等),并且安装程序处理操作系统和驱动程序问题。 这完全可行吗?
谢谢
如果遵循定义的备份过程,那么这显然与将物理驱动器取出并放入目标机器相同?
很多。 如果新系统接受相同types的驱动器,那么您可能只需将驱动器移到其他位置即可,而且大多数情况下都不需要其他工作。
不同的硬件设备会发生什么情况,在目标机器上进行备份还原后,是否需要手动设置原来不存在的硬件?
也许,请记住,如果您使用库存内核作为大多数主要发行版的一部分,那么大多数硬件通常将被支持开箱即用。 如果将驱动器从一个盒子移动到另一个盒子,那么事情可能会正常工作。
对于Linux来说,没有GUI的服务器最容易中断的事情是存储。 因此,如果您的旧盒子是IDE,而您的新盒子是SCSI或SATA,则需要更改您的fstab,boot-loader等以反映新的分区。
用于台式机的系统有点棘手,因为video/audio/ wifi设备往往不太受支持,但即使这样,系统仍然会很容易启动,你只需要调整使用那些软件的configuration设备。
为什么复制MBR和分区表是重要的一步?
不是,它只是在那里使新系统上的分区相同。 您可以完全修复新驱动器,不过您可以在复制文件之后调整boot-loader和fstab,以反映新的分区结构。
如果硬盘驱动器已经安装了目标操作系统,那么通常只需要在其顶部进行恢复并重新启动即可,但是您必须确保grub.conf和/ etc / fstab没有驱动器标签或UUID在那里(如果他们这么做的话,通常只需指定设备名称,以备日后再次恢复时更容易)。 我会从恢复中排除/引导(也可能是/ etc / fstab,以避免上述)。
如果系统已经可以启动,则不需要再次安装GRUB,如果它是一个没有完全安装的新硬盘,则需要确保它知道在哪里find内核,所以简单的grub-install hd0 (或硬盘驱动器)应该这样做。
然后,重新启动并交叉手指。
该线程中描述的过程通常称为裸机还原 。 正如名字所说,这意味着从一个空的硬盘开始恢复原始系统(通常在全新的硬件上)。 它有一些优点,最显着的是你得到一个原始的精确副本,包括更多异国情调的目录中的文件,否则你可能会忽略。 但裸机恢复也有一些缺点:
或者,您可以select仅恢复非操作系统目录,例如所有家庭和应用程序目录。 然后,恢复系统成为一个由两部分组成的过程:1.在新机器上安装操作系统,最好使用像Kickstart这样的自动安装方法,然后2.从备份介质中恢复所需的用户和应用程序目录。 这避免了裸机的缺点,但是也带来了一个缺点:您必须能够定义备份目录。 在一个新的服务器上,这可能不成问题,但是如果你的系统是那个已经不在公司的人build立起来的老东西了,而且过去两年谁也不敢碰,那可以是严重的问题。
据我所知,在另一台服务器(甚至从物理到虚拟或从虚拟到物理)恢复服务器时唯一的问题是启动系统。 当系统启动时,一切和以前一样,所有的应用程序和服务器都应该正常工作。
为了启动系统,你可以build立必要的驱动程序,这些驱动程序主要与内核中的存储(SCSI,RAID,ext4等文件系统等)有关。 这个解决scheme需要重新编译内核,这可能不是微不足道的。
另一种解决scheme是使用初始RAM磁盘或InitRD。 您可以列出所需的驱动程序(内核模块)并创build一个包含这些驱动程序的initrd。 尽pipe如此,这个解决scheme需要一些洞察力。
如果你像我一样懒:D你可以使用下面的过程:
在目的地(您想要恢复备份的位置)上,尽可能安装与您的备份或映像类似的分发。 作为一个例子,如果你有一个Centos 5.3的备份,你应该在目的地上安装Centos 5.3或(如果你没有Centos 5.3的话)Centos 5.4; 即使是RHEL5.4也能做到。 但是,Slackware 13.1或Debian 5.3可能并不适合!
保留新安装的系统的内核和initrd的副本。 例如,使用以下命令在/ mnt / external_storage上的外部存储上从/ boot创build压缩的tar文件就足够了:tar czvf /mnt/external_storage/new_boot.tar.gz / boot
还原从已安装系统复制的/ boot:
如果需要,调整lilo或grub的configuration。
上述程序就是我们现在使用一年以上的程序。