如何创建 SMB Azure 文件共享
本文内容
在创建 Azure 文件共享之前,你需要回答有关你将如何使用它的两个问题:
Azure 文件共享的性能要求是什么?
Azure 文件存储提供在基于硬盘(基于 HDD)的硬件上托管的标准文件共享,以及在基于固态磁盘(基于 SSD)的硬件上托管的高级文件共享。
Azure 文件共享在冗余方面的要求是什么?
标准文件共享提供本地冗余 (LRS)、区域冗余 (ZRS)、异地冗余 (GRS) 或异地区域冗余 (GZRS) 存储。 高级文件共享不支持任何形式的异地冗余。
高级文件共享在区域子集中提供本地冗余和区域冗余。 若要了解高级文件共享在你的区域是否可用,请参阅各区域的产品可用性 。 有关详细信息,请参阅 Azure 文件存储冗余 。
有关这些选项的详细信息,请参阅规划 Azure 文件存储部署 。
适用于
文件共享类型
SMB
NFS
标准文件共享 (GPv2)、LRS/ZRS
标准文件共享 (GPv2)、GRS/GZRS
高级文件共享 (FileStorage)、LRS/ZRS
先决条件
本文假设已创建一个 Azure 订阅。 如果还没有订阅,请在开始前创建一个试用帐户 。
如果你打算使用 Azure PowerShell,请安装最新版本 。
如果你打算使用 Azure CLI,请安装最新版本 。
创建存储帐户
Azure 文件共享将部署到存储帐户。存储帐户是代表存储共享池的顶级对象。 此存储池可用于部署多个文件共享。
对于客户可能有的不同存储方案,Azure 支持多种类型的存储帐户,但对于 Azure 文件存储,有两个主要类型的存储帐户。 需要创建的存储帐户类型取决于你是要创建标准文件共享还是要创建高级文件共享:
常规用途版本 2 (GPv2) 存储帐户 :使用标准 GPv2 存储帐户,你可以在标准的/基于硬盘的(基于 HDD 的)硬件上部署 Azure 文件共享。 除了存储 Azure 文件共享以外,GPv2 存储帐户还可以存储其他存储资源,例如 Blob、队列或表。 文件共享可部署到事务优化层(默认)、热层或冷层中。
FileStorage 存储帐户 :使用 FileStorage 存储帐户可以在高级/基于固态磁盘(基于 SSD)的硬件上部署 Azure 文件共享。 FileStorage 帐户只能用于存储 Azure 文件共享;其他存储资源(Blob、队列、表等)不能部署在 FileStorage 帐户中。
若要通过 Azure 门户创建存储帐户,请在仪表板中选择“+ 创建资源”。 在出现的 Azure 市场搜索窗口中搜索“存储帐户”,并选择生成的搜索结果。 此时会显示存储帐户的概述页;选择“创建”继续执行存储帐户创建向导中的步骤。
基础
创建存储帐户所要完成的第一部分是标有“基本信息”的部分。 此部分包含创建存储帐户所需填写的所有字段。 若要创建 GPv2 存储帐户,请确保将“性能”单选按钮设置为“标准”,并在“帐户类型”下拉列表中选择“StorageV2 (常规用途 v2)”。
若要创建 FileStorage 存储帐户,请确保将“性能”单选按钮设置为“高级”,并在“高级帐户类型”下拉列表中选择“Fileshares”。
其他基本信息字段与存储帐户的选择无关:
存储帐户名称 :要创建的存储帐户资源的名称。 此名称必须全局唯一。 通过 SMB 装载 Azure 文件共享时,存储帐户名称将用作服务器名称。 存储帐户名称的长度必须为 3 到 24 个字符。 名称只能包含数字和小写字母。
位置 :要部署到的存储帐户所在的区域。 此区域可以是与资源组关联的区域,也可以是任何其他可用区域。
复制 :尽管此字段的标签为“复制”,但它实际上指的是“冗余”;这是所需的冗余级别:本地冗余存储 (LRS)、区域冗余存储 (ZRS)、异地冗余存储 (GRS) 或异地区域冗余存储 (GZRS)。 此下拉列表还包含读取访问权限异地冗余存储 (RA-GRS) 和读取访问权限异地区域冗余存储 (GZRS),它不适用于 Azure 文件共享;在选择这些选项的情况下在存储帐户中创建的任何文件共享将是异地冗余或异地区域冗余存储的(分别)。
网络
在“网络”部分可以配置网络选项。 创建存储帐户时,这些设置是可选的,以后可根据需要对其进行配置。 有关这些选项的详细信息,请参阅 Azure 文件存储的网络注意事项 。
数据保护
可通过“数据保护”部分为存储帐户中的 Azure 文件共享配置软删除策略。 其他与 Blob、容器的软删除、容器的时间点还原、版本控制以及更改源相关的设置仅适用于 Azure Blob 存储。
高级
“高级”部分包含 Azure 文件共享的几项重要设置:
需要安全传输 :此字段指示存储帐户是否需要对与存储帐户的通信进行传输中加密。 如果需要 SMB 2.1 支持,则必须禁用此功能。
启用存储帐户密钥访问:禁用存储帐户密钥访问时,将拒绝任何使用存储帐户密钥授权的帐户请求 。 如果计划使用基于标识的身份验证来授予对共享的访问权限,则可能需要禁用存储帐户密钥访问。 但是请注意,对文件共享的完全管理控制权限(包括文件所有权权限)需要使用存储帐户密钥。
大型文件共享:提供最多 100 TiB 的文件共享支持 。 现在,所有存储帐户都默认启用大型文件共享,且无法禁用。 现在,所有 Azure 文件共享都可以扩展到最多100 TiB,因此此设置仅出于旧原因而显示,并在 Azure 门户中显示为灰色。
“高级”选项卡中提供的其他设置(Azure Data Lake Storage Gen 2 的分层命名空间、默认 Blob 层、Blob 存储的 NFSv3 等)不适用于 Azure 文件存储。
重要
选择 Blob 访问层不会影响文件共享的层。
标记是名称/值对,可让你通过将相同的标记应用到多个资源和资源组,对资源进行分类并查看合并的账单。 这些设置是可选的,可以在创建存储帐户后应用。
查看 + 创建
创建存储帐户的最后一步是选中“查看 + 创建”选项卡上的“创建”按钮。除非填写存储帐户的所有必填字段,否则此按钮将不可用。
若要在 PowerShell 中创建存储帐户,请使用 New-AzStorageAccount
cmdlet。 此 cmdlet 有许多选项;此处只显示了必需的选项。 若要详细了解高级选项,请参阅 New-AzStorageAccount
cmdlet 文档 。
为了简化存储帐户和后续文件共享的创建,我们将在变量中存储多个参数。 可将变量内容替换为所需的任何值,但请注意,存储帐户名称必须全局唯一。
$resourceGroupName = "myResourceGroup"
$storageAccountName = "mystorageacct$(Get-Random)"
$region = "chinanorth3"
若要创建能够存储标准 Azure 文件共享的存储帐户,请使用以下命令。 -SkuName
参数与所需的冗余类型相关。
$storAcct = New-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-Name $storageAccountName `
-SkuName Standard_LRS `
-Location $region `
-Kind StorageV2
若要创建能够存储高级 Azure 文件共享的存储帐户,请使用以下命令。 请注意,-SkuName
参数已更改为包含 Premium
和所需的冗余级别:本地冗余存储 (LRS
)。 -Kind
参数是 FileStorage
而不是 StorageV2
,因为必须在 FileStorage 存储帐户(而不是 GPv2 存储帐户)中创建高级文件共享。
$storAcct = New-AzStorageAccount `
-ResourceGroupName $resourceGroupName `
-Name $storageAccountName `
-SkuName Premium_LRS `
-Location $region `
-Kind FileStorage
若要在 Azure CLI 中创建存储帐户,请使用 az storage account create 命令。 此命令有许多选项;此处只显示了必需的选项。 若要详细了解高级选项,请参阅 az storage account create
命令文档 。
为了简化存储帐户和后续文件共享的创建,我们将在变量中存储多个参数。 可将变量内容替换为所需的任何值,但请注意,存储帐户名称必须全局唯一。
resourceGroupName="myResourceGroup"
storageAccountName="mystorageacct$RANDOM"
region="chinanorth3"
若要创建能够存储标准 Azure 文件共享的存储帐户,请使用以下命令。 --sku
参数与所需的冗余类型相关。
az storage account create \
--resource-group $resourceGroupName \
--name $storageAccountName \
--kind StorageV2 \
--sku Standard_ZRS \
--output none
若要创建能够存储高级 Azure 文件共享的存储帐户,请使用以下命令。 请注意,--sku
参数已更改为包含 Premium
和所需的冗余级别:本地冗余存储 (LRS
)。 --kind
参数是 FileStorage
而不是 StorageV2
,因为必须在 FileStorage 存储帐户(而不是 GPv2 存储帐户)中创建高级文件共享。
az storage account create \
--resource-group $resourceGroupName \
--name $storageAccountName \
--kind FileStorage \
--sku Premium_LRS \
--output none
创建文件共享
创建存储帐户后,便可以创建文件共享。 无论使用的是高级文件共享还是标准文件共享,此过程大部分都是相同的。 应考虑以下差异:
标准文件共享可以部署到任一标准层:事务优化(默认)层、热层或冷层。 这是一个不受存储帐户的 blob 访问层影响的每文件共享层(此属性仅与 Azure Blob 存储相关 - 与 Azure 文件存储完全不相关)。 部署共享后,可随时更改共享的层。 高级文件共享不能直接转换到任何标准层。
重要
可以在 GPv2 存储帐户类型中的各层(事务优化、热和冷)之间移动文件共享。 共享在层间移动会产生事务:从较热层移动到较冷层会导致对共享中每个文件收取冷层的写入事务费用,而从较冷层移动到较热层会导致对共享中每个文件收取冷层的读取事务费用。
按照以下说明使用 Azure 门户新建 Azure 文件共享。
如果你刚刚创建了存储帐户,可以在部署屏幕中选择“转到资源”导航到该存储帐户。 在存储帐户中,在存储帐户的目录中选择“文件共享”。
在文件共享列表中,应会看到以前在此存储帐户中创建的任何文件共享;如果尚未创建任何文件共享,则会显示一个空表。 选择“+ 文件共享”创建新的文件共享。
此时屏幕上应会显示“新建文件共享”边栏选项卡。 填写新文件共享边栏选项卡的“基本 ”选项卡中的字段以创建文件共享:
名称 :要创建的文件共享的名称。
层 :为标准文件共享选择的层。 此字段仅适用于常规用途 (GPv2) 存储帐户类型。 可以选择事务优化层、热层或冷层。 可随时更改共享的层。 建议在迁移过程中选取可选的“事务优化”层,以最大程度减少事务费用,然后在迁移完成后切换到较低的层(如果需要)。
预配容量 :仅对于高级文件共享,预配容量是将向你收取的费用(与实际使用情况无关)。 此字段仅适用于FileStorage 存储帐户类型。 高级文件共享上可用的 IOPS 和吞吐量基于预配的容量,因此可以预配更多容量以获得更高的性能。 最小的高级文件共享大小为 100 GIB。 有关如何规划高级文件共享的详细信息,请参阅预配高级文件共享 。
选择“查看 + 创建 ”,然后选择“创建 ”以创建 Azure 文件共享。
可以使用 New-AzRmStorageShare
cmdlet 创建 Azure 文件共享。 以下 PowerShell 命令假设你已根据前面的“使用 Azure PowerShell 创建存储帐户”部分中的定义,设置了变量 $resourceGroupName
和 $storageAccountName
。
以下示例演示如何使用 -AccessTier
参数创建具有显式层的文件共享。 如果未指定层,则标准文件共享的默认层是事务优化层。
重要
对于高级文件共享,-QuotaGiB
参数指的是文件共享的预配容量。 文件共享的预配容量是将要对你计费的数量,与使用情况无关。 标准文件共享按使用情况计费,而不是按预配容量计费。
# Assuming $resourceGroupName and $storageAccountName from earlier in this document have already
# been populated. The access tier parameter may be TransactionOptimized, Hot, or Cool for GPv2
# storage accounts. Standard tiers are only available in standard storage accounts.
$shareName = "myshare"
New-AzRmStorageShare `
-ResourceGroupName $resourceGroupName `
-StorageAccountName $storageAccountName `
-Name $shareName `
-AccessTier TransactionOptimized `
-QuotaGiB 1024 | `
Out-Null
可以使用 az storage share-rm create
命令创建 Azure 文件共享。 以下 Azure CLI 命令假设你已根据前面的“使用 Azure CLI 创建存储帐户”部分中的定义,设置了变量 $resourceGroupName
和 $storageAccountName
。
重要
对于高级文件共享,--quota
参数指的是文件共享的预配容量。 文件共享的预配容量是将要对你计费的数量,与使用情况无关。 标准文件共享按使用情况计费,而不是按预配容量计费。
shareName="myshare"
az storage share-rm create \
--resource-group $resourceGroupName \
--storage-account $storageAccountName \
--name $shareName \
--access-tier "TransactionOptimized" \
--quota 1024 \
--output none
注意
文件共享名称必须是所有小写字母、数字和单个连字符,并且必须以小写字母或数字开头和结尾。 名称不能包含两个连续的连字符。 若要详细了解如何为文件共享和文件命名,请参阅命名和引用共享、目录、文件和元数据 。
更改 Azure 文件共享的层
常规用途 v2 (GPv2) 存储帐户中部署的文件共享可位于事务优化层、热层或冷层中。 可以随时更改 Azure 文件共享的层,同时需要支付上述相应事务费用。
在主存储帐户页上,选择“文件共享 ”。选择标记为“文件共享 ”的磁贴(还可以通过存储帐户的目录导航到“文件共享 ”)。
在文件共享的表列表中,选择要为其更改层的文件共享。 在“文件共享概述”页上,在菜单中选择“更改层”。
在生成的对话框中,选择所需的层:事务优化层、热层或冷层。
以下 PowerShell cmdlet 假设你已按本文档前面部分所述设置了$resourceGroupName
、$storageAccountName
、$shareName
变量。
Update-AzRmStorageShare `
-ResourceGroupName $resourceGroupName `
-StorageAccountName $storageAccountName `
-Name $shareName `
-AccessTier Cool
以下 Azure CLI 命令假设你已按本文档前面部分所述设置了$resourceGroupName
、$storageAccountName
和$shareName
变量。
az storage share-rm update \
--resource-group $resourceGroupName \
--storage-account $storageAccountName \
--name $shareName \
--access-tier "Cool"
扩展现有的文件共享
如果在现有存储帐户上启用大型文件共享,必须扩展该存储帐户中的现有文件共享,才能利用增加的容量和规模。
在存储帐户中选择“文件共享”。
右键单击文件共享并选择“配额”。
输入所需的新大小,然后选择“确定”。
若要将配额设置为最大大小,请使用以下命令。 请将 <YourResourceGroupName>
、<YourStorageAccountName>
和 <YourStorageAccountFileShareName>
替换为自己的信息。
$resourceGroupName = "<YourResourceGroupName>"
$storageAccountName = "<YourStorageAccountName>"
$shareName="<YourStorageAccountFileShareName>"
# update quota
Update-AzRmStorageShare `
-ResourceGroupName $resourceGroupName `
-StorageAccountName $storageAccountName `
-Name $shareName `
-QuotaGiB 102400
若要将配额设置为最大大小,请使用以下命令。 请将 <yourResourceGroupName>
、<yourStorageAccountName>
和 <yourFileShareName>
替换为自己的信息。
az storage share-rm update \
--resource-group <yourResourceGroupName> \
--storage-account <yourStorageAccountName> \
--name <yourFileShareName> \
--quota 102400
删除文件共享
若要删除 Azure 文件共享,可以使用 Azure 门户、Azure PowerShell 或 Azure CLI。 可以在软删除 保留期内恢复 SMB Azure 文件共享。
打开 Azure 门户 ,然后导航到包含要删除的文件共享的存储帐户。
打开存储帐户,然后选择“文件共享”。
选择要删除的文件共享。
选择“删除共享”。
选中确认同意删除该文件共享及其所有内容的框。
选择“删除”。
运行以下脚本。 请将 <ResourceGroup>
、<StorageAccount>
和 <FileShare>
替换为自己的信息。
Remove-AzRmStorageShare `
-ResourceGroupName <ResourceGroup> `
-StorageAccountName <StorageAccount> `
-Name <FileShare>
可以使用 az storage share delete
命令删除 Azure 文件共享。 请将 <ResourceGroup>
、<StorageAccount>
和 <FileShare>
替换为自己的信息。
az storage share-rm delete \
--resource-group <ResourceGroup> \
--storage-account <StorageAccount> \
--name <FileShare>
后续步骤