Azure File Service in IIS

微软Azure的Storage套件中提供了新的服务File Service,让我们运行在Azure中的程序都能共享存储,一个存储账号共享的没有上线,但每个共享的上限是5G。由于File Service采用了SMB2.1协议,所以对我们来说,存储是透明的,可以直接使用盘符路径的形式来对文件进行存储。例如.Net平台中System.IO.File。

下面简单介绍一下本次使用File Service的过程。另外,File Service是支持Linux的,不过这次是部署在Windows上面的。

准备存储账号

Azure中存储账号

建立File Service共享

通过File Service的API在一个存储账号中建立一个共享

可以直接使用微软提供的Sample建立共享,地址https://github.com/Azure-Samples

中国Azure提供的服务地址与微软默认的地址不一样,所以在配置文件中需要修改,可以在这里找到区别https://msdn.microsoft.com/zh-cn/library/azure/dn578439.aspx

挂载File Service共享

进入VM控制台,添加网络凭证

Cmdkey   /add:<yourstorageaccountname>.file.core.chinacloudapi.cn /user:<yourstorageaccountname> /pass:<YourStorageAccountKeyWhichEndsIn==>

可以查看网络凭证是否保存成功

cmdkey /list

 

保存网络凭证是为了在VM重启后自动挂载共享

 

挂载共享

net use * \\filedemo. file.core.chinacloudapi.cn\demo1

demo1是刚才通过API建立的共享

挂载成功后可以在文件浏览器中看到

至此,File Service已经成功挂载在VM中,其他的细节包括如何在Web以及WebRole、WorkRole中挂载存储共享可以参考这篇文章

http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/27/persisting-connections-to-microsoft-azure-files.aspx

目前在VM中,我们可以写一些程序RUN起来,直接像使用本地磁盘一样使用File Service,例如

不过有个问题,如果我们要在VM的IIS网站中访问,会报错。原因我想大家也很清楚,权限问题,IIS运行的账户和我们挂载共享的账户不是同一个。

在抹黑探索了一番之后,终于让IIS能够访问文件共享。就其本质实际上是和我们原来搭建网络文件共享一样,不过在云端我们无法看见具体的机器,是很抽象的,所以我们只有假象为主,实践为主。

以前在IIS中访问网站物理目录以外的本地目录,我们通常都使用虚拟目录,同样,如果我们有网络目录挂载在本机中,也是可以使用虚拟目录来访问,这里实际上是一样的。2台物理机器同样使用Windows系统,IIS在A机器中,共享文件夹在B机器中,在B机器分配一个用户并文件夹的使用权限赋予该用户,在A机器中挂载B机器的文件夹共享,配置A机器的IIS,增加虚拟目录并使用该账户登录。

这里实际上也是同样的道理,不过有些细节不一样。

可以把我们的VM想象成A机,而文件共享是B机。

为VM创建账户

这里创建的账户名称必须和Azure的存储账户名称相同,密码也是存储账号的访问密钥

 

设置IIS应用程序池标识

在IIS的应用程序池中找到该网站使用的APP,右键属性高级设置里设置其标识,输入刚才创建的账户名及密码

创建虚拟目录

创建虚拟目录,虚拟目录的地址请使用挂载共享使用的地址

点击这里 选择特定用户的设置,将刚才创建的账户名以及密码输入即可。

将File Service看做一台物理机的话,那么存储账户就是在其上面创建的账户,在自己的VM这边输入账户凭证即可。

在.NET中我们现在可以通过HttpContext.Current.Server.MapPath方法来获取真实的物理路径并对文件进行存储而不需要关注其具体位置了。

时间: 2024-10-27 12:12:54

Azure File Service in IIS的相关文章

通过Azure File Service搭建基于iscsi的共享盘

在Azure上目前已经有基于Samba协议的共享存储了. 但目前在Azure上,还不能把Disk作为共享盘.而在实际的应用部署中,共享盘是做集群的重要组件之一.比如仲裁盘.Shared Disk等. 本文将介绍,如果通过基于Samba的文件共享,加上Linux的Target.iscsid以及multipath等工具,提供带HA的共享Disk. 上图是整体架构: 通过两台CentOS7.2的VM都挂载Azure File:在Azure File上创建一个文件: disk.img,两个VM通过isc

Azure File Storage 基本用法 -- Azure Storage 之 File

Azure Storage 是微软 Azure 云提供的云端存储解决方案,当前支持的存储类型有 Blob.Queue.File 和 Table. 笔者在<Azure Blob Storage 基本用法>中介绍了 Blob Storage 的基本用法,本文将介绍 File Storage 的主要使用方法. File Storage 是什么? Azure File Storage 是一个通过 Server Message Block (SMB) 协议提供云端文件共享的服务.通过 File Stor

深入解析Microsoft Azure File 服务

Microsoft Azure File Service对大家相对比较陌生,因为这是一个Azure的预览功能,我也是从邮件中得知有这项新的feature,让我感兴趣的是,这个功能可以解决应用程序文件同步的问题. 我总结了几个适用的场景: 依靠文件共享迁移本地应用到Azure VM或云服务 存储共享的应用设置,例如配置文件 存储诊断数据像Log文件等 存储工具和实用工具用来管理和开发Azure VM或者云服务. 当然还有其他的应用场景,这需要我们在实际的应用时去设计.接下来,先解释下什么是Azur

Windows Azure文件共享服务--File Service

部署在Windows Azure上的虚拟机之间如何共享文件?例如:Web Server A和Web Server B组成负载均衡集群,两个服务器需要一个共享目录来存储用户上传的文件.通常,大家可能首先想到的是在一个虚拟机上开放一个共享目录或者NFS服务(Linux).其实,Windows Azure的文件共享服务就可以很好的解决这个问题,而且不需要在虚拟机上开放共享目录或者提供NFS服务. 文件共享服务是Windows Azure存储服务的一部分.每个存储账户(Storage Account)都

在Azure Cloud Service中部署Java Web App(2)

接上文. 9.在进行发布之前,需要对我们的订阅做一些设置,因为默认情况下,Azure的service end指向的是Azure global的站点,如果我们要将服务发布在Azure的中国站点,需要做下简单的设置,在Eclipse中,打开偏好设置(preference),找到Azure,在service endpoint页面中,选择"windowsazure.才能(China),选择确定: 10. 回到项目,选择myazuredeploy并单击右键,选择Azure,properties,第一项是选

怎样使用 OneAPM 监控微软 Azure Cloud Service ?

不知不觉微软 Azure 已经进入中国市场近两年的时间.那么 Azure 平台的性能到底怎样?资源载入的延迟.虚拟机的稳定性等问题是否切实满足客户期许.这些都是大家对微软 Azure 这个国外的云服务使者非常关注的问题. 市场对 IaaS 云服务商的对照评測报告数不胜数,非常难说谁家的评測报告准确可靠. 况且国内公网网络稳定情况与国外存在一定的差距.在这样一个相对不稳定的环境下.公有云服务的 SLA 对于客户的终于使用体验非常难全然保证.怎样可以帮助客户及时了解自己用户的真实体验.採用有效的工具

如何使用 OneAPM 监控微软 Azure Cloud Service ?

不知不觉微软 Azure 已经进入中国市场近两年的时间.那么 Azure 平台的性能究竟如何?资源加载的延迟.虚拟机的稳定性等问题是否切实满足客户期许.这些都是大家对微软 Azure 这个国外的云服务使者非常关注的问题. 市场对 IaaS 云服务商的对比评测报告数不胜数,很难说谁家的评测报告准确可靠.况且国内公网网络稳定情况与国外存在一定的差距.在这样一个相对不稳定的环境下,公有云服务的 SLA 对于客户的最终使用体验很难完全保证.如何能够帮助客户及时了解自己用户的真实体验,采用有效的工具实时监

Azure File文件共享(6):使用Python开发

Azure文件共享服务提供了多种方式的访问接口,包括Powershell,.Net, Java, Python等等,本章主要介绍如何使用Python来访问Azure File存储. 关于Python环境的安装,Azure SDK for python的安装配置,Linux和Windows上的模块升级,请参考博客: http://cloudapps.blog.51cto.com/3136598/1772880 首先,导入Azure storage file所需要的模块: from azure.st

Windows Azure Storage (20) 使用Azure File

<Windows Azure Platform 系列文章目录> 我们在传统IDC托管环境运维网站的时候,经常会遇到多台Web服务器实现负载均衡的时候,后面使用同一个网络存储(SAN).通过这种方式,可以解决文件同步的问题. 服务器部署图,如下图所示: 在Windows Azure公有云环境,想实现上面的架构会比较困难,主要原因有: 1.Azure公有云不允许用户把网络存储(SAN)放置在Azure数据中心 2.如果使用单独一台Azure Virtual Machine模拟网络存储,则这一台Az