手动服务质量 (QoS)

在 Google Cloud NetApp Volumes 中,手动服务质量 (QoS) 可让您独立于容量配置卷吞吐量和 IOPS 限制,以满足工作负载要求并控制存储费用。

优势

手动 QoS 具有以下优势:

  • 费用优化:在存储池容量范围内扩缩卷性能,以优化云费用。

  • 即时吞吐量调整:调整卷吞吐量,而无需停机。

  • 降低灾难恢复成本:降低复制卷的 QoS,以降低目标池的灾难恢复成本。

  • 提升克隆或缓存的性能:提升分配大小较小的克隆或缓存卷的性能。

  • 灵活的工作负载管理:在单个存储池中托管多个工作负载,并根据需要调整每个卷的吞吐量。

注意事项

在配置手动 QoS 之前,请考虑以下准则:

  • 您可以使用 Google Cloud CLI、NetApp Volumes API 或 Terraform 管理手动 QoS。不支持使用 Google Cloud 控制台。

  • Flex Unified、Standard、Premium 和 Extreme 服务等级支持手动 QoS,Flex File 服务等级不支持手动 QoS。

管理 Flex Unified 默认模式、Standard、Premium 和 Extreme 服务等级的手动 QoS

对于手动 QoS 存储池中的卷,您可以单独设置吞吐量和容量。手动 QoS 池中所有卷的总吞吐量受池的总吞吐量限制。池吞吐量由其分配的容量和服务等级决定。例如,40 TiB 的高级池可以达到 2,560 MiBps 的吞吐量上限(每 TiB 64 MiBps),而 200 TiB 的至尊池可以支持总吞吐量为 25,600 MiBps 的卷。

设置手动 QoS 池后,您可以为其中的每个卷设置所需的吞吐量限制。单个卷的最大吞吐量限制为 4.5 GiBps,大容量卷的最大吞吐量限制为 30 GiBps。

池和卷命令或 API 会显示池的可用吞吐量值和已分配吞吐量值,以帮助您管理总吞吐量。如需创建手动 QoS 池并定义卷吞吐量,请参阅创建存储池和创建卷。

如需在 Flex Unified ONTAP 模式池中使用 QoS 政策组配置吞吐量和 IOPS 限制,请参阅管理 Flex Unified ONTAP 模式的手动 QoS。

创建存储池

使用手动 QoS 为 Standard、Premium 或 Extreme 服务等级创建存储池:

  gcloud netapp storage-pools create POOL_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --capacity=CAPACITY \
    --service-level=SERVICE_LEVEL \
    --qos-type=QOS_TYPE \
    --network=name=NETWORK_NAME

替换以下信息:

  • POOL_NAME:您要创建的池的名称。 每个位置的池名称必须是唯一的。

  • PROJECT_NAME:要在其中创建存储池的项目的名称。

  • LOCATION:要创建的池的位置。

  • CAPACITY:池的容量(以 GiB 为单位)。

  • SERVICE_LEVEL:存储池的服务等级:Standard、Premium 或 Extreme。

  • QOS_TYPE:存储池的 QoS 类型:auto 或 manual。

  • NETWORK_NAME:虚拟私有云网络的名称。

为 Flex Unified Default-mode 服务等级创建使用手动 QoS 的存储池:

  gcloud netapp storage-pools create POOL_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --capacity=CAPACITY \
    --service-level=flex \
    --type=unified \
    --mode=default \
    --qos-type=QOS_TYPE \
    --network=name=NETWORK_NAME

替换以下信息:

  • POOL_NAME:您要创建的池的名称。 每个位置的池名称必须是唯一的。

  • PROJECT_NAME:要在其中创建存储池的项目的名称。

  • LOCATION:要创建的池的位置。

  • CAPACITY:池的容量(以 GiB 为单位)。

  • QOS_TYPE:存储池的 QoS 类型:auto 或 manual。

  • NETWORK_NAME:VPC 网络的名称。

修改存储池

修改现有自动 QoS 存储池以使用手动 QoS:

  gcloud netapp storage-pools update POOL_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --qos-type=QOS_TYPE

替换以下信息:

  • POOL_NAME:您要更新的池的名称。

  • PROJECT_NAME:项目的名称。

  • LOCATION:池的位置。

  • QOS_TYPE:存储池的更新后 QoS 类型。仅支持 manual 配置。

创建卷

创建具有指定手动 QoS 吞吐量限制的卷:

  gcloud netapp volumes create VOLUME_NAME \
    --project=PROJECT_NAME \
    --location=LOCATION \
    --storage-pool=STORAGE_POOL \
    --capacity=CAPACITY \
    --protocols=PROTOCOLS \
    --share-name=SHARE_NAME \
    --throughput-mibps=THROUGHPUT_MIBPS

替换以下信息:

  • VOLUME_NAME:卷的名称。此名称在每个位置必须是唯一的。

  • PROJECT_NAME:要在其中创建卷的项目的名称。

  • LOCATION:卷的位置。

  • STORAGE_POOL:要在其中创建卷的存储池。

  • CAPACITY:卷的容量(以 GiB 为单位)。此值定义 NAS 客户端看到的容量。

  • PROTOCOLS:卷导出时使用的 NAS 协议。有效选项包括 NFSv3、NFSv4、SMB 以及以下组合:

    • nfsv3,nfsv4
    • nfsv3,smb
    • nfsv4,smb

    根据您选择的协议类型,我们建议您添加特定于协议的标志,例如 --export-policy 或 --smb-settings。

  • SHARE_NAME:卷的 NFS 导出路径或 SMB 共享名称。

  • THROUGHPUT_MIBPS:卷的吞吐量限制(以 MiBps 为单位)。

如需详细了解其他可选标志,请参阅有关卷创建的 Google Cloud SDK 文档。

管理 Flex Unified ONTAP 模式服务等级的手动 QoS

在 Flex Unified ONTAP 模式存储池中,您可以使用 QoS 政策组 (QPG) 设置吞吐量和 IOPS 限制。您可以创建多个 QPG,并根据工作负载性能需求为其分配卷。使用 QPG 有助于防止一个工作负载影响其他工作负载,并在单个 Flex Unified ONTAP 模式池中的多个工作负载之间提供一致的性能。随着性能需求的变化,您可以将现有卷移至其他 QPG,而无需停机。

QoS 政策组提供以下功能:

  • 专用性能分配与共享性能分配:选择吞吐量和 IOPS 限制是在 QPG 中的所有卷之间共享 (is-shared=true),还是单独应用于每个卷 (is-shared=false)。

  • 精细的吞吐量和 IOPS 限制:为每个政策组设置最大吞吐量 (MiBps) 和 IOPS 限制,以实现应用效果目标。

  • 动态卷分配:在创建卷时将其分配给政策组,在工作负载运行时更改分配,或将卷分配给池的默认共享性能设置 (qos-policy-group none)。

  • 实时限制修改:实时更改现有 QoS 政策组的吞吐量和 IOPS 限制,而不会中断 I/O 或导致存储空间停机。

创建新的 QoS 政策组

在 ONTAP 模式存储池中创建新的 QoS 政策组:

  gcloud netapp storage-pools execute STORAGE_POOL_NAME \
    --location=LOCATION \
    -- "qos policy-group create -policy-group QPG_NAME -vserver SVM_NAME -max-throughput IOPS,THROUGHPUT -is-shared IS_SHARED_TRUE_OR_FALSE"

替换以下信息:

  • STORAGE_POOL_NAME:ONTAP 模式存储池的名称。

  • LOCATION:ONTAP 模式存储池的位置。

  • QPG_NAME:您要创建的 QPG 的名称。

  • SVM_NAME:存储虚拟机 (SVM) 的名称。

  • IOPS:要分配给 QPG 中卷的 IOPS 限制。指定一个整数值,最小值为 1 IOPS。

  • THROUGHPUT:要分配给 QPG 中卷的吞吐量上限。指定一个整数值,最小值为 1 MiBps。

  • IS_SHARED_TRUE_OR_FALSE:一个布尔值,用于指定如何应用 QoS 限制。指定 true 可为分配给 QPG 的所有卷启用共享 QoS,指定 false 可为每个卷单独启用专用 QoS。此属性不可变,在您创建 QPG 后无法更新。

为卷分配 QoS 政策组

在创建卷时分配 QoS 政策组:

  gcloud netapp storage-pools execute STORAGE_POOL_NAME \
    --location=LOCATION \
    -- "volume create -volume VOLUME_NAME -vserver SVM_NAME -aggregate AGGREGATE_NAME -size SIZE -junction-path /VOLUME_NAME -qos-policy-group QPG_NAME"

替换以下信息:

  • STORAGE_POOL_NAME:ONTAP 模式存储池的名称。

  • LOCATION:ONTAP 模式存储池的位置。

  • VOLUME_NAME:您要创建的新卷的名称。

  • SVM_NAME:SVM 的名称。

  • AGGREGATE_NAME:聚合的名称。

  • SIZE:卷的大小(以 GiB 为单位)。

  • QPG_NAME:要分配给卷的 QPG 的名称。

将 QoS 政策组分配给现有卷

将 QoS 政策组分配给现有卷:

  gcloud netapp storage-pools execute STORAGE_POOL_NAME \
    --location=LOCATION \
    -- "volume modify -vserver SVM_NAME -volume VOLUME_NAME -qos-policy-group QPG_NAME"

替换以下信息:

  • STORAGE_POOL_NAME:ONTAP 模式存储池的名称。

  • LOCATION:ONTAP 模式存储池的位置。

  • SVM_NAME:SVM 的名称。

  • VOLUME_NAME:要为其分配 QPG 的卷的名称。

  • QPG_NAME:要分配给卷的新 QPG 的名称。

从卷中移除 QoS 政策组

通过将 -qos-policy-group 设置为 none,从卷中移除 QoS 政策组:

  gcloud netapp storage-pools execute STORAGE_POOL_NAME \
    --location=LOCATION \
    -- "volume modify -vserver SVM_NAME -volume VOLUME_NAME -qos-policy-group none"

替换以下信息:

  • STORAGE_POOL_NAME:ONTAP 模式存储池的名称。

  • LOCATION:ONTAP 模式存储池的位置。

  • SVM_NAME:SVM 的名称。

  • VOLUME_NAME:要从中移除 QPG 的卷的名称。

修改 QoS 政策组

更新现有 QoS 政策组的吞吐量和 IOPS 限制:

  gcloud netapp storage-pools execute STORAGE_POOL_NAME \
    --location=LOCATION \
    -- "qos policy-group modify -policy-group QPG_NAME -max-throughput IOPS,THROUGHPUT"

替换以下信息:

  • STORAGE_POOL_NAME:ONTAP 模式存储池的名称。

  • LOCATION:ONTAP 模式存储池的位置。

  • QPG_NAME:您要修改的 QPG 的名称。

  • IOPS:QPG 的更新后 IOPS 上限。最小值为 1 IOPS。

  • THROUGHPUT:QPG 的更新后的吞吐量上限。最小值为 1 MiBps。

删除 QoS 政策组

删除 QoS 政策组:

  gcloud netapp storage-pools execute STORAGE_POOL_NAME \
    --location=LOCATION \
    -- "qos policy-group delete -policy-group QPG_NAME"

替换以下信息:

  • STORAGE_POOL_NAME:ONTAP 模式存储池的名称。

  • LOCATION:ONTAP 模式存储池的位置。

  • QPG_NAME:要删除的 QPG 的名称。

后续步骤

了解卷迁移。