配置临时卷

临时卷非常适合需要将数据加载到临时空间进行处理的工作流程(例如栅格分析)。 管理员可以创建永久卷模板,该模板将根据需要为指定服务部署的 pod 生成多个临时卷。 然后,该部署中的每个 pod 都能够使用自己的临时卷,以便每个 pod 都可以使用自己的资源。 一旦删除了 pod,并且不再需要临时卷,那么这些卷也会被删除。

适用于栅格分析的临时卷

一些栅格分析工具将计算分布在多个 worker pod 中,并在执行分析时写入临时数据。 当处理大量数据时,建议您配置临时卷以提供增加的磁盘空间来存储处理时的临时数据。

存储临时数据所需的磁盘空间因不同的栅格分析功能而异,但是,在所有栅格分析功能中,它与要处理的栅格中的像元数量成正比,并均匀分布在配置的 worker pod 数量中。 根据分析的复杂性和更多的输入,可能需要更大的可用磁盘空间。

集群配置必须分配必要的磁盘空间来存储与运行给定分析工具相关的临时文件。 临时数据由各个工具内部管理,并在处理完成后删除。 您提供的临时存储配置将用作应用于栅格处理服务部署的持久卷模板。

栅格分析的存储指南

为了支持分布式栅格分析,特别是在运行大型分析时,建议配置临时卷。 当确定要分配的存储空间容量时,所需磁盘空间容量将根据要处理的栅格像元数量和已配置的 worker pod 数量而有所不同。

例如,要处理 25 亿个像元(50,000 行和 50,000 列)的栅格,使用“填充”工具时可能需要 30 GB 磁盘空间。 或者,要处理 10 亿个单元格(大约 30,000 行和 30,000 列)的栅格,使用“填充”工具时可能需要 12 GB 磁盘空间。 在这两种情况下,所需的总磁盘空间将均匀分布在配置的 pod 数量上。 如果为 RasterProcessing 服务分配 10 个 pod,则每个 pod 将需要 3 GB 来处理 25 亿个像元,每个 pod 需要 1.2 GB 来处理 10 亿个像元。 在这种情况下,RasterProcessing 服务将需要设置 3 GB 或 1.2 GB 磁盘空间的临时存储。 每个启动的 pod 都会获得此数量的临时(短暂)磁盘空间。 如果您正在使用自动缩放,则需要使用最大 pod 数量作为此计算的基础。

对于不同类型的工具来说,处理 25 亿个像元的栅格所需的总磁盘空间如下:

  • 用于水文分析:17 至 35 GB
  • 用于距离分析:20 到 80 GB
  • 用于泛化分析:30 至 33 GB

根据分析的复杂性和指定的额外输入和输出,某些用例可能需要更多磁盘空间。 在这种情况下,为了处理 25 亿个像元的输入栅格,水文分析工作流中可能需要最多 90 GB 的磁盘空间,距离分析工作流中可能需要最多 170 GB 的磁盘空间。

在确定您的组织对配置临时卷的要求时,请考虑以下建议:

  • 首先,确定需要多少个 pod 来支持工作流。 例如,如果为 RasterProcessing 服务配置了 10 个 pod,则将所需的总空间分配到这些 pod 中。 如果服务启用了自动缩放功能,请使用最大 Pod 数量作为此计算的基础。
  • 接下来,根据栅格数据集的大小(行数和列数)确定处理所需的大致磁盘空间量。
  • 将总磁盘空间近似值除以分配给 RasterProcessing 服务的 pod 数量。 此数字是对配置临时卷所需的存储量的一个很好的一般估计。 当临时卷附加到 RasterProcessing 服务时,每个 pod 启动时都会动态请求此存储。 例如,如果您的总磁盘空间要求为 30 GB,并且在 RasterProcessing 服务部署中运行 10 个 pod,则需要为每个临时卷配置 3 GB。

配置临时卷进行栅格分析

要配置临时卷以支持栅格分析,请完成以下步骤: 您将使用 ArcGIS Enterprise Administrator API 目录创建持久卷模板并将其应用于 RasterProcessing 服务部署。

  1. 以管理员身份登录到 ArcGIS Enterprise Administrator API 目录。
  2. 单击系统 >> 配置
  3. 单击创建卷配置
  4. 在卷配置 JSON 中,包含临时卷的规范。 如果需要,请与您的 IT 管理员合作制定此规范。

    {
      "name": "<user-provided-name>",
      "type": "PVC_TEMPLATE",
      "spec": {
        "storageClassName": "<user-provided-storageclass-name>",
        "resources": {"requests": {"storage": "<user-provided-size, i.e. 3Gi>"}},
        "accessModes": ["ReadWriteOnce"],
        "volumeMode": "Filesystem",
        "volumeName": "<user-provided-optional-volume-name>"
              }
    }
    

  5. 创建卷配置后,找到其关联的 VolumeID 值。
  6. ArcGIS Enterprise Administrator API 根目录中,单击服务 > 系统 > RasterProcessing (DPServer) > 缩放
  7. RasterProcessing (DPServer) 服务缩放 JSON中复制 deploymentId
  8. ArcGIS Enterprise Administrator API 根目录中,单击系统 > 部署,然后搜索以上引用的 deploymentId
  9. 单击 RasterProcessing (DPServer) 服务的 deploymentId
  10. 单击编辑部署
  11. 在 JSON 中,找到 replicas 属性。
  12. replicas 属性之后,添加卷规范,包括创建卷配置时复制的 VolumeID 值:
     
    "volumes": [{
      "purpose": "GIS_SERVICE_TEMP",
      "volumeConfigId": "<volumeId>"
    }],
    
  13. 单击提交

    服务部署将需要几分钟才能重新启动。

  14. 或者,启用异步运行选项。
  15. 与集群管理员一起检查为每个 pod 创建的新持久卷声明 (PVC),以验证临时卷是否已配置成功。

    根据集群中注册的卷配置,这些 PVC 将绑定到动态创建的 PV。

可以使用临时卷来存储栅格分析工作流的临时数据。