我们都知道windows azure上创建的vm全部格式都为.vhd格式文件,这样我们就可以使用azure powershell将本地的hyper-v的vm上传到windows azure的存储容器中,然后挂载到新的windows azure vm中,那如果我们要将本地的某个软件上传到windows azure上工vm使用怎么办呢,我们都知道,microsoft的所有软件收费都相当高,当然也包括windows azure上的个个服务,如果我们需要一台SQL Server数据库服务器的话,如果使用windows azure上的架构的服务,那样收费太高,所以很多人就想着其一台vm然后安装SQL Server服务来达到相应的效果,如果在本地安装好一个安装SQL Server的hyper-v服务的vm,然后上传到windows azure上的话那样文件太大了,而且传输太慢了,同样我们日后如果需要的话也都需要使用同样的方式进行操作,那有什么好办法呢?那就是我们直接将SQL Server的ISO上传到windowsazure上,如果有需要的话,直接新建vm,然后挂载iso即可安装,这样一来既方便又快捷。同样一个新问题又来了,因为windows azure 的powershell上传文件目前只支持.vhd格式的文件,不支持其他格式的文件,所以ISO格式的文件是无法上传,所以我们需要使用其他方法,当然如果真想用windows azure上传文件的话也可以,那就是需要在本地创建一个vhd文件,然后挂载到本地的hyper-v虚拟机下,然后将文件拷贝到vhd文件上,将有数据的vhd文件上传到windowsazure上,然后通过添加附加磁盘的方式挂载到对应的vm上,这样也同样实现相应的效果,那除了这样的方式我们还有什么方法呢,那就是我们可以使用windows azure自带的文件系统,当前windows azure的文件系统功能处于预览状态,有一定的缺陷,待后期会通过更新来达到一定的效果。但目前的文件系统功能已经满足了文件系统的上传;当然也有人说使用azure Storage explorer工具也可以,但是经过测试,该工具不具备上传进度显示,所以也达不到个人需求,那当我们上传文件到windows azure后,windows azure vm又如何读取非vhd格式的文件呢,解决方法就是我们今天介绍的windows azure 存储共享配置实现,具体见下:
功能总结:如何将本地的文件上传azure存储账户的方式有:
1.Azure powershell将vhd格式的文件上传,如果是非vhd文件可以将文件拷贝到挂载vhd文件的vm中进行数据传输
2. 通过压缩的方式,将大文件压缩成多个小文件通过azure storage explorer工具上传
3. FTP的方式
据了解目前windows azure上的文件系统单一文件系统支持5T空间,然后一个vm最多
挂载30个网络共享存储,一个虚拟机最多可以挂在30个网络共享存储
Windows azure vm如果挂载或者访问放在存储账户下的非vhd文件
1. 将非vhd文件存放在vhd文件中,然后将vhd文件挂载到指定的vm中即可
2. 通过存储共享的方式,将存储目录映射到指定vm中
如果有需要azure storage explorer工具的童鞋可以下面使用:
https://azurestorageexplorer.codeplex.com/
上传不显示进度,所以不建议使用
如何使用 Azure 文件存储
http://www.windowsazure.cn/zh-cn/documentation/articles/storage-dotnet-how-to-use-files/
首先是创建一个azure 存储账户
创建 Azure 存储帐户
https://msdn.microsoft.com/zh-cn/library/dn806380
从 Azure 虚拟机装载共享
在Windows Server 2012的Powershell中运行
注:账户及密码信息均为存储账户的信息
然后,是查看秘钥文件:
我们可以单击复制键复制主机访问秘钥
前提条件准备好后,我们就需要下一步操作了
需要在azure powershell下运行以下命令:为存储帐户和密钥创建上下文
PSC:\>$ctx=New-AzureStorageContext iternaldata Ala9OBxzEONvAKMmXPjXOKSvo+o0H1wqbCCw1mpszWeegP2pm9VD5IfxNSO2ZRzSkZt996N RMZyQAT/bL4OuKw== -endpoint core.chinacloudapi.cn 注:$ctx=New-AzureStorageContext 存储账户 存储账户秘钥 格式
$s = New-AzureStorageShare files -Context $ctx
以下命令在windows系统的powershell执行即可 PS C:\Users\gavin> cmdkey /add:iternaldata.file.core.chinacloudapi.cn /user:iternaldata /pass:Ala9OBxzEONvAKMmvo+o0H1wqbCCw1mpszWeegP2pm9VD5IfxNSO2ZRzSkZt996NRMZyQAT/bL4OuKw== 注:iternaldata为我当前环境的存储账户; 后面为存储账户秘钥
使用保存的凭据装载文件共享
PS C:\Users\gavin> net use z: \\iternaldata.file.core.chinacloudapi.cn\files (注意:Z盘符后跟\\需要有一个空格)
在WindowsServer上多了个网盘:
我们发现该网盘的大小为5T