你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

添加存储目标

存储目标是适用于通过 Azure HPC 缓存访问的文件的后端存储。 可以添加 NFS 存储(例如本地硬件系统),也可以将数据存储在 Azure Blob 中。

缓存在一个聚合命名空间中呈现所有存储目标。 命名空间路径是在添加存储目标后单独配置的。

请记住,存储导出必须可供从缓存的虚拟网络访问。 对于本地硬件存储,可能需要设置一个 DNS 服务器,该服务器可以解析用于访问 NFS 存储的主机名。 请阅读 DNS 访问了解详细信息。

创建缓存后添加存储目标。 请遵循以下过程:

  1. 创建缓存
  2. 定义存储目标(本文介绍的信息)
  3. 创建面向客户端的路径(用于聚合命名空间

添加存储目标的过程根据存储目标使用的存储类型而略有不同。 下面介绍了每种方法的详细信息。

选择适当的存储目标类型

可以从三种存储目标类型中进行选择:NFS、Blob 和 ADLS-NFS 。 选择与将在此 HPC 缓存项目中用于存储文件的存储系统类型相匹配的类型。

添加新的 Azure Blob 存储目标

新的 Blob 存储目标需要一个空的 Blob 容器,或者以 Azure HPC 缓存云文件系统格式的数据填充的容器。 在将数据移到 Azure Blob 存储中详细了解如何预加载 Blob 容器。

Azure 门户中的“添加存储目标”页提供了用于创建新的 Blob 容器,然后紧接着添加该容器的选项。

注意

在 Azure 门户中打开你的缓存实例,然后单击左侧边栏中的“存储目标”。

screenshot of the settings > storage target page, with two existing storage targets in a table and a highlight around the + add storage target button above the table

“存储目标”页将列出所有现有目标,并提供用于添加新目标的链接。

单击“添加存储目标”按钮。

screenshot of the add storage target page, populated with information for a new Azure Blob storage target

若要定义 Azure Blob 容器,请输入以下信息。

  • 存储目标名称 - 设置一个用于在 Azure HPC 缓存中标识此存储目标的名称。

  • 目标类型 - 选择“Blob”。

  • 存储帐户 - 选择要使用的帐户。

    需要根据添加访问角色中所述,授权缓存实例访问存储帐户。

    有关可以使用的存储帐户类型的信息,请参阅 Blob 存储要求

  • 存储容器 - 选择此目标的 Blob 容器,或单击“新建”。

    screenshot of dialog to specify name and access level (private) for new container

完成后,单击“确定”以添加该存储目标。

注意

如果你的存储帐户防火墙设置为仅限通过“选定网络”进行访问,请使用解决 Blob 存储帐户防火墙设置问题中所述的临时解决方法。

将访问控制角色添加到帐户

Azure HPC 缓存使用 Azure 基于角色的访问控制 (Azure RBAC) 来授权缓存服务访问 Azure Blob 存储目标的存储帐户。

存储帐户所有者必须为用户“HPC 缓存资源提供者”显式添加角色“存储帐户参与者”和“存储 Blob 数据参与者”。

可以提前执行此操作,也可以通过单击添加 Blob 存储目标时所在门户页面上的链接来执行此操作。 请记住,将角色设置为通过 Azure 环境传播最长可能需要五分钟的时间。 请在添加角色之后等待几分钟,然后再创建存储目标。

  1. 为存储帐户打开“访问控制(IAM)”。

  2. 选择“添加”>“添加角色分配”,打开“添加角色分配”页面 。

  3. 分配以下角色,一次分配一个。 有关详细步骤,请查看使用 Azure 门户分配 Azure 角色

    设置
    角色 存储帐户参与者
    存储 Blob 数据参与者
    将访问权限分配到 “HPC 缓存资源提供程序”或“StorageCache 资源提供程序”

    Add role assignment page

添加新的 NFS 存储目标

NFS 存储目标的设置与 Blob 存储目标不同,包括指示缓存如何存储来自该存储系统的数据的使用情况模型设置。

Screenshot of add storage target page with NFS target defined

注意

在创建 NFS 存储目标之前,请确保存储系统可供从 Azure HPC 缓存访问,并满足权限要求。 如果缓存无法访问存储系统,则创建存储目标将会失败。 有关详细信息,请阅读 NFS 存储要求排查 NAS 配置和 NFS 存储目标问题

选择使用情况模型

创建使用 NFS 来访问其存储系统的存储目标时,需要为该目标选择使用情况模型。 此模型确定数据的缓存方式。

有关所有这些设置的更多详细信息,请阅读了解使用情况模型

HPC 缓存的内置使用情况模型可让你选择如何在快速响应与所获数据过时的风险之间实现平衡。 如果你想要优化文件读取速度,那么你可能不会在意是否根据后端文件检查缓存中的文件。 或者,若要确保你的文件始终与远程存储中的文件一样保持最新状态,请选择一个频繁执行检查的模型。

注意

高吞吐量样式缓存仅支持读取缓存。

以下三个选项涵盖了大多数情形:

  • 读取量大,写入量少 - 加速对静态或极少更改的文件的读取访问。

    此选项缓存客户端读取的文件,但立即将客户端写入内容传递到后端存储。 不会自动将缓存中存储的文件与 NFS 存储卷上的文件进行比较。

    如果存在可能会未首先将文件写入缓存便直接在存储系统上修改该文件的风险,请不要使用此选项。 如果发生这种情况,该文件的缓存版本将与后端文件失去同步。

  • 写入率超过 15% - 此选项既可提高读取性能,也可提高写入性能。

    客户端读取和客户端写入内容都将缓存。 假设缓存中的文件比后端存储系统上的文件更新。 只会每隔 8 小时根据后端存储上的文件自动检查缓存的文件。 缓存中已修改的文件在缓存中保留一小时且未进一步发生更改后,将写入后端存储系统。

    如有任何客户端直接装载后端存储卷,请不要使用此选项,因为这样存在存储卷中文件过时的风险。

  • 客户端写入 NFS 目标并绕过缓存 - 如果工作流中的任何客户端不首先将数据写入缓存便将其直接写入存储系统,或者如果你要优化数据一致性,请选择此选项。

    客户端请求的文件将会缓存,但从客户端对这些文件所做的任何更改将立即传递到后端存储系统。 将频繁根据后端版本检查缓存中的文件以了解内容更新。 如果文件是直接在存储系统上更改的而不是通过缓存更改的,这种验证可以保持数据一致性。

有关其他选项的详细信息,请阅读了解使用情况模型

下表汇总了所有用法模式之间的差异:

使用模型 缓存模式 验证计时器 写回计时器
只读缓存 读取 30 秒
读写缓存 读取/写入 8 小时 1 小时

注意

“后端验证”值显示缓存何时自动将其文件与远程存储中的源文件进行比较。 但是,可以通过在后端存储系统上发送一个包含 readdirplus 操作的客户端请求来触发比较。 readdirplus 是一个标准的 NFS API(也称为扩展读取),它会返回目录元数据,从而使得缓存比较并更新文件。

创建 NFS 存储目标

在 Azure 门户中打开你的缓存实例,然后单击左侧边栏中的“存储目标”。

screenshot of the settings > storage target page, with two existing storage targets in a table and a highlight around the + add storage target button above the table

“存储目标”页将列出所有现有目标,并提供用于添加新目标的链接。

单击“添加存储目标”按钮。

Screenshot of add storage target page with NFS target defined

为支持 NFS 的存储目标提供以下信息:

  • 存储目标名称 - 设置一个用于在 Azure HPC 缓存中标识此存储目标的名称。

  • 目标类型 - 选择“NFS”。

  • 主机名 - 输入 NFS 存储系统的 IP 地址或完全限定的域名。 (仅当缓存可以访问可解析名称的 DNS 服务器时才使用域名。)如果存储系统由多个 IP 引用,则可以输入多个 IP 地址。

  • 使用情况模型 - 按照前面的选择使用情况模型中所述,根据你的工作流选择一个数据缓存配置文件。

完成后,单击“确定”以添加该存储目标。

添加新的 ADLS-NFS 存储目标

ADLS-NFS 存储目标使用支持网络文件系统 (NFS) 3.0 协议的 Azure Blob 容器。

若要详细了解此功能,请阅读 NFS 3.0 协议支持

ADLS-NFS 存储目标与 Blob 存储目标和 NFS 存储目标之间具有一些相似之处。 例如:

  • 与 Blob 存储目标一样,需要向 Azure HPC 缓存授予访问你的存储帐户的权限。

  • 与 NFS 存储目标一样,需要设置缓存使用情况模型

  • 由于支持 NFS 的 Blob 容器采用 NFS 兼容的层次结构,因此你无需使用缓存来引入数据,并且这些容器可供其他 NFS 系统读取。

    可以在 ADLS-NFS 容器中预加载数据,再将数据添加到用作存储目标的 HPC 缓存,然后从 HPC 缓存外部访问这些数据。 将标准 Blob 容器用作 HPC 缓存存储目标时,将以专用格式写入数据,只能从 Azure HPC 缓存兼容的其他产品访问这些数据。

必须先创建一个支持 NFS 的存储帐户才能创建 ADLS-NFS 存储目标。 请按照 Azure HPC 缓存的先决条件中的步骤以及使用 NFS 装载 Blob 存储中的说明进行操作。 如果缓存和存储帐户没有使用相同的虚拟网络,请确保缓存的 VNet 可以访问存储帐户的 VNet。

设置存储帐户后,可以在创建存储目标时创建新容器。

若要详细了解此配置,请参阅在 Azure HPC 缓存中使用已装载 NFS 的 blob 存储

若要创建 ADLS-NFS 存储目标,请在 Azure 门户中打开“添加存储目标”页。 (其他方法正在开发中。)

Screenshot of add storage target page with ADLS-NFS target defined

输入以下信息。

  • 存储目标名称 - 设置一个用于在 Azure HPC 缓存中标识此存储目标的名称。

  • 目标类型 - 选择“ADLS-NFS”。

  • 存储帐户 - 选择要使用的帐户。 如果你的支持 NFS 的存储帐户未出现在列表中,请检查它是否符合先决条件,以及缓存是否可以访问它。

    需要根据添加访问角色中所述,授权缓存实例访问存储帐户。

  • 存储容器 - 为此目标选择支持 NFS 的 Blob 容器,或单击“新建”。

  • 使用情况模型 - 按照前面的选择使用情况模型中所述,根据你的工作流选择一个数据缓存配置文件。

完成后,单击“确定”以添加该存储目标。

查看存储目标

可以使用 Azure 门户或 Azure CLI 显示已为缓存定义的存储目标。

在 Azure 门户中打开你的缓存实例,然后单击左侧边栏上“设置”标题下的“存储目标”。 “存储目标”页列出了所有现有目标,以及用于添加或删除目标的控件。

单击某个存储目标的名称可打开其详细信息页。

请阅读查看和管理存储目标编辑存储目标,以了解详细信息。

后续步骤

创建存储目标后,请继续执行以下任务来使缓存随时可供使用:

如果需要更新任何设置,可以编辑存储目标