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
这样就可以像资源管理器一样操作了