假设我的Azure角色将一些数据存储在VM本地磁盘上,然后终止。本地磁盘映射到某个物理存储,因此存储在本地磁盘上的数据被写入该存储。当我的角色终止时,回收VM并回收物理存储。
现在启动了一些其他角色,其本地磁盘恰好映射到与我的角色相同的物理存储上。我很清楚that the logical structure of the new local disk is completely rebuilt and all files possibly left by my role will just disappear。但是,新创建的逻辑磁盘下面的物理存储恰好相同。
特别假设新角色创建一个空文件,然后调用SetEndOfFile()来“扩展”该文件,然后将其打开以进行读取并读取当前存储在逻辑磁盘上的数据。除非在Azure基础结构中采取特殊措施,否则我不确定这不会导致文件扩展到我的角色存储的数据并读取该数据。
新角色在技术上是否可以读取我的角色所写的数据?
答案 0 :(得分:1)
简短的回答是不,
来自guest虚拟机操作系统的所有I / O请求都由虚拟机管理程序处理,虚拟机管理程序确保insance只能访问分配的存储。
从旧角色访问数据的唯一方法是在容器中获取物理访问权并从那里获取(如果您成功通过数据中心物理安全措施并进入密封容器。)即使这样这并不容易,因为我的理解是逻辑磁盘不会将一对一映射到单个物理驱动器,而是映射到驱动器集群,因此物理上您的数据也将分散在多个磁盘上。
此外,还有适当的正式处理程序,可确保从正在处理的磁盘中删除所有数据。
亲切的问候, 伊夫
答案 1 :(得分:0)
+1给@Yves,是的,答案是否定的。
我想添加有关如何在任何Windows Azure VM中创建和使用虚拟驱动器的更多信息。您可能已经知道,每个角色(Web或Worker)中至少有3个虚拟驱动器:
驱动器E:是1GB固定大小的应用程序驱动器,由FC使用用户更新的包动态创建。此驱动器未设计为具有任何用户数据。此驱动器是按用户部署创建的,因此对于每个角色都是新的。此驱动器由FC提供给Azure虚拟机,并在配置期间附加到VM。
驱动器D:是OS / SYSTEM驱动器(大约25GB大小),它附加到角色并且与每个角色相同,具体取决于操作系统版本。这只是驱动器到web角色,但启动任务和工作者角色可以写入它。该驱动器是专用的OS驱动器,并认为用户不应将任何内容放在其上。
如果有任何来宾操作系统更新或Azure应用程序更新:
当您从Azure中删除应用程序时会发生什么:
(对不起写大帖子)