求问如何实现 suspend to cloud

10 views
Skip to first unread message

bojieli

unread,
May 23, 2013, 4:02:15 PM5/23/13
to sh...@googlegroups.com
我们学校的PXE网络启动(Linux)想有个 suspend to cloud 的功能,即把休眠的内存映像保存到云端服务器,在另一台硬件可能不同(CPU架构相同)的机器上启动,就恢复休眠前状态。根分区是网络挂载的,因此不需要考虑本地硬盘。PXE 服务可以与 DHCP 结合,因此 IP 地址可以保持不变。

目前我只想到了虚拟化的方案。系统运行在虚拟机里,休眠就是 take a snapshot。Xen 可以在线修改 CPU 和内存数量,这样就能把真实硬件“一一”映射到虚拟机里。这种方案会有什么潜在的问题吗?

如果不用虚拟化,suspend to cloud 是否容易实现?提前谢了。

Robber Phex

unread,
May 23, 2013, 8:33:47 PM5/23/13
to sh...@googlegroups.com
我觉得文件系统是一个很大的问题。

休眠恢复的时候内核支持的文件系统很有限,仅仅是编译到内核的几个文件系统驱动。像你这样的就是不仅要支持基于网络的文件系统,而且还要一个dhcp客户端。我觉得很难。

对于虚拟化保存快照,我曾经遇到过windows客户机保存快照、恢复后无法使用鼠标的问题。

2013/5/24 bojieli <boj...@gmail.com>
我们学校的PXE网络启动(Linux)想有个 suspend to cloud 的功能,即把休眠的内存映像保存到云端服务器,在另一台硬件可能不同(CPU架构相同)的机器上启动,就恢复休眠前状态。根分区是网络挂载的,因此不需要考虑本地硬盘。PXE 服务可以与 DHCP 结合,因此 IP 地址可以保持不变。

目前我只想到了虚拟化的方案。系统运行在虚拟机里,休眠就是 take a snapshot。Xen 可以在线修改 CPU 和内存数量,这样就能把真实硬件“一一”映射到虚拟机里。这种方案会有什么潜在的问题吗?

如果不用虚拟化,suspend to cloud 是否容易实现?提前谢了。

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out





--
Regards,
RobberPhex

About me: http://about.me/RobberPhex

Shaohua Li

unread,
May 23, 2013, 8:38:35 PM5/23/13
to sh...@googlegroups.com
硬件不同的话恐怕很难实现。suspend时硬件要suspend,这些信息都在suspend的image里。resume时会有问题。更有可能两台机器memory layout都不一样。你可以看看linux的checkpoint/restore这个feature,它可以给application做snapshot,当然现在还有很多限制。


尹川

unread,
May 23, 2013, 9:03:10 PM5/23/13
to sh...@googlegroups.com
>PXE 服务可以与 DHCP 结合,因此 IP 地址可以保持不变。
换机器后,MAC地址不一样,DHCP服务器应该会分配不用的IP吧。

PXE只是从TFTP服务器上去文件下来。如何让当前机器去获取指定的suspend数据呢?


2013/5/24 Shaohua Li <sh...@kernel.org>



--
一片树林里分出两条路——
        而我选择了人迹更少的一条,
        从此决定了我一生的道路。

Wizard

unread,
May 24, 2013, 3:31:42 AM5/24/13
to shlug
在 2013年5月24日上午8:38,Shaohua Li <sh...@kernel.org>写道:
硬件不同的话恐怕很难实现。suspend时硬件要suspend,这些信息都在suspend的image里。resume时会有问题。更有可能两台机器memory layout都不一样。你可以看看linux的checkpoint/restore这个feature,它可以给application做snapshot,当然现在还有很多限制。



这个checkpoint/restore是在kernel中的?
 
在 2013年5月24日上午4:02,bojieli <boj...@gmail.com>写道:

我们学校的PXE网络启动(Linux)想有个 suspend to cloud 的功能,即把休眠的内存映像保存到云端服务器,在另一台硬件可能不同(CPU架构相同)的机器上启动,就恢复休眠前状态。根分区是网络挂载的,因此不需要考虑本地硬盘。PXE 服务可以与 DHCP 结合,因此 IP 地址可以保持不变。

目前我只想到了虚拟化的方案。系统运行在虚拟机里,休眠就是 take a snapshot。Xen 可以在线修改 CPU 和内存数量,这样就能把真实硬件“一一”映射到虚拟机里。这种方案会有什么潜在的问题吗?

如果不用虚拟化,suspend to cloud 是否容易实现?提前谢了。

--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out



--
-- You received this message because you are subscribed to the Google Groups Shanghai Linux User Group group. To post to this group, send email to sh...@googlegroups.com. To unsubscribe from this group, send email to shlug+un...@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/shlug?hl=zh-CN
---
您收到此邮件是因为您订阅了 Google 网上论坛的“Shanghai Linux User Group”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 shlug+un...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out。
 
 



--
Wizard

Liang Guo

unread,
May 24, 2013, 10:00:54 AM5/24/13
to sh...@googlegroups.com
2013/5/24 bojieli <boj...@gmail.com>:
> 我们学校的PXE网络启动(Linux)想有个 suspend to cloud 的功能,即把休眠的内存映像保存到云端服务器,在另一台硬件可能不同(CPU架构相同)的机器上启动,就恢复休眠前状态。根分区是网络挂载的,因此不需要考虑本地硬盘。PXE 服务可以与 DHCP 结合,因此 IP 地址可以保持不变。
>
> 目前我只想到了虚拟化的方案。系统运行在虚拟机里,休眠就是 take a snapshot。Xen 可以在线修改 CPU 和内存数量,这样就能把真实硬件“一一”映射到虚拟机里。这种方案会有什么潜在的问题吗?
>
> 如果不用虚拟化,suspend to cloud 是否容易实现?提前谢了。
>
Suspend to cloud 需要将内存的内容都传到网络上,这样恐怕用户体验不会太好。

如果吧swap放到iscsi存储里,从理论上来说,和本地硬盘的suspend to disk应该一样。

至于在另外一台机器启动,应该是不现实的,即使是suspend to disk,将硬盘拿到其他机器,也不一定能够启动(没测试过)


--
Liang Guo
http://bluestone.cublog.cn

Bojie Li

unread,
May 25, 2013, 10:22:31 PM5/25/13
to sh...@googlegroups.com
2013/5/24 尹川 <yinchu...@gmail.com>
>
> >PXE 服务可以与 DHCP 结合,因此 IP 地址可以保持不变。
> 换机器后,MAC地址不一样,DHCP服务器应该会分配不用的IP吧。
>
开始分配的IP地址应该是不同的,所以还要“二次分配”,使得主系统的IP保持不变……这样看来主系统在虚拟机里是挺和谐的啊~

> PXE只是从TFTP服务器上去文件下来。如何让当前机器去获取指定的suspend数据呢?
>
可以启动 kernel,修改 init,让 initramfs 去获取 suspend 数据吧。
Reply all
Reply to author
Forward
0 new messages