最近在盘点费用账单时,突然发现OSS的费用异常高,主要是消耗在带宽上!现决定替换掉该工具,找了一圈,发现minio是最佳平替选项!接下来将带大家花3分钟在云服务器上快速部署minio以及会遇到的坑
什么是minio?
MinIO 是一个高性能的对象存储系统,兼容 Amazon S3 API。它被设计用于大规模数据存储和处理,广泛应用于大数据分析、机器学习、日志存储、备份和恢复等多种场景。MinIO 提供了高可用性、可扩展性和高性能,特别适合云原生和容器化环境。
MinIO 的主要特点包括:
- 高性能:支持高并发访问和大文件传输。
- 兼容性:完全兼容 Amazon S3 API,易于集成到现有的 S3 生态系统中。
- 可靠性:支持多节点集群部署,确保数据的高可用性和持久性。
- 安全性:提供强大的身份验证和访问控制机制。
- 易于部署:支持多种部署方式,包括 Docker 容器、Kubernetes、虚拟机等。
MinIO 已经被广泛应用于各种场景,包括但不限于:
- 大数据处理:用于存储和处理大规模的数据集。
- 机器学习:用于存储训练数据和模型。
- 日志管理:用于集中存储和管理日志文件。
- 备份和归档:用于长期数据存储和归档。
- 容器化应用:作为容器化应用的数据存储服务。
Ubuntu安装minIO详细步骤
更新系统包列表:
sudo apt update
下载MinIO二进制文件:
sudo wget https://dl.min.io/server/minio/release/linux-amd64/minio
赋予执行权限:
当前用户添加写的权限
sudo chmod +x minio
帮minio操作权限赋权给当前用户
sudo chomod ubuntu:ubuntu minio
移动MinIO二进制文件到可执行路径:
sudo mv minio /usr/local/bin/
创建MinIO配置目录和存储目录:
sudo mkdir -p /etc/minio /mnt/data
创建MinIO配置文件:
sudo vim /etc/minio/config.json
在文件中添加以下内容(根据需要修改访问密钥和秘密密钥):
{
"credentials": {
"accessKey": "test",
"secretKey": "vector"
}
}
创建MinIO服务文件:
sudo vim /etc/systemd/system/minio.service
在文件中添加以下内容,这里注意:添加--console-address ":37585" --address ":9000",可以把控制台页面和api端口固定住,否则每次重启端口会变。这里Environment也一起配置下,否则会使用默认minioadmin/minioadmin,有安全风险
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
User=root
Group=root
Environment="MINIO_ROOT_USER=admin"
Environment="MINIO_ROOT_PASSWORD=newpass"
ExecStart=/usr/local/bin/minio server --config-dir /etc/minio --console-address ":37585" --address ":9000" /mnt/data
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
重新加载systemd配置:
sudo systemctl daemon-reload
重启MinIO服务:
sudo systemctl restart minio
设置MinIO服务开机自启动:
sudo systemctl enable minio
检查MinIO服务状态:
sudo systemctl status minio
打开云服务器9000和**37585**端口使外网可以访问
注意:这里要开9000和37585给外网访问
现在,你应该能够通过浏览器访问MinIO管理界面,地址为 http://你的ip:9000,并使用你在配置文件中设置的访问密钥和秘密密钥登录。
登录页面配置bucket
使用:http://你的ip:37585,账号密码是第7步里 admin / newpass
创建Bucket
bucket相当于一个分组,直接通过MinIO管理页面进行创建
创建Access keys
后端系统存储数据需要通过该key+bucket完成上传下载