一、介绍
MinIO是一个开源的高性能对象存储系统,专为云原生和容器化环境而设计。它采用分布式架构,能够存储和管理大规模的非结构化数据,如图片、视频、日志文件等。
- 高性能:MinIO在标准硬件上能够提供极高的读写速度,例如,读/写速度可达183 GB/秒和171 GB/秒。
- 兼容性:MinIO与Amazon S3云存储服务兼容,提供S3兼容的API,能够无缝集成到现有的S3生态系统中。
- 可扩展性:MinIO支持通过添加新的节点来线性扩展存储容量和吞吐量,满足不断增长的存储需求。
数据保护:提供多种数据保护机制,包括数据冗余、故障转移和数据校验等,确保数据的高可用性和持久性。 - 分布式存储:将数据分散存储在多个节点上,实现并行处理和高速传输。
纠删码技术:使用Reed-Solomon纠删码将数据划分为多个数据块和校验块,即使部分数据块丢失,也能通过剩余数据块恢复原始数据。 - 极简设计:以极简主义为指导原则,减少配置选项和变体数量,降低出错概率,提高正常运行时间和可靠性。
- 简单安装:只需下载一个二进制文件并执行,即可在几分钟内完成安装和配置。
- 平滑升级:支持无中断的升级操作,降低总使用和运维成本。
- 跨平台支持:支持多种操作系统平台,如Windows、Linux、OS X和FreeBSD等。
官网:MinIO官网:https://www.minio.org.cn
二、安装
2.1、Windows
2.1.1、安装
(1)下载windows可执行文件。
下载地址:Windows MinIO 服务端和客户端 下载地址 https://min.io/download?license=enterprise&platform=kubernetes#/windows
(2)创建一个文件夹用于存放MinIO可执行文件和MinIO数据存放的地址。
- minIO 文件夹用于存放MinIO文件。
- minIO/bin文件夹用于存放MinIO的服务端和客户端的可执行文件。
- minIO/data 文件夹用于存放MinIO的数据文件。
# 文件组织结构
minIO
├─bin
│ ├─ mc.exe # 客户端可执行文件
│ │
│ ├─ minio.exe # 服务端可执行文件
├─data
│
└─logs
2.1.2、启动
NOTE:Windows 不能直接通过双击minio.exe文件来启动MinIO服务。如果双击该文件,那么它会提示你需要通过cmd.exe/PowerShell来运行。推荐使用脚本的方式来运行MinIO服务,减少命令记忆。
(1)命令启动
Ⅰ. 在minIO/bin处打开终端或是cd到minIO/bin。
Ⅱ. 设置MinIO登录的ROOT用户名。
setx MINIO_ROOT_USER 替换为想设置的登录用户名
Ⅲ. 设置MinIO登录的ROOT用户的密码。
setx MINIO_ROOT_PASSWORD 替换为自己想设置的登录密码
Ⅳ. 启动MinIO服务端。
.\minio.exe server D:\programs\devTools\minIO\data --console-address "127.0.0.1:9000" --address "127.0.0.1:9005"
参数解释:
- D:\programs\devTools\minIO\data: 设置MinIO服务的上传等相关数据存放路径。
- –console-address “127.0.0.1:9000” :设置MinIO服务控制台的访问地址。
- –address “127.0.0.1:9005” : 设置MinIO服务的访问地址。
Ⅴ. 启动成功示例图。以及访问控制台成功示例图
输入:http://localhost:9000,进入前端控制台登录页面。
(2)脚本启动
Ⅰ. 脚本启动的前几个步骤和 命令启动 一样,使用脚本启动只是为了简化 命令启动 的 步骤Ⅳ. 。
Ⅱ. 创建一个 start_minio.cmd 的批处理文件,然后将下面的命令复制到 start_minio.cmd 文本中。
要将minio_base_path的路径替换为自己本机存放 MinIO 的根目录
# start_minio.cmd
echo start MinIO Server
@REM 设置MinIO的根目录
set minio_base_path=D:\programs\devTools\minIO
%minio_base_path%\bin\minio.exe server %minio_base_path%\data --console-address "127.0.0.1:9000" --address "127.0.0.1:9005"
Ⅲ. 双击 start_minio.cmd 就可以启动 MinIO 服务了。
2.2、Linux 安装
(1)自己选择一个路径来存放 MinIO 的文件,然后执行以下命令创建文件夹。
创建如以下所示的文件夹结构:
minio
├─bin
├─data
└─logs
命令如下(一条条的执行):
mkdir minio
cd minio
mkdir bin
mkdir data
mkdir logs
cd bin
(2)在bin目录下,下载 MinIO Server 的可执行文件。
wget https://dl.min.io/server/minio/release/linux-amd64/minio
(3)下载完成后,为该文件添加执行权限。
chmod +x minio
(4)设置登录用户名和登录密码。
# name可以替换为想要设置的值
MINIO_ROOT_USER=name
# password可以替换为想要设置的值
MINIO_ROOT_PASSWORD=password
(5)启动minIO服务。
./minio server /mydata/minio/data --console-address ":9000" --address ":9001"
2.3、Docker 安装
podma
(1)执行命令。
podman run -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"
docker
(1)拉取镜像
docker pull minio/minio
(2)创建容器和本机目录的映射目录(挂载点目录)。
mkdir -p /usr/local/minio/config
mkdir -p /usr/local/minio/data
(3)创建并启动容器,同时设置minio的账号和密码,以及挂载点目录。
通过环境变量的形式设置minio的账号和密码
其中:
MINIO_ROOT_USER=admin,表示minio的的路账号是admin;MINIO_ROOT_PASSWORD=admin,表示minio的登录账号的登录密码是admin
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
--privileged=true \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin" \
-v /usr/local/minion/data:/data \
-v /usr/local/minio/config:/root/.minio \
minio/minio server \
--console-address ":9000" \
--address ":9001" /data
(4)测试 MinIO 是否安装成功。
直接使用安装docker的电脑的ip去登录。
如本例:http://ip:9000 访问minio控制台
本例账号为admin,密码为admin