繁体   English   中英

Azure辅助角色 - 附加可在部署之间重用的磁盘

[英]Azure Worker Role - attach a disk that can be re-used between deployments

这些文件是我需要动态链接的Dll,因此无法使用Azure存储。

我可以根据以下内容将磁盘连接到Azure虚拟机: http//www.windowsazure.com/en-us/manage/windows/how-to-guides/attach-a-disk/

但是我怎样才能为工人角色做同样的事情呢?

原因是:

  1. 存储一些所有Worker角色实例可以同时访问的文件。 因此,不必将文件复制/同步到每个实例的所有本地驱动器。

  2. 部署新版本的Web角色时,文件需要保留。

请查看Azure Drives: http//go.microsoft.com/?linkid = 9710117 它本质上是一个页面blob(因此是持久存储),它包含一个NTFS格式的虚拟硬盘驱动器(VHD)。 Azure Drive的一个问题是,只有一个实例具有Azure驱动器的写入权限。 所有其他实例仅具有只读权限。

正如Gaurav指出的那样,您可以将vhd存储在blob中,然后附加到您的实例。 请记住,对于其他实例,您需要创建blob的快照。 只要vhd的内容没有改变,那么快照就很小(实际上是一堆指向blob页面的指针)。 并且......如果您需要更新其中一个dll,则需要通过安装驱动器进行写入的实例来实现。

关于上面的标准#1(不希望为每个实例将文件复制到本地驱动器):我建议先尝试一下,看看从单个blob复制dll所需的时间(或单个blob中的zip文件)在实例启动期间到本地存储。 由于存储帐户和您的计算实例将(至少应该 )位于同一数据中心,因此副本应该非常快,并且没有带宽费用。 您可以通过启动任务轻松完成此操作。 好处?

  • 更容易更新单个dll(您可以使用任何现成的blob管理工具,PowerShell等) - 更新您的dll和其他常见文件时甚至不需要运行实例。 如果存储在已安装的驱动器中,则需要运行实例(如果要维护文件列表),并且需要通过该实例进行所有文件管理。
  • 如果有什么东西导致驱动器租约中断(没有说它 ,但本地副本将独立于blob存储),则没有丢失访问dll的风险。

提出一个信令方案让你的实例知道它们有一个软件更新(可能是一个简单的发布/子服务总线消息?)并不难。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM