Minio过期分片上传文件清理引出的系统配置

超短连接转换j1z.cc(永久有效)

上篇文章【SpringBoot通过Minio实现大文件分片上传】中,很多问到了关于分片上传,未使用过期的历史分片如何清理的问题,其实官方默认有策略会定时清理历史过期临时文件,查了一下发现这方便资料非常少,而且官方文档也没有说明,于是带着问题查询了下Minio相关的配置才引出这篇文章。

查询到的资料有限,本文章主要说明以下几个方便:

  1. 关于过期分片的清理问题,担心过多冗余分片占用磁盘空间,Minio是否会自动清理?
  2. 是否可自定义清理策略?
  3. Minio部署有哪些可自定义配置?如何配置?

1. 过期分片是否会自动清理

答案显而易见,临时上传的分片,会被定时清理。否则随着时间推移,垃圾定会越积越多。那么问题又来了,有些系统用户量大,系统调用频繁可能堆积速度快,那么是否可配置清理频率呢?

2. 清理策略是否可配置

查询到官方github已有优秀的用户反馈并提交了部分清理策略修改的PR请求(感兴趣的可查看:fix: allow configuring cleanup of stale multipart uploads),并已合并到主分支,如果使用可更新到该版本(RELEASE.2021-10-06T23-36-31Z)之后的新版本。

在此可查看此版本更新内容:
RELEASE.2021-10-06T23-36-31Z

其中包含一条即为:

  • Allow configuring cleanup of stale multipart uploads. See (#13354) for more details.

此时,我们发现可通过配置部分清理策略,那么接下来看如果使用这些配置,以及一些其他配置,且Docker及原生部署是否有区别?Mc是否可设置?

3. 新增配置项解释

首先看下清理策略的配置包含哪些(英文描述挺简单,相信大家一定没问题):

配置参数Env参数名(后续说明如何使用)说明
stale_uploads_expiryMINIO_API_STALE_UPLOADS_EXPIRYset to expire stale multipart uploads older than this value, defaults to 24 hours
stale_uploads_cleanup_intervalMINIO_API_STALE_UPLOADS_CLEANUP_INTERVALset to change intervals when stale multipart uploads are expired, defaults to every 6 hours
delete_cleanup_intervalMINIO_API_DELETE_CLEANUP_INTERVALset to change intervals when deleted objects are permanently deleted from “.trash” folder, defaults to every 5 minutes
其他配置
requests_maxMINIO_API_REQUESTS_MAXset the maximum number of concurrent requests, e.g. “1600”
requests_deadlineMINIO_API_REQUESTS_DEADLINEset the deadline for API requests waiting to be processed e.g. “1m”
cluster_deadlineMINIO_API_CLUSTER_DEADLINEset the deadline for cluster readiness check e.g. “10s”
cors_allow_originMINIO_API_CORS_ALLOW_ORIGINset comma separated list of origins allowed for CORS requests e.g. “https://example1.com,https://example2.com”
remote_transport_deadlineMINIO_API_REMOTE_TRANSPORT_DEADLINEset the deadline for API requests on remote transports while proxying between federated instances e.g. “2h”
list_quorumMINIO_API_LIST_QUORUMset the acceptable quorum expected for list operations e.g. “optimal”, “reduced”, “disk”, “strict”, defaults to “strict”
replication_workersMINIO_API_SECURE_CIPHERSset the number of replication workers, defaults to 100
replication_failed_workersMINIO_API_REPLICATION_WORKERSset the number of replication workers for recently failed replicas, defaults to 4
transition_workersMINIO_API_TRANSITION_WORKERSset the number of transition workers, defaults to 100

由此新增的三个参数可看出,我们可配置过期分片清理的阈值及频率,增加了灵活性。

4. 配置使用

官方也有说明部分参数的使用,可查阅:minio-server-configuration-guide。接下来看下在Docker及原生部署中如何使用:

  • Docker run直接运行,使用Env参数名

docker run -p 9000:9000 \
  -e "MINIO_ACCESS_KEY=tuine" \
  -e "MINIO_SECRET_KEY=ZtG8tN5zo9EzcKMi" \
   -e "MINIO_API_STALE_UPLOADS_EXPIRY=24" \
  minio/minio server /data
  • dockercompose.yml配置启动,使用Env参数名

  minio:
    image: minio/minio:latest
    container_name: minio
    restart: always
    command: server /data/
    volumes:
      - ./data/:/data
    ports:
      - "9000:9000"
    environment:
      - TZ=Asia/Shanghai
      - MINIO_ACCESS_KEY=tuine
      - MINIO_SECRET_KEY=ZtG8tN5zo9EzcKMi
      - MINIO_API_STALE_UPLOADS_EXPIRY=24
  • 原生启动,使用Env参数名

export MINIO_SITE_REGION="us-west-0"
export MINIO_API_STALE_UPLOADS_EXPIRY=24
minio server /data

通过Mc设置,使用配置参数

mc admin config set myminio/ api requests_max=1600 stale_uploads_expiry=24
mc admin service restart myminio/

配置完成后,启动或者重启即可生效。

如果文章对你有用,欢迎点赞收藏,谢谢!如有不正确或不理解的欢迎评论指出。

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
回答: minio配置参数可以通过以下几种方式进行设置。首先,你可以在minio的官网上找到安装配置教程,并根据教程进行配置。其次,minio配置文件是yaml格式的,你可以根据需要编写配置文件MinIoClientConfig。另外,你还可以使用命令行来配置minio,通过提示信息访问minio面板,并使用命令行进行配置。此外,minio的默认配置文件存储在${HOME}/.minio/config.json文件中,你可以自定义这些配置信息。如果你想改变minio的默认配置目录,可以使用--config-dir选项指定新的路径覆盖默认路径。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [minio安装配置教程及整合springboot(史上最强保姆级教程---minio入门)](https://blog.csdn.net/qq_51073233/article/details/127673489)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [MinIO 参数解析与限制](https://blog.csdn.net/erdongxt/article/details/103019006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值