赛尔校园公共服务平台 Logo
平台使用
阿里云
百度云
移动云
智算服务
教育生态
登录 →
赛尔校园公共服务平台 Logo
平台使用 阿里云 百度云 移动云 智算服务 教育生态
登录
  1. 首页
  2. 阿里云
  3. 文件存储NAS
  4. 操作指南
  5. 挂载访问
  6. 容器挂载文件系统
  7. 阿里云容器服务挂载NAS
  8. 容器服务Kubernetes版(ACK)挂载NAS
  9. 使用CSI存储插件挂载NAS
  10. 配置NAS NFS存储卷容量

配置NAS NFS存储卷容量

  • 使用CSI存储插件挂载NAS
  • 发布于 2025-04-22
  • 0 次阅读
文档编辑
文档编辑

阿里云容器服务CSI支持对NAS卷的子目录进行配额限制。通过配额限制,可以确保您在资源分配的基础上,提升整体资源的利用率。当磁盘配额达到上限时,您还可以通过手动在线扩容的方式对存储卷进行扩容且不影响业务运行。

前提条件

  • csi-plugin的镜像版本不低于v1.18.8.45。关于csi-plugin的版本说明,请参见csi-plugin。

  • NAS存储卷需要使用子目录进行挂载。

背景信息

关于NAS卷的管理配额,请参见目录配额。

使用限制

  • 目前仅容量型NAS支持使用配额限制,其他NAS类型均不支持。关于NAS存储卷的规格类型,请参见NAS规格类型。

  • NAS静态存储卷不支持扩容。

  • 仅支持子目录挂载方式设置配额。

  • 对于单个文件系统,最多允许对500个目录设置配额。

    • 设置限制性配额后,如果文件使用量超过限制,会导致增加文件长度、创建文件、目录和特殊文件,移动文件到目录等写入操作失败,应用层会收到IOError。

    • 由于限制型配额的高风险性,强烈建议您在业务关键路径上谨慎评估和测试验证后,再配置限制型配额。

    • NAS配额的设置为异步执行,因此限制型配额的生效和失效都有延迟,正常情况下需要等待5~15分钟。

使用示例

  1. 使用以下YAML内容,创建带有配额子目录NAS的StorageClass,并开启允许扩容策略。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-nas-quota-sc
    mountOptions:
      - nolock,tcp,noresvport
      - vers=3
    parameters:
      volumeAs: subpath
      server: "xxx.cn-hangzhou.nas.aliyuncs.com:/"
      archiveOnDelete: "false"
      path: "/abc"
      volumeCapacity: "true" # 创建动态卷带有配额能力。
    provisioner: nasplugin.csi.alibabacloud.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true # 开启允许动态卷扩容能力。

    参数

    描述

    mountOptions

    挂载NAS的options参数在mountOptions中配置,包括NFS协议版本。

    volumeAs

    可选的subpath、filesystem,分别表示创建子目录类型的PV和文件系统类型的PV。

    server

    表示创建子目录类型的PV时,NAS文件系统的挂载点地址。

    archiveOnDelete

    表示在reclaimPolicy为Delete时,是否删除后端存储。因为NAS为共享存储,添加此选项进行双重确认。默认为true。

    path

    表示挂载子目录,极速NAS需要以/share开头。

    volumeCapacity

    表示是否使用配额。可选值为:true,false。

    说明

    若开启了allowVolumeExpansion,则该参数配置不会生效,配额将始终开启。

    provisioner

    表示ACK动态卷控制器名称。

    reclaimPolicy

    表示PV的回收策略。可选值为:

    • Retain:保留后端存储,删除PV及PVC不会删除对应的后端存储,例如云盘。

    • Delete:当删除PVC时,自动删除PV和后端的存储。

    allowVolumeExpansion

    表示是否支持NAS存储卷的扩容。

    说明

    创建带有配额子目录NAS的StorageClass,需要开启配额功能,即volumeCapacity=true 或者allowVolumeExpansion=true。

  2. 使用以下YAML内容,创建StatefulSet,包含容量大小为20 GiB的PVC。

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: nas-sts
    spec:
      selector:
        matchLabels:
          app: busybox
      serviceName: "busybox"
      replicas: 1
      template:
        metadata:
          labels:
            app: busybox
        spec:
          containers:
          - name: busybox
            image: busybox
            command:
            - sleep
            - "3600"
            volumeMounts:
            - name: nas-pvc
              mountPath: /data
      volumeClaimTemplates:
      - metadata:
          name: nas-pvc
        spec:
          accessModes: [ "ReadWriteMany" ]
          storageClassName: "alicloud-nas-quota-sc"
          resources:
            requests:
              storage: 20Gi

结果验证

  1. 执行以下命令,向步骤2StatefulSet挂载的/data目录写入10 GiB数据。

    dd if=/dev/zero of=10G.txt bs=1M count=10000
  2. 等待5~15分钟后,查看子目录的配额详情。

    1. 登录NAS控制台。

    2. 在控制台左侧导航栏,单击文件系统 > 文件系统列表。

    3. 选择目标文件系统操作列下图标,然后单击配额管理。

    4. 在目标文件系统的配额管理页面,单击操作列的管理配额。

      可以看到子目录的容量限制为20 GiB,当前容量为9 GiB。配额管理

      当此子目录写满20 GiB,再写入数据时,会提示超过磁盘配额,即Disk quota exceeded。磁盘配额

  3. 当磁盘配额达到上限时,可以通过手动在线扩容的方式对存储卷进行扩容。

    1. 执行以下命令,进行数据卷扩容。

      说明

      此操作不影响在线业务,不会中断业务。

      kubectl patch pvc nas-pvc-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
    2. 执行以下命令,查看PV信息。

      kubectl get pv

      预期输出:

      NAME                              CAPACITY  ACCESS MODES   RECLAIM POLICY   STATUS    CLAIM               STORAGECLASS         REASON     AGE
      nas-63c37cc2-b21e-4b56-b26f-****   30Gi          RWX          Delete        Bound    default/nas-pvc-0   alicloud-nas-quota-sc           25m23s
    3. 执行以下命令,查看PVC信息。

      kubectl get pvc

      预期输出:

      NAME       STATUS   VOLUME                         CAPACITY  ACCESS MODES   STORAGECLASS            AGE
      nas-pvc-0  Bound   nas-63c37cc2-b21e-4b56-b26f-****   30Gi      RWX        alicloud-nas-quota-sc   25m10s

相关文章

NAS存储卷 2025-04-22 12:09

NAS文件系统适用于大数据分析、共享数据、Web应用以及保存日志等场景。您可以将NAS文件系统作为存储卷挂载到容器中以满足数据的持久化存储和共享存储的需求。通过阿里云CSI组件,您可以通过CNFS托管NAS或者直接在容器中使用NAS等方式挂载使用。 如何选择NAS

使用CNFS管理NAS共享存储卷(推荐) 2025-04-22 12:09

容器服务 Kubernetes 版支持以NAS共享存储卷的方式挂载和使用CNFS。通过CNFS管理NAS共享存储卷,您可以在多个应用或Pod之间挂载同一个NAS文件系统的相同目录,以解决Pod之间共享数据的问题。本文以StatefulSet类型应用为例介绍如何使用CNFS管理NAS共享存储卷。

使用CNFS管理NAS隔离存储卷(推荐) 2025-04-22 12:09

容器服务 Kubernetes 版支持以NAS隔离存储卷的方式挂载和使用CNFS。在多租户环境或其他需要数据隔离的场景中,您可以通过CNFS管理NAS隔离存储卷,在多个应用或Pod之间挂载同一个NAS文件系统的不同目录,使得每个目录均对应一个存储卷,存储卷之间是相互独立的、相互隔离的。本文以Stat

使用CNFS自动扩容NAS存储卷 2025-04-22 12:09

通过定义CNFS中托管的NAS存储卷的自动扩容策略,当NAS存储卷的使用率高于某个阈值时,触发NAS存储卷的自动扩容。本文介绍如何使用CNFS实现NAS存储卷的自动扩容。 前提条件

通过CNFS管理NAS文件系统(推荐) 2025-04-22 12:09

容器网络文件系统CNFS(Container Network File System)将阿里云的文件存储抽象为一个K8s对象(CRD)进行独立管理,包括创建、删除、描述、挂载、监控及扩容等运维操作,为了提升NAS文件系统的性能,您可以通过CNFS管理NAS文件系统,以提升NAS文件系统的性能和QoS

开启CNFS NAS计算端分布式缓存 2025-04-22 12:09

CNFS文件存储计算端分布式缓存可提供多链接访问、元数据缓存、分布式数据缓存等加速能力,并提供端侧性能监控、QoS能力。本文介绍如何在ACK集群中开启CNFS NAS计算端分布式缓存,并通过分布式缓存功能加速读取数据。 前提条件

目录
Copyright © 2025 your company All Rights Reserved. Powered by 赛尔网络.
京ICP备14022346号-15
gongan beian 京公网安备11010802041014号