gocpplua 2023-08-08 18:07 采纳率: 0%
浏览 55
已结题

kubernetes下minio扩容

kubernetes集群存在ABC三台主机,并部署minio服务,minio使用hostPath类型的存储卷,path为A主机的/mnt/minio目录。
现在由于 A主机的/mnt/minio 磁盘空间紧张,需要进行扩容。

so 新增主机D, 并将D的磁盘通过NFS挂在到了A主机的/mnt/minionew。

那么接下来我需要怎么操作,才可以进行扩容?

要求:

  1. A主机的/mnt/minio 和 A主机的/mnt/minionew 需要同时可用
  2. minionew 和 minio 文件夹上文件不存在备份关系
  3. 扩容后,后端访问minio方式不变

备注:已经尝试使用mergefs 合并多块硬盘的剩余空间,但是发现当单文件夹,文件个数达到几千时,访问很慢。

  • 写回答

16条回答 默认 最新

  • 阿玥的小东东 新星创作者: python技术领域 2023-08-08 20:22
    关注
    获得2.00元问题酬金

    针对你的需求,我建议你可以采用以下步骤来进行扩容哦宝子:

    1. 在主机D上安装NFS服务器并配置共享目录,使得主机A可以挂载D主机的磁盘。

    2. 在A主机上将/mnt/minionew目录挂载到/mnt/minio目录下,执行如下命令:

      mount -t nfs D:/path /mnt/minionew
      mount --bind /mnt/minionew /mnt/minio
      

      这样可以保证A主机的/mnt/minio 和/mnt/minionew目录同时可用。

    3. 配置Kubernetes的PV(持久卷)和PVC(持久卷声明),使得minio可以使用新挂载的存储空间。在新的PV中使用/mnt/minionew作为存储路径,然后将PVC指向新的PV。

    4. 添加新的minio Pod,并将其绑定到新的PVC上,使得minio可以访问新的存储空间。可以使用StatefulSet来管理多个Pod实例,确保它们都使用新的存储空间。

    5. 使用NodeSelector标签,将Pod调度到有足够硬盘空间的节点上,可以避免出现磁盘空间不足的情况。

    通过以上步骤,你可以在保证minio访问方式不变的情况下,对A主机的/mnt/minio进行扩容,同时保证/minionew和/minio文件夹上文件不存在备份关系。

    评论

报告相同问题?

问题事件

  • 系统已结题 8月16日
  • 创建了问题 8月8日