克隆一个实时Linux系统的最佳方法

有谁知道克隆一个实时Linux系统的方法吗? 我有一个运行生产站点的现场安装。 问题是,我需要克隆它(而不是将其closures),然后将其移回(恢复)到虚拟机。 我基本上是从物理硬件迁移到虚拟硬件。

    在源机器上:

    dump -0 -f - / | ssh -c blowfish root@target_machine "cd /; restore -rf -" 

    这将转储您的源机器上的FS,通过SSH复制,并在目标机器上它将恢复它。

    当然你需要为每个fs重复这个。

    “blowfish”只是为了更快的压缩和减压。

    VMWare Converter可以在不closures服务器的情况下完成大多数现代操作系统,但是正如Dennis指出的那样,我们确实需要知道您正在运行哪个操作系统。

    完成后,最终会得到服务器的虚拟映像,而不是原始磁盘映像,但对于大多数工作来说,这通常是足够好的,取决于您完成后要执行的操作。

    您要迁移到哪个VM平台? VMWare有一个Linux转换器 。 它会转换开机的机器。

    看看我认为允许实时系统克隆的VMWare转换器。

    我们通常这样做:

    • 从CD引导目标虚拟主机(或networking启动)
    • 在虚拟主机上准备文件系统(即,准备磁盘,创build文件系统并装载它们)。
    • 将文件从物理主机同步到虚拟主机
    • 在目标主机上安装引导装载程序

    只要你正在复制的数据是相对无状态的,这个效果很好。 如果你正在处理一个数据库服务器,尤其是那些有很多活动的数据库服务器,那么在你做最后的切换之前,你需要确保数据库是静止的。所以,像这样的事情之后,准备好了:

    • 停止数据库
    • 执行数据的最终rsync
    • closures物理主机
    • 启动虚拟主机

    看看VMware Converter(它是免费的,如果你有vCenter)或Plate Spin(其中一个产品是转换器)。

    Plate Spin将会使机器运行起来,停机时间最短。

    使用VMware转换器,它将执行一个实时计算机(如果有一个数据库,它可能不同步),只是没有启动虚拟机完成时。 然后断开vNIC,然后启动机器,通过控制台login并更改IP等,然后重新连接vNIC。

    在不停止所有可能改变系统状态的操作的情况下,不可能获得一致的快照。

    除非应用程序已经被明确地devise来适应这种操作(即,通过可排队消息处理的所有处理),否则不可能在不使系统closures(或至less禁用事务部件)的情况下获得一致的快照。

    但是,可以显着减less快照系统的时间窗口(例如,从RAID组中移除镜像,然后将其重新安装到别处)。 而生成快照所用的时间越短,事务处理的可能性就越小。

    而且大多数文件系统/ DBS将支持某种types的日志logging,这些日志logging应该允许大多数中断操作被恢复或回滚。