摘要
本模块中,我们讨论了在 Azure 中选择 HPC 存储所涉及的重要因素。 现在该组合信息并创建可用于评估各种 Azure 存储选项的工具了。
让我们创建一个清单来罗列主要的存储注意事项。 你可能会好奇为什么需要清单,尤其是你已经在长期监视自己当前的存储环境了。 创建清单的目的是整合信息供其他利益干系人查看,其中包括 Azure 团队成员和可能正在共事的合作伙伴。 该清单有助于简化决策过程,还有助于尽量减少围绕特定存储解决方案的功能(或缺乏功能)而产生的任何误解。
你将根据下列注意事项创建清单。
分配工作负载流量
考虑 HPC 环境将生成并处理的流量类型。 如果计划运行多种类型的工作负载并计划将存储用于其他目的,这一步尤其重要。
例如,HPC 工作负载可能从大量 HPC 计算机中的大型文件(例如来自渲染作业的媒体资产,或基因组测序文件)读取顺序数据。 与此同时,你可能需要运行数据库(例如为了使用 HPC 计划程序)。 流量类型不同,可能需要在不同的存储解决方案上部署。
存储解决方案可能旨在针对不同场景进行优化。 从运行本地 NVMe 磁盘的 Ubuntu 生成的 NAS 归档程序非常适合单流活动(例如,将数据从 NAS 复制到本地磁盘的单个客户端)。 但它可能无法针对大量客户端的并发访问进行缩放。
此外,你可能还需要一个针对大量小文件优化的解决方案。 传统 NAS 解决方案(例如 Azure NetApp 文件)可为此类流量提供最佳性能。 但是,你可能还需要处理并存储大型文件,而且将执行这些操作的成本降到最低。 使用分层的 Azure Blob 存储在这些情况下提供了灵活性,但它可能不会为单流复制操作提供出色的性能。
你需要在清单中记录以下流量类型:
- 单流流量与多流流量
- 读取流量与写入流量的比率
- 文件平均大小和计数
- 随机访问模式与顺序访问模式
例如,你的清单可能反映:
- 多流流量。
- 读取密集型 (75%/25%)。
- 文件平均大小在 10 GB 至 200 GB 之间。 大约 50,000 个文件。
- 频繁顺序访问 (80%/20%)。
还应考虑计划在体系结构上运行的主要工作负载。 如果不止一个或两个,请确保要求没有明显的差异。
数据区域
下一个类别应考虑数据的位置。 是否需要将数据保留在本地? 运行 HPC 工作负载时,是否会考虑数据修改? 是否计划仅在本地、仅在 Azure 中或同时在两个位置进行数据修改?
下面是清单的一些区域事项:
- 源数据位于本地和/或 Azure 中?
- 结果数据位于本地和/或 Azure 中?
- Azure 中的 HPC 工作负载是否应与源数据修改时间线协调?
- 可通过时间线了解存在过时数据的风险。
- 是否是敏感/HIPAA 数据?
- 可通过数据敏感度了解所需的身份验证和加密级别。
区域感知有助于确定是否可将复制、缓存或同步用作数据移动策略。
性能要求
性能要求应如下所示:
- 单流吞吐量(GB/秒)
- 多流吞吐量(GB/秒)
- 预期最大 IOPS
- 平均延迟 (ms)
每个注意事项都会影响性能,因此这些数值指导了特定解决方案应实现的目标。 例如,你可能有一个 HPC 工作负载,它在工作流期间进行大量的文件创建和删除操作。 这些操作可能会影响总体吞吐量。
访问方法
考虑所需的客户端访问协议。 如前文所述,存在不同版本的 NFS(和 Windows 客户端协议 SMB)。 如果计划使用 NFSv4,需要清楚了解所需的协议功能(比如 ACL)。
下面是清单的一些事项:
- 所需的 NFS 版本
- 如果是 v4,预期协议行为(ACL 和加密)
- 并行文件系统解决方案
总容量要求
下一个注意事项为 Azure 中的存储容量。 它有助于了解解决方案的总体成本。 如果计划长时间存储大量数据,则可能需要考虑在存储解决方案中使用“分层”功能。 分层可提供成本更低的存储选项,并在热层中提供成本更高但性能也更高的存储。
列表中的一些项:
- 所需的总容量
- 所需的“热层”总容量
- 所需的“暖层”总容量
- 所需的“冷层”总容量
冷层容量注意事项:在存档层,存储数据的成本较低,检索数据的事务成本较高。 此外,存档层检索数据的时间较长。 不应将其视为热层或暖层的一部分。
身份验证/授权方法
将身份验证/授权要求添加到清单中。 添加它至少可确保体系结构包含适当的支持系统(例如 LDAP 服务器或 Active Directory 环境)。 但是,如果需要支持指向 Active Directory 用户的 UID/GID 映射等功能,则需要确认存储解决方案是否支持该功能。
对于列表:
- 本地(UID/GID 仅在文件服务器上)
- 目录(LDAP、Active Directory)
- UID/GID 是否映射到 Active Directory 用户?
延伸阅读
IETF NFS RFC: