如何解决Windows Azure Storage的共享存储问题

云计算
我们在传统IDC托管环境运维网站的时候,经常会遇到多台Web服务器实现负载均衡的时候,后面使用同一个网络存储(SAN)。通过这种方式,可以解决文件同步的问题。在Windows Azure公有云环境,想实现上面的架构会比较困难。通过本文,您将了解如何使用Azure File来实现共享文件夹的功能,让多台Azure Virtual Machine使用同一个Azure File。

我们在传统IDC托管环境运维网站的时候,经常会遇到多台Web服务器实现负载均衡的时候,后面使用同一个网络存储(SAN)。通过这种方式,可以解决文件同步的问题。

服务器部署图,如下图所示:

 

如何解决Windows Azure Storage的共享存储问题

在Windows Azure公有云环境,想实现上面的架构会比较困难,主要原因有:

1.Azure公有云不允许用户把网络存储(SAN)放置在Azure数据中心

2.如果使用单独一台Azure Virtual Machine模拟网络存储,则这一台Azure VM会出现单点故障。

需要手动创建一台Active Azure VM和一台StandBy Azure VM。当Active VM宕机的时候,由StandBy VM进行托管。

在Azure File出现之前,对于这种共享存储的方案可以提供的解决方案是,让用户基于Azure Storage进行二次开发,将需要共享的文件保存在Azure Storage中。但是这样的开发代价太大了,非常不方便。

现在可以使用Azure File来实现共享文件夹的功能,让多台Azure Virtual Machine使用同一个Azure File,如下图:

 

如何解决Windows Azure Storage的共享存储问题

Azure File特点如下:

1.是一个PaaS服务,提供99.9% SLA,不会出现单点故障

2.可以同时被多台Azure VM共享,解决文件共享的问题

3.基于SMB2.1协议,可以被Windows和Linux同时使用。

4.可以通过REST API访问

#p#

接下来,笔者做一个简单的DEMO,给各位简单介绍一下Azure File。工作内容主要分为以下几步:

一.准备工作

二.使用PowerShell创建文件共享

三.在Azure Virtual Machine装载Azure File

一.准备工作:确认Azure Storage是否可以使用Azure File功能

1.Azure File功能目前是Preview阶段,如果我们之前创建的老的Azure Storage Account,是无法查看到Azure File的。比如笔者很久以前在香港数据中心(East Asia)创建的Azure Storage Account为leivms,是没有Azure File功能的,如下图:

 

如何解决Windows Azure Storage的共享存储问题

为了演示相关的功能,笔者创建了新的存储账号,命名为leifiledemo,创建在香港数据中心(East Asia),如下图:

 

如何解决Windows Azure Storage的共享存储问题

可以看到,上图中已经出现了Files,我们可以使用这个命名空间,来创建Azure File。

2.接下来,我们需要准备以下环境:

-创建一个新的虚拟网络LeiVNet

-创建2台Windows VM,命名为LeiZhangVMOne和LeiZhangVMTwo

-这2台VM使用通过一个Cloud Service Name:LeiZhangVM

-这2台VM设置高可用集:LeiAvbSet

-这2台VM保存在我们之前创建的存储账号leivms,注意这个存储账号和我们之前创建的leifiledemo不同

-注意:我们Azure VM所在的存储账号,和Azure File所在存储账号,必须在同一个数据中心。这里笔者使用的都是香港数据中心(East Asia)

二.使用PowerShell创建文件共享

1.为存储账户和密钥创建上下文

执行以下命令:

  1. $ctx=New-AzureStorageContext account-name account-key 

比如笔者在步骤一中创建的Azure File名称为leifiledemo,则执行以下命令

  1. $ctx=New-AzureStorageContext leifiledemo [存储账号的密钥] 

2.创建新的文件共享,这里我们创建名为sampleshare的新共享

执行以下命令:

  1. $s = New-AzureStorageShare sampleshare -Context $ctx  

#p#

三.在Azure Virtual Machine装载Azure File

1.我们通过Remote Desktop,登陆之前创建的Azure VM LeiZhangVMOne

2.打开Azure VM的PowerShell

3.保存虚拟机的存储账户凭据

为了保证Azure VM在重启时,允许Windows自动连接到文件共享,我们需要执行以下命令:

  1. cmdkey /add:.file.core.windows.net /user: /pass: 

笔者的环境中,我们执行以下命令:

  1. cmdkey /add:leifiledemo.file.core.windows.net /user:leifiledemo /pass:[存储账号的密钥] 

在LeiZhangVMOne这台VM上执行的截图如下:

 

如何解决Windows Azure Storage的共享存储问题

4.装载Azure File

我们可以使用net use命令,将Azure File装载为本地共享存储

  1. net use z: \\.file.core.windows.net\ 

在笔者的环境中,我们执行以下命令

  1. net use z: \\leifiledemo.file.core.windows.net\sampleshare 

我们可以查看到挂载成功的共享存储,如下图:

 

如何解决Windows Azure Storage的共享存储问题

重复执行步骤三的命令,我们可以同时在两台Azure VM上挂载共享存储,如下图:

 

如何解决Windows Azure Storage的共享存储问题

当笔者在***台VM新建文件的时候,在第二台VM上也可以同时看到,如下图:

 

如何解决Windows Azure Storage的共享存储问题

默认情况下,Azure File容量为5TB,存储在Azure File里的单个文件***容量为1TB。

以下是Azure File与Blob的比较

 

如何解决Windows Azure Storage的共享存储问题

以下是Azure File与Disk的比较

如何解决Windows Azure Storage的共享存储问题

 

博文地址:http://www.cnblogs.com/threestone/p/4441388.html
 

责任编辑:Ophira 来源: 博客园
相关推荐

2019-03-20 10:35:53

附近共享Windows 10运行

2013-05-21 10:49:59

Windows硬件冲突

2018-04-09 16:00:30

Windows 10Windows更新

2019-07-16 09:00:26

Windows 10防火墙Windows

2015-09-02 13:05:25

Windows 10字体

2023-08-27 18:30:44

系统inode

2021-09-03 13:36:40

冷存储数据ZB数据

2013-02-26 09:51:31

Windows 8应用异常问题

2012-09-05 11:09:15

SELinux操作系统

2019-11-05 14:00:23

Windows 10Outlook附件

2009-11-27 11:08:36

共享问题

2017-10-17 09:21:06

2010-04-29 17:46:31

Oracle死锁

2015-09-30 10:34:39

容器永久性存储Docker

2019-11-26 14:30:20

Spring循环依赖Java

2023-07-18 16:05:00

IP地址

2024-12-05 09:06:58

2012-10-29 14:51:34

vSphere存储虚拟化

2012-05-10 09:14:28

Windows 7硬盘

2009-09-21 17:10:14

struts Hibe
点赞
收藏

51CTO技术栈公众号