MinIO 是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。
MinIO与传统的存储和其他的对象存储不同的是:它一开始就针对性能要求更高的私有云标准进行软件架构设计。因为MinIO一开始就只为对象存储而设计。所以他采用了更易用的方式进行设计,它能实现对象存储所需要的全部功能,在性能上也更加强劲,它不会为了更多的业务功能而妥协,失去MinIO的易用性、高效性。 这样的结果所带来的好处是:它能够更简单的实现局有弹性伸缩能力的原生对象存储服务。
MinIO在传统对象存储用例(例如辅助存储,灾难恢复和归档)方面表现出色。同时,它在机器学习、大数据、私有云、混合云等方面的存储技术上也独树一帜。当然,也不排除数据分析、高性能应用负载、原生云的支持。
MinIO主要采用Golang语言实现,,客户端与存储服务器之间采用http/https通信协议。
它与 Amazon S3 云存储服务 API 兼容
MinIO的相关信息
中文官网: http://www.minio.org.cn/
中文文档: http://docs.minio.org.cn/docs/
中文下载地址:http://www.minio.org.cn/download.shtml#/linux
英文官网: https://min.io/
英文文档: https://docs.min.io/
英文下载地址:https://min.io/download#/linux
Github地址:https://github.com/minio/minio
下载地址:https://min.io/download#/linux
中文地址:https://dl.min.io/server/minio/release/darwin-amd64/archive/
#!/bin/bash
#通过环境变量设置账户密码
export MINIO_ACCESS_KEY=minioadmin
export MINIO_SECRET_KEY=minioadmin
/data/minioServer/minio server --address ":9000" --console-address ":9001" /data/minio > /data/minio/minio.log 2>&1 &
IP地址:9000
#查看已设置的minio服务器别名
/home/minio/client/mc alias list
#添加 mc云服务
mc alias set miniomc http://127.0.0.1:9000 账号 密码
#mc同步数据 源文件 -> 目标文件
mc mirror miniomc/1595676375564464130 miniomc_test/1595676375564464130
mc mirror --remove --overwrite --watch miniomc/1595676375564464130 miniomc_test/1595676375564464130
mc mirror --overwrite miniomc/1595676375564464130 miniomc_test/1595676375564464130
上述命令中的选项
--remove表示删除目标桶中与源桶不匹配的对象,
--overwrite表示覆盖目标桶中与源桶相同路径的对象,
--watch表示实时监视源桶的更改并同步到目标桶。
用法:
mc rm [FLAGS] TARGET [TARGET ...]
FLAGS:
--help, -h 显示帮助。
--recursive, -r 递归删除。
--force 强制执行删除操作。
--prefix 删除批配这个前缀的对象。
--incomplete, -I 删除未完整上传的对象。
--fake 模拟一个假的删除操作。
--stdin 从STDIN中读对象列表。
--older-than value 删除N天前的对象(默认是0天)。
#删除一个对象。
mc rm s3/aaaa/starh.sh
#删除一个存储桶并递归删除里面所有的内容。由于这个操作太危险了,你必须传–force参数指定强制删除。
mc rm --recursive --force s3/qqqqq
#从mybucket里删除所有未完整上传的对象。
mc rm --incomplete --recursive --force s3/bucket
#!/bin/bash
#mc安装目录
MC_DIR=/data/minioServer
# 定义备份目录
BACKUP_DIR=/data/miniobackup
# 定义备份文件名
BACKUP_FILE=minio_backup_$(date "+%Y-%m-%d_%H%M%S")
# 查看已设置的minio服务器别名
# /home/minio/client/mc alias list
# 给Minio服务【用户名:yourusername,密码:youruserpassword】设置一个别名minio_c_x
#/data/minioServer/mc alias set miniomc http://100.100.105.23:9000 minioadmin 密码
$MC_DIR/mc alias set miniomc http://100.100.105.23:9000 minioadmin 密码
# 执行备份命令,将数据备份至$BACKUP_DIR/tmp表示的临时目录下
# /data/minioServer/mc cp --recursive miniomc /data/miniobackup/tmp
$MC_DIR/mc cp --recursive miniomc $BACKUP_DIR/$BACKUP_FILE
# 压缩备份文件
# cd $BACKUP_DIR/tmp
# tar -czvf $BACKUP_DIR/$BACKUP_FILE *
# 删除临时目录
# rm -rf $BACKUP_DIR/tmp
# 删除7天前的备份文件,避免占用过多磁盘资源
#压缩后的文件
#find $BACKUP_DIR -type f -name "minio_backup_*" -mtime +30 -exec rm {} \;
#未压缩的文件夹
find $BACKUP_DIR/ -name "minio_backup_*" -type d -mtime +9 -exec rm -rf {} \;