Microsoft Azure File Service对大家相对比较陌生,因为这是一个Azure的预览功能,我也是从邮件中得知有这项新的feature,让我感兴趣的是,这个功能可以解决应用程序文件同步的问题。

我总结了几个适用的场景:

  • 依靠文件共享迁移本地应用到Azure VM或云服务

  • 存储共享的应用设置,例如配置文件

  • 存储诊断数据像Log文件等

  • 存储工具和实用工具用来管理和开发Azure VM或者云服务。

当然还有其他的应用场景,这需要我们在实际的应用时去设计。接下来,先解释下什么是Azure File 服务。

什么是Azure File Storage?

File Storage 为应用程序提供共享的存储,协议为SMB 2.1,兼容Windows和Linux。Microsoft Azure VM和云服务可以通过挂在共享来实现跨应用程序组件共享数据。本地的应用程序也可以访问共享的文件数据通过File Storage API。

File Storage 包含以下组件:

Storage Account:所有访问Azure Storage 都必须通过存储账户。

Share:在Azure 上基于SMB2.1的文件共享存储,所有的目录和文件都必须创建在父共享中。一个账户可以包含无限的共享,一个共享可以存储无限的文件(最大有存储账户的容量限制)

Directory:可选的目录层次结构。

File:共享中的文件,一个文件可以最大为1TB。

URL Format:文件的访问通过下面的URL格式来访问。

https://<storage-account-name>.file.core.windows.net/<share>/<directory>/<file>


理解上面的概念后,我们来看看如何在Azure 上快速设置文件共享。

1.首先Azure File Storage是个预览功能,你需要去Azure Preview 门户上去注册下。

2.在Azure门户中创建存储账户,注意以前的存储账户是不带有File这个功能的,你需要新建存储账户。这里我创建baodemo的存储账户。

3.使用你的存储账号和密钥创建一个环境

×××的部分替换成自己的就可以

# create a context for account and key

$ctx=New-AzureStorageContext storage-account-namestorage-account-key

这是我的环境的命令:

$ctx=New-AzureStorageContext baodemo 我的密钥

4. 创建一个新的文件共享

这里我创建一个名为logs共享

# create a new share

$s = New-AzureStorageShare logs -Context $ctx

5.在文件共享中创建一个目录

这里我创建一个目录命名为CustomLogs

# create a directory in the share

New-AzureStorageDirectory -Share $s -Path CustomLogs

6.上传一个本地文件到目录下

这里我上传一个我C:\TMP\demolog1.txt的文档到上面创建的目录中。

# upload a local file to the new directory

Set-AzureStorageFileContent -Share $s -Source C:\TMP\demolog1.txt -Path CustomLogs

7.查看目录中的文件列表

# list files in the new directory

Get-AzureStorageFile -Share $s -Path CustomLogs

8.把存储账号凭据保存到Azure上的虚拟机

cmdkey /add:<storage-account-name>.file.core.windows.net /user:<storage-account-name> /pass:<storage-account-key>

9.使用net use 命令把文件共享挂载到虚拟机上

net use <drive-letter>(此处有空格)\\<storage-account-name>.file.core.windows.net\<share-name>


example :

net use z: \\baodemo.file.core.windows.net\logs

这样就可以像资源管理器一样操作了