【发布时间】:2018-02-25 11:56:48
【问题描述】:
是否可以将正在运行的应用程序从一台计算机移到另一台具有相同配置的计算机上?
我的问题如下:我的计算机上有一个运行了 4 天的进程,我想重新启动计算机而不丢失 4 天的工作。
【问题讨论】:
标签: memory-management process linux-kernel task
是否可以将正在运行的应用程序从一台计算机移到另一台具有相同配置的计算机上?
我的问题如下:我的计算机上有一个运行了 4 天的进程,我想重新启动计算机而不丢失 4 天的工作。
【问题讨论】:
标签: memory-management process linux-kernel task
您可以使用 Checkpoint/Restore In Userspace (CRIU, https://criu.org) 对正在运行的进程进行快照并在其他主机上恢复它。
查看How can process snapshot/restore help save your day?中进程的实时迁移
【讨论】:
有很多方法可以解决这个问题。我会告诉2个方法 1)通过分析和最终推送通过通信 2) 通过网络通信定期更新
1) 通过分析
在此方法中,主机H1上的进程会不断将状态写入其本地数据库,当它接管时,它将所需的数据推送到H2,其他进程可以进行热启动
2) 通过定期的网络通信
在此方法中,H1 上的进程通过 TCP/UDP 发送数据/有效负载,无论您喜欢哪种方式,最后都可以发送一个通知以由 H2 进行热接管
【讨论】: