为 Azure NetApp 文件卷配置网络功能

“网络功能”可用于指示是否要将 VNet 功能用于 Azure NetApp 文件卷。 借助此功能,可将选项设置为“标准”或“基本”。 可在创建新的 NFS、SMB 或双协议卷时指定设置。 还可以修改现有卷上的网络功能选项。 有关网络功能的详细信息,请参阅 Azure NetApp 文件网络规划指南

网络功能选项

网络功能存在以下两个选项:

  • 标准
    此设置可为卷启用 VNet 功能。 标准网络功能是默认设置和首选设置。

    如果需要更高的 IP 限制或 VNet 功能 (如网络安全组(NSG)用户定义的路由或其他连接模式,请将 网络功能 设置为 标准

  • 基本
    此设置将减少 IP 限制次数 (<1000),并且没有适用于卷的其他 VNet 功能。

    如果无需使用 VNet 功能,应将“网络功能”设置为“基本”。

注意事项

  • 无论“网络功能”选项的设置为何(“标准”或“基本”),Azure VNet 只能将一个子网委托给 Azure NetApp 文件。 请参阅将子网委托给 Azure NetApp 文件

  • 查找与所需网络功能类型兼容的存储,该能力取决于指定的 VNet。 如果因资源不足而无法创建卷,可尝试其他兼容存储可用的 VNet。

  • 可以从基本卷快照创建基本卷,从标准卷快照创建标准卷。 不支持从标准卷快照创建基本卷。 不支持从基本卷快照创建标准卷。

  • 将备份还原到新卷时,可以使用基本或标准网络功能来配置新卷。

  • 将现有卷的网络功能选项从“基本”更改为“标准”网络功能时,如果 UDR 或 NSG 实现阻止基本网络卷连接到 DNS 和域控制器,则对现有基本网络卷的访问权限可能会丢失。 如果所有卷无法与 DNS 和域控制器通信,则可能会失去在 Active Directory 连接器中更新信息(例如站点名称)的能力。 有关 UDR 和 NSG 的指南,请参阅 为 Azure NetApp 文件卷配置网络功能

注意

DP 卷的网络功能不会因将源卷从基本网络功能更改为标准网络功能而受到影响。

在创建卷期间设置网络功能选项

本部分说明如何在创建新卷时设置网络功能选项。

  1. 在创建新的 NFSSMB双协议 卷的过程中,可以在“创建卷”屏幕的“基本”选项卡下将 “网络功能 ”选项设置为 “基本 ”或“ 标准 ”。

    显示创建支持标准网络功能的卷的屏幕截图。

  2. 在完成创建卷的过程之前,可以在“创建卷”界面的“查看 + 创建”选项卡中显示指定的网络功能设置。 选择“创建”即可完成创建卷过程。

    屏幕截图显示了创建卷的“查看 + 创建”选项卡。

  3. 选择“卷”以显示每个卷的网络功能设置:

    屏幕截图显示“卷”页面,其中显示了网络功能设置。

编辑现有卷的网络功能选项

可以将现有卷的网络功能选项从“基本”网络功能编辑为“标准”网络功能。 所做的更改将应用于同一“网络同级集”(也称为同级)中的所有卷。 同级由其网络 IP 地址关系确定。 它们共享相同的网络接口卡 (NIC),用于将卷装载到客户端或连接到卷的远程共享。 在创建卷时,其同级由旨在尽可能重用 IP 地址的放置算法确定。

重要说明

由于存在风险,因此不建议在 Terraform 管理的卷上使用编辑网络功能选项。 如果使用 Terraform 托管卷,则必须按照单独的说明操作。 有关详细信息,请参阅 将 Terraform 托管的 Azure NetApp 文件卷从基本卷更新为标准卷

编辑网络功能时的注意事项

  • 如果同时启用了 ANFStdToBasicNetworkFeaturesRevertANFBasicToStdNetworkFeaturesUpgrade AFEC,并且使用的 1 或 2 TiB 容量池,请参阅调整容量池或卷的大小,以了解如何调整容量池的大小。
  • Azure NetApp 文件支持在不中断服务的情况下升级到标准网络功能,还可以还原到基本网络功能。 此操作预计至少需要 15 分钟。 在操作完成之前,无法在目标网络同级集中创建常规卷、数据保护卷或应用程序卷组。

注意

需要提交等待列表请求,以便通过 Azure NetApp 文件标准网络功能(编辑卷)请求表单访问该功能。 在你提交候补名单请求后,该功能可能需要大约一周的时间才能启用。 可以使用以下命令检查功能注册状态:

Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFBasicToStdNetworkFeaturesUpgrade                                                      

FeatureName                         ProviderName     RegistrationState   
-----------                         ------------     -----------------   
ANFBasicToStdNetworkFeaturesUpgrade Microsoft.NetApp Registered

注意

还可以将选项从“标准”网络功能还原回“基本”网络功能。 在执行还原操作之前,必须通过 Azure NetApp 文件标准网络功能(编辑卷)请求表单提交候补名单请求。 在你提交候补名单请求后,还原功能可能需要大约一周的时间才能启用。 可以使用以下命令检查注册状态:

Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFStdToBasicNetworkFeaturesRevert                                                      

FeatureName                         ProviderName     RegistrationState   
-----------                         ------------     -----------------   
ANFStdToBasicNetworkFeaturesRevert Microsoft.NetApp Registered

如果还原,则需要考虑并需要仔细规划。 请参阅 Azure NetApp 文件网络规划准则,以了解有关标准和基本网络功能的限制和支持的网络拓扑。

编辑网络功能

  1. 请导航到要更改网络功能选项的卷。
  2. 选择“更改网络功能”。
  3. “编辑网络功能”窗口会显示同一网络同级集中的卷。 确认是否要修改网络功能选项。

将 Terraform 托管的 Azure NetApp 文件卷从“基本”更新为“标准”

如果使用 Terraform 管理 Azure NetApp 文件卷,则编辑网络功能需要执行其他步骤。 Terraform 托管的 Azure 资源会将其状态存储在本地文件中,该文件则位于 Terraform 模块或 Terraform Cloud 中。

更新卷的网络功能会更改由该卷利用的 NIC 的基础网络同级集。 你拥有的其他存储卷可使用此 NIC,并且其他 NIC 也可以共享相同的网络同级集。 如果操作不当,更新由 Terraform 管理的一个卷的网络功能可能会无意中更新其他几个卷的网络功能。

重要说明

状态数据和远程 Azure 资源配置之间的不连续性(尤其是 network_features 参数中)可能会导致一个或多个卷的破坏,并且可能会在运行 terraform apply 时丢失数据。 请仔细遵循此处列出的解决方案,以安全地将 Terraform 托管卷的网络功能从“基本”更新到“标准”。

注意

Terraform 模块通常只包含目录中的所有顶级 *.tf 和/或 *.tf.json 配置文件,但 Terraform 模块可以利用模块调用在配置中显示包含其他模块。 可以 详细了解可能的模块结构。 要更新引用 Azure NetApp 文件卷的模块中的所有配置文件,请务必查看模块可以引用配置文件的所有可能源。

Terraform 模块中状态文件的名称为 terraform.tfstate。 它包含模块中所有已部署资源的参数及其值。 下面突出显示了 network_features 示例文件中 Azure NetApp 文件卷的值为“基本”的 terraform.tfstate 参数:

Terraform 模块的屏幕截图。

请勿手动更新 文件。terraform.tfstate 同样,在按照此处概述的步骤操作之前,不应更新 network_features*.tf 配置文件中的 *.tf.json 参数,因为这会导致远程卷和表示该远程卷的本地配置文件的参数不匹配。 当 Terraform 检测到远程资源和表示这些远程资源的本地配置文件的参数不匹配时,Terraform 可以销毁远程资源,并使用本地配置文件中的参数重新预配这些资源。 这可能会导致卷中的数据丢失。

通过按照此处概述的步骤操作,Terraform 会自动将 network_features 文件中的参数 terraform.tfstate 更新为值“标准”,且不会破坏远程卷,从而指示网络功能已成功更新为“标准”。

注意

建议始终使用最新的 Terraform 版本和 azurerm Terraform 模块的最新版本。

确定受影响的卷

更改 Azure NetApp 文件卷的网络功能可能会影响其他 Azure NetApp 文件卷的网络功能。 同一网络同级集中的卷必须具有相同的网络功能设置。 因此,在更改一个卷的网络功能之前,必须使用 Azure 门户确定受更改影响的所有卷。

  1. 登录到 Azure 门户。
  2. 请导航到要更改网络功能选项的卷。
  3. 选择“更改网络功能”。 请勿选择“保存”。
  4. 记录受影响的卷的路径,然后选择“取消”。

受更改网络功能影响的卷的屏幕截图。

需要更新定义这些卷的所有 Terraform 配置文件,这意味着需要查找定义这些卷的 Terraform 配置文件。 表示受影响卷的配置文件可能不在同一 Terraform 模块中。

重要说明

除了已知由 Terraform 管理的单个卷之外,其他受影响的卷可能不是由 Terraform 管理的。 在同一网络同级集中列出的其他卷并不意味着此其他卷由 Terraform 管理。

修改受影响卷的配置文件

必须修改所发现的由 Terraform 管理的每个受影响卷的配置文件。 更新配置文件失败可能会破坏卷或导致数据丢失。

重要说明

根据在 Terraform 配置文件中卷的生命周期配置块设置,卷可能会被销毁,包括在运行 terraform apply 时可能导致的数据丢失。 确保知道哪些受影响的卷由 Terraform 管理,以及哪些卷不由其管理。

  1. 找到受影响的 Terraform 托管卷配置文件。

  2. ignore_changes = [network_features] 添加到卷的 lifecycle 配置块。 如果该卷的配置中不存在该 lifecycle 块,请添加它。

    生命周期配置的屏幕截图。

  3. 对每个受影响的 Terraform 托管的卷重复执行此操作。

当资源对数据的引用可能会在创建资源后发生更改时,预期将会使用 ignore_changes 功能。 将 ignore_changes 功能添加到 lifecycle 块后,可以在 Azure 门户中更改卷的网络功能,而无需 Terraform 尝试在下次运行 terraform apply 时修复该卷的此参数。 可以了解有关该功能的详细信息ignore_changes

更新卷的网络功能

  1. 在 Azure 门户中,导航到要更改其网络功能的 Azure NetApp 文件卷。

  2. 选择“更改网络功能”。

  3. 在“操作”字段中,确认它显示为“更改为标准”。

    确认网络功能更改的屏幕截图。

  4. 选择“保存”。

  5. 等到收到网络功能更新已完成的通知。 在“通知”中,消息显示“已成功更新网络功能。 网络同级集的网络功能已成功更新为“标准”。

  6. 在终端中,运行 terraform plan 以查看任何潜在的更改。 输出应指示基础结构与配置匹配,并显示一条消息“无更改。 基础结构与配置相匹配。”

    Terraform 计划命令输出的截图。

    重要说明

    作为安全预防措施,请先执行 terraform plan,然后再执行 terraform apply。 使用命令 terraform plan,可以创建一个“计划”文件,其中包含对远程资源所做的更改。 通过此计划,可以了解是否将通过运行 terraform apply 来销毁任何受影响卷。

  7. 运行 terraform apply 以更新 terraform.tfstate 文件。

    对包含受影响卷的所有模块重复上述操作。

    观察 network_features 文件中 terraform.tfstate 参数值的变化,它已从“基本”更改为“标准”:

    更新后的 Terraform 模块的屏幕截图。

更新 Terraform 托管的 Azure NetApp 文件卷的配置文件,以进行配置奇偶校验

更新卷的网络功能后,还必须修改受影响 Terraform 托管卷所有配置文件中的 network_features参数和 lifecycle blocks。 此更新可确保如果必须重新创建或更新卷,它将维护其标准网络功能设置。

  1. 在配置文件中,将 network_features 设置为“标准”,并从 ignore_changes = [network_features] 块中移除 lifecycle 行。

    具有标准网络功能的 Terraform 模块的屏幕截图。

  2. 对每个受影响的 Terraform 托管的卷重复执行此操作。

  3. 通过运行 terraform plan 来验证更新后的配置文件是否准确表示了远程资源的配置。 确认输出显示“无更改”。

  4. 运行 terraform apply 以完成更新。

后续步骤