将数据移到 Azure Blob 存储

如果工作流包括将数据移动到 Azure Blob 存储,请确保使用高效的策略。 应创建缓存,将 Blob 容器添加为存储目标,然后使用 Azure HPC 缓存复制数据。

本文介绍将数据移动到 Blob 存储以用于 Azure HPC 缓存的最佳方法。

Tip

本文不适用于装载 NFS 的 Blob 存储(ADLS-NFS 存储目标)。 可以使用任何基于 NFS 的方法在添加到 HPC 缓存之前或之后填充 ADLS-NFS blob 容器。 阅读 使用 NFS 协议预加载数据 以了解详细信息。

请记住以下事实:

  • Azure HPC 缓存使用专用存储格式来组织 Blob 存储中的数据。 这就是为什么 Blob 存储目标必须是新的、空的容器或以前用于 Azure HPC 缓存数据的 Blob 容器。

  • 使用多个客户端和并行操作时,通过 Azure HPC 缓存将数据复制到后端存储目标会更高效。 一个客户端的简单复制命令将会慢慢地移动数据。

本文中概述的策略适用于填充空 Blob 容器或将文件添加到以前使用的存储目标。

通过 Azure HPC 缓存复制数据

Azure HPC 缓存旨在同时为多个客户端提供服务,因此,若要通过缓存复制数据,应使用来自多个客户端的并行写入。

显示多客户端多线程数据移动的关系图:左上角,本地硬件存储的图标具有多个箭头。箭头指向四台客户端计算机。在每个客户端计算机上,三个箭头指向 Azure HPC 缓存。从 Azure HPC 缓存中,多个箭头指向 Blob 存储。

cpcopy命令通常用于将数据从一个存储系统传输到另一个存储系统,它们是一次只复制一个文件的单线程进程。 这意味着文件服务器一次只引入一个文件,这浪费了缓存的资源。

本部分介绍使用 Azure HPC 缓存创建多客户端多线程文件复制系统以将数据移动到 Blob 存储的策略。 它介绍文件传输概念和决策点,这些概念和决策点可用于使用多个客户端和简单的复制命令高效复制数据。

它还介绍了一些可以帮助的实用程序。 该 msrsync 实用工具可用于部分自动执行将数据集划分为存储桶和使用 rsync 命令的过程。 该 parallelcp 脚本是另一个实用工具,用于读取源目录并自动发出复制命令。

战略规划

构建并行复制数据的策略时,应了解文件大小、文件计数和目录深度的权衡。

  • 当文件较小时,感兴趣的指标是每秒文件数。
  • 当文件较大(10MiBi 或更高版本)时,感兴趣的指标是每秒字节数。

每个复制过程都有一个吞吐量速率和文件传输速率,可以通过计时复制命令的长度以及考虑文件大小和文件计数来测量。 说明如何度量速率超出了本文档的范围,但必须了解是处理小型文件还是大型文件。

使用 Azure HPC 缓存引入并行数据的策略包括:

后续步骤

设置存储后,了解客户端如何装载缓存。