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

如何解决Windows Azure Storage的共享存储问题,第1张

在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

Azure File特点如下:贺培

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

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

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

4.可以通过REST API访问

接下来,笔者做一个简单的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功能的

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

可以看到,上图中已经出现了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.为存储账户和密钥创建上下文

执行以下命令

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

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

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

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

执行以下命令:

$s = New-AzureStorageShare sampleshare -Context $ctx

三、在Azure Virtual Machine装载Azure File

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

2.打开Azure VM的PowerShell

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

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

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

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

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

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

4.装载Azure File

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

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

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

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

我们可以查看到挂载成功的共享存储。

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

在一个storage account下面有很多folder,需要对不同的folder设置不同的权限给到不同的用户来访问使用,怎么样设定比较合理?

详情可以参考此文档: https://docs.microsoft.com/zh-cn/rest/api/storageservices/authorize-with-shared-key

1:生成共享访问签名URL(选择相应的权限)

2:通过Azure门户,进入具体的某一个Container 或者是具体的某一个文件,文件夹中,同样通过共享访问签名方余卖式(SAS)生成访问的URL

3:通过生成的URL进行访问即可访问对于的文件夹,可以在 Microsoft Azure Storage Explorer 工具中通过该连接URL查看

存储 Blob 数据所有者 : 对 Blob 存储容器和数据的完全访问权限。 此访问权限允许安全主体设置项的所有者,以及修改所有项的 ACL。

存储 Blob 数据参与者 : 对 Blob 存储容器和 Blob 的读取、写入和删除访问权限。 此访问权限不允许安全主体设置项的所有权,游乱但它可以修改安全主体拥有的项的 ACL。

存储 Blob 数据读者 : 读取和列出存储容器与 Blob。

这种方式主要是基于AAD应用注神毁档册授权来进行的访问控制。

使用 Azure 存储资源管理器在 Azure Data Lake Storage Gen2 中管理 ACL: https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-explorer-acl

Azure Data Lake Storage Gen2 中的访问控制列表: https://docs.azure.cn/zh-cn/storage/blobs/data-lake-storage-access-control#common-scenarios-related-to-acl-permissions

云存储是一种网上在线存储(英语:Cloud storage)的模式,即把数据存放在通常由第三方托管的多台虚拟服务器,而非专属的服务器上。托管(hosting)公司运营大型的数据中心,需要数据存储托管的人,则透过向其购庆脊买或租赁存储空间的方式,来满足数据存储的需求。

数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(storage pool)的方式提供,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上御差漏。

云存储这项服务乃透过Web服务应用程序接口(API)镇烂, 或是透过Web化的用户界面来访问。

扩展资料:

分类

并不是所有的应用程序数据需要SSD性能。经常访问的数据可以迁移到基于磁盘的存储。ssd和基于磁盘的存储都支持标准I / O协议,因此,当把应用程序从本地硬件移动到云时,不需要更改应用程序。

有了附带直接固态硬盘或磁盘驱动器,你就可以使用任何你的 *** 作系统所支持的文件系统。这种模式的一个缺点是,当机器实例关闭时,硬盘驱动器上的数据就会被删除。为了保存数据,必须将数据复制到另一个存储系统中,例如云中的对象存储。

附加存储系统的另一个缺点是:附加存储系统只能连接到一个实例。然而,微软Azure具备文件存储系统,可以实现SMB-compliant文件共享,可以跨多个实例共享。当将应用程序迁移到需要常规文件系统服务的云时,或者当多个实例需要访问相同的数据时,这一点是非常有用的。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12191816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存