1

我遇到了一个有趣的情况。我已通过仪表板重新启动我的 WebRole。一旦 WebRole 重新启动并运行,我远程桌面进入 WebRole 并发现我已发布站点的整个文件夹已被擦除并替换为包中的文件夹。只有桌面上这些文件夹之外的文本文件才能幸存下来。

除非它的整个驱动器 E:在尝试重新启动时被擦除并重新安装。

所以现在我的想法是,由于 VM 可以由于崩溃或 Microsoft 维护而重新启动,我们作为开发人员必须确保 WebRole 是无状态的,并且没有任何内容保存在本地,这是正确的吗?

非常感谢,

4

1 回答 1

3

Compute VM(无论是 Web Role、Worker Role 还是 VM Role)的本地磁盘存储不是持久的。它可以随时消失。数据中心有权在其认为必要时移动和重新创建您的虚拟机。这可能是为了响应硬件故障,或者仅仅是因为数据中心需要重组。发生这种情况时,您会丢失 VM 磁盘文件并返回部署映像。发生这种情况只是时间问题。这是云计算计算实例的正常行为。

您如何将数据持久保存在云中?最好使用持久的托管服务,例如 Windows Azure 存储或 SQL Azure 数据库。这为您提供了可以依赖的存储空间,并以三重冗余为后盾。

如果您无法迁移到持久存储,另一种可行的方法(如果数据文件是只读的)是将数据文件添加到您的部署包并使用该包升级您的 VM 实例。

此答案已从以下 URL 移植:http ://social.msdn.microsoft.com/Forums/en-AU/windowsazuredevelopment/thread/3cd21ac6-aeb6-442b-af89-ae913946b3ba

于 2011-12-15T09:48:05.693 回答