Azure 存储可混用 Hot 与 Archive

Azure 存储桶中能同时存储 Hot 和 archive 数据吗


这个问题是Azure AZ-900 考试中的一个题目。

需要正确回答这个问题,需要了解 Azure 存储桶中有关存储的关系和定义。

你可以把一个数据设置为Hot 存储,当然这个数据数据耶可以设置为归档存储。

虽然归档存储可能是存储在磁带中的,但对用户来说是透明的。

可以。

在同一个 Azure 存储帐户/同一容器里,你可以把部分 Blob 设为 Hot,部分设为 Archive(也可混合 Cool)。这是“对象级访问层”能力。

要点与限制:

  • 账户类型需为标准通用 v2(StorageV2)或 BlobStorage(标准性能)。Premium(高级性能)不支持分层/Archive。
  • 仅块 Blob(Block Blob)支持 Archive;页 Blob、追加 Blob 不支持。
  • 账户的“默认访问层”只支持 Hot/Cool;Archive 只能在单个 Blob 上设置。
  • 处于 Archive 的 Blob 读取前必须先回温到 Hot/Cool,回温需数小时并产生费用。

常用设置方式:

  • 门户:在单个 Blob 上修改“访问层”。
  • 生命周期管理策略:按规则自动转档/回温。
  • CLI 示例:
    • 归档:az storage blob set-tier --account-name -c -n --tier Archive
    • 回温:az storage blob set-tier --account-name -c -n --tier Cool --rehydrate-priority High

因此,你完全可以在同一存储中同时存放 Hot 与 Archive 数据。

是的,Azure 存储桶(更准确地说是 Azure 存储账户)能够同时存储不同访问层的数据,包括 Hot、Cool 和 Archive。

当您在 Azure 存储账户中创建一个 Blob 存储容器时,您可以将数据上传到该容器,并在上传时或上传后为每个 Blob 指定其访问层。

这意味着您可以在同一个存储账户和同一个容器中拥有:

  • Hot 层数据: 频繁访问的数据,存储成本较高,访问成本最低。
  • Cool 层数据: 不频繁访问但需要快速检索的数据,存储成本低于 Hot,访问成本高于 Hot。
  • Archive 层数据: 很少访问且对检索时间不敏感的数据(可能需要几小时),存储成本最低,访问成本最高。

例如,您可以这样做:

  1. 创建一个 Azure 存储账户。
  2. 在其中创建一个 Blob 容器。
  3. 上传一个文件 A 到此容器,并将其设置为 Hot 访问层。
  4. 上传一个文件 B 到同一个容器,并将其设置为 Archive 访问层。
  5. 上传一个文件 C 到同一个容器,并将其设置为 Cool 访问层。

您还可以通过 生命周期管理策略 自动在这些层之间移动数据,例如,将 30 天未访问的 Hot 数据自动移动到 Cool 层,将 180 天未访问的 Cool 数据自动移动到 Archive 层。

总而言之,Azure 存储账户的设计非常灵活,旨在帮助您优化存储成本,同时满足不同的数据访问需求。