使用Windows ">Azure 虚拟机预览版,我们有两个新特殊类型的blob 存储在Windows Azure 存储器上: Windows Azure 虚拟机磁盘和Windows Azure 虚拟机镜像。当然,我们也有Windows Azure 驱动器预览版。在这篇文章的以下余部分,我们会参考这些存储器、 磁盘、 镜像和驱动器。本文探讨了什么是驱动器、 磁盘和镜像以及如何与存储进行交互。
虚拟硬盘 (VHDs)
驱动器,磁盘和镜像都是作为页blobs(BLOB(binary large object),二进制大对象)存储在您存储账户里的虚拟硬盘。其实有几个稍有不同的VHD 格式: 固定、 动态和差异比较。目前,Windows Azure 仅支持命名为“固定”的格式。这种格式的逻辑磁盘进行线性文件格式内布局,这样磁盘偏移X 存储在blob 偏移X 处。Blob的一端,有一个小的页脚描述的VHD 属性。所有这些存储在页blob 中遵守VHD的标准格式,以便您可以使用此VHD 以及在非云端服务器上装载,如果您选择使用的话。通常情况下,固定格式会浪费空间,因为大多数磁盘有大量的未使用的范围。然而,我们将我们的“固定”VHDs存储为页 blob,这是一种稀疏的格式,所以我们就能同一时间获得“固定”和“膨胀”磁盘的好处。
上传虚拟硬盘到 Windows Azure存储器
您可以将您 VHD 上传到您的存储帐户,用它做 PaaS(平台即服务) 或 IaaS(基础设施即服务)。当您要上传您VHD到存储器 时,要使用一个了解页 blob 是稀疏并且仅上传的部分具有实际数据 VHD 的工具。此外,如果您有动态VHDs,要使用一个工具,在进行上传时,将转换您动态VHD成固定VHD。CSUpload将为你执行这两个操作,并且它是作为Windows Azure SDK的一部分.
持久性和耐用性
由于驱动器、 磁盘和镜像都存储在存储器中,即使您的虚拟机已移动到另一台物理计算机,您的数据也会持久保存。这意味着您的数据利用了Windows Azure 存储体系结构提供的耐久性,您非缓冲和写入硬盘的数据在成功返回到您的应用程序之前复制3 次并存储,以使它持久返回。
驱动器 (PaaS(平台即服务))
驱动器被 PaaS 角色 (工作者角色、Web 角色,和VM角色)用于装载VHD 并指派一个驱动器号。有关您如何使用这些驱动器有许多细节在这里。实现了内核模式的驱动器是在您的VM 内 运行,因此您的磁盘 IO 到虚拟机的驱动器将引发Windows Azure 存储器中的网络IO 和从vm到您的页blob。下图显示驱动程序运行在VM,通过虚拟机的虚拟网络适配器与存储器进行通信。
PaaS 每个角色允许装载到 16 个驱动器。
磁盘 (IaaS(基础设施即服务))
当您创建一个 Windows Azure 虚拟机时,平台将为您的操作系统连接至少一个磁盘到VM 。此磁盘也将作为页blob 存储在中存储器VHD。当你写到VM磁盘中,对磁盘的更改将会更改内存储页blob。您还可以将附加其他磁盘给您的 VM 作为数据磁盘,这些也将存储在存储器中作为页blob。
与驱动器不同,代表您的磁盘存储与进行通信的代码不在您的 VM中,这样做对磁盘IO不会导致VM的网络活动,尽管它将导致该物理节点上的网络活动。下面的关系图显示了该驱动程序在主机操作系统中的运行方式和VM 通过磁盘接口与驱动通信,然后通过主机网络适配器于存储器进行通信。
有的一台虚拟机可以装载,从 16 个数据磁盘的特大的虚拟机,到一个数据磁盘,额外小的虚拟机的磁盘数的限制。