Minio介绍
Minlo
是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。 对于中小型企业,如果不选择存储上云,那么 MinIO
是个不错的选择,麻雀虽小,五脏俱全。当然 MinIO
除了直接作为对象存储使用,还可以作为云上对象存储服务的网关层,无缝对接到 Amazon S3
等。 优点:
-
部署简单:一个single二进制文件即是一切,还可支持各种平台。
-
Minio支持海量存储,可按zone扩展(原zone不受任何影响),支持单个对象最大5TB;
-
兼容Amazon S3接口,充分考虑开发人员的需求和体验;
-
读写性能优异
Minio基础概念
概念名称 | 对应含义解释 |
---|---|
Object | 存储的基本对象;比如文件、图片等等 |
Bucket | 用于存储 Object 的逻辑空间;相互之间互相隔离;类似于系统中的顶层文件夹 |
Drive | 即存储数据的磁盘;所有的对象数据都会存储在 Drive 里面 |
Set | 即一组 Drive 的集合;分布式部署根据集群规模自动划分一个或多个 Set |
Linux安装Minio
1.获取minio安装包
wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20241029160148.0.0-1.x86_64.rpm -O minio.rpm
2.安装minio
rpm -ivh minio.rpm
Minio配置
1.修改minio服务配置文件
vim /usr/lib/systemd/system/minio.service
注释Type、User、Group
修改后的文件如下:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
#Type=notify
WorkingDirectory=/usr/local
#User=minio-user
#Group=minio-user
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=1048576
MemoryAccounting=no
TasksMax=infinity
TimeoutSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
参数解释:
AssertFileIsExecutable
:可以在此参数声明的配置文件中添加minio服务启动时所需一些参数
ExecStart
:该参数用于配置Minio服务的启动命令,其中$MINIO_OPTS
、$MINIO_VOLUMES
,均引用于EnvironmentFile
中的变量。
Restart
:设置服务在失败时自动重启,这里是always
,意味着总是重启。
2.配置
1.编写EnvironmentFile中指定路径下的配置文件
vim /etc/default/minio
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
MINIO_VOLUMES=/data
MINIO_OPTS="--console-address :9001"
解释:
-
MINIO_ROOT_USER
:登录后台管理平台的用户名 -
MINIO_ROOT_PASSWORD
:登录后台管理平台的密码 -
MINIO_VOLUMES
:指定数据存储路径,需确保指定的路径是存在的 -
MINIO_OPTS
:指定管理页面的地址的端口号
2.创建minio数据存储路径
mkdir /data
3.防火墙设置开放端口
#开放minio的9000和9001端口
firewall-cmd --zone=public --add-port=9000/tcp --add-port=9001/tcp --permanent
#重新加载防火墙规则
firewall-cmd --reload
#查看开放的端口
firewall-cmd --list-ports
4.让systemctl检查配置并重新加载系统服务的配置文件
systemctl daemon - reload
#设置minio服务自启动
systemctl enable minio
#启动minio服务
systemctl start minio
#查看minio服务状态
systemctl status minio
Minio后台管理系统使用
账号密码就是etc/default/minio
文件里面配置的MINIO_ROOT_USER
和MINIO_ROOT_PASSWORD
介绍
存储桶管理界面介绍
Access Policy:访问策略
-
public:允许所有人对该存储桶进行读写操作
-
private:只允许所有者操作该存储桶,其他人不能读写该存储桶
-
custom:自定义存储桶的访问权限,如:只允许所有者写,但允许所有人读,自定义访问权限有格式要求,格式为JSON
Encryption:加密策略,可选值:Disabled、SSE-S3、SSE-KMS
Reported Usage:存储桶使用情况,即使用的内存大小
Quota:配置存储桶限制的数据量
Browse Bucket:浏览存储桶列表