Skip to content

开始使用存储服务

存储服务类型

英博云提供的存储服务,包括三种类型:共享存储、块存储、对象存储。

  • 共享存储(EPFS):采用并行文件系统技术,提供文件存储服务,需要在EKS工作空间内使用。可以在同工作空间的多个pod之间共享。目前EPFS有两种规格,分别为:高性能共享存储(SSD)、共享存储(HDD),详见英博云控制台。
  • 块存储(EBS):提供标准的block存储服务,需要在EKS工作空间内使用。同一时间仅允许一个pod挂载,不可以跨pod共享。目前EBS仅有一种规格:性能型,详见英博云控制台。
  • 对象存储(EOS):提供兼容s3协议的对象存储服务,可以独立于EKS工作空间使用。

新建存储卷

可以在英博云的控制台:存储 -> 共享存储卷 -> 创建存储卷,建立一个存储卷,如下所示:

创建共享存储卷

该操作等同于如下yaml的执行:

yaml
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1024Gi
  storageClassName: shared-nvme-cn-huabei1

其中storage class,用于指定存储的型号。

更多型号示例

下面yaml,分别创建hdd类型的共享存储,块存储,注意storageclass

yaml
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc2
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1024Gi
  storageClassName: shared-hdd-cn-huabei1 # 指定规格为:共享存储(HDD)
yaml
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mypvc3
  namespace: default
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1024Gi
  storageClassName: block-nvme-cn-huabei1 # 指定规格为,块存储(性能型)

常见问题一:存储空间充足,但提示“No space left on device”错误

在共享存储卷中创建文件或目录时,系统提示 No space left on device,但查看存储空间后发现磁盘容量仍有剩余。

原因分析

除了存储容量外,文件系统还依赖 inode 来记录文件和目录的元数据信息。每创建一个文件或目录,都会占用一个 inode。 当共享存储卷中的 inode 已全部使用完时,即使磁盘空间仍然充足,文件系统也无法创建新的文件或目录,因此会返回 No space left on device 错误。 该问题通常发生在存储大量小文件的场景中,例如数据集、日志文件、缓存文件、临时文件或海量图片等。

处理建议
  • 使用df -i检查共享存储卷的 inode 使用情况,确认是否已达到上限。
  • 尽量减少小文件数量,可将多个小文件合并为较大的文件,以降低 inode 消耗。
  • 对大量小文件进行归档或压缩(如打包为 ZIP、TAR 等压缩文件),既可以减少 inode 的占用,也有助于节省存储空间。
  • 定期清理无用的临时文件、日志文件和缓存文件,释放 inode 资源。
  • 如果业务长期需要存储海量小文件,建议联系系统管理员评估是否需要调整存储规划或扩容,以满足业务需求。