文件存储Minio

什么是Minio?

MinIO是一种对象存储解决方案,提供与Amazon Web Services S3兼容的API并支持所有核心S3功能,MinIO 可部署在任何地方。

TOC

一、安装部署minio

★准备工作★

minio命令下载地址:https://dl.min.io/server/minio/release/linux-amd64/minio
minio的rpm包下载地址:https://dl.min.io/server/minio/release/linux-amd64/archive/minio-20240611031330.0.0-1.x86_64.rpm
minio的deb包下载地址:https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20240611031330.0.0_amd64.deb

二进制安装部署minio

1.下载minio命令到/usr/local/bin目录下并添加执行权限

wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio
chmod +x /usr/local/bin/minio

2.创建工作目录并启动minio服务

mkdir -p /data/minio
minio server /data/minio --address 0.0.0.0:9000 --console-address 0.0.0.0:9001
# 运行成功后会出现下面界面
MinIO Object Storage Server
Copyright: 2015-2024 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2024-06-11T03-13-30Z (go1.22.4 linux/amd64)

API: http://0.0.0.0:9000
   RootUser: minioadmin
   RootPass: minioadmin

WebUI: http://0.0.0.0:9001
   RootUser: minioadmin
   RootPass: minioadmin

CLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart
   $ mc alias set 'myminio' 'http://0.0.0.0:9000' 'minioadmin' 'minioadmin'

Docs: https://min.io/docs/minio/linux/index.html
Status:         1 Online, 0 Offline.

上面可以看到默认用户和密码为:minioadmin
修改用户和密码:
主要设置MINIO_ROOT_USERMINIO_ROOT_PASSWORD两个变量即可。

export MINIO_ROOT_USER="minio"
export MINIO_ROOT_PASSWORD="minio123456"

3.将minio加入到systemctl管理

cat > /usr/lib/systemd/system/minio.service << EOF
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
Environment="MINIO_ROOT_USER=minio"
Environment="MINIO_ROOT_PASSWORD=minio123456"
ExecStart=/usr/local/bin/minio server /data/minio --address 0.0.0.0:9000 --console-address 0.0.0.0:9001
ExecStop=/usr/local/bin/minio server --stop
PermissionsStartOnly=true
User=root
Group=root
TimeoutStopSec=180
RemainAfterExit=yes
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
EOF
# 重新加载systemd配置文件,启动minio
systemctl daemon-reload
systemctl start minio

docker部署minio

1.编写docker-compose文件,如下:

# docker-compose.yaml
version: '3.8'

services:
  minio:
    image: minio/minio:latest
    container_name: minio
    restart: unless-stopped
    environment:
      - "MINIO_ROOT_USER=minio"
      - "MINIO_ROOT_PASSWORD=minio123456"
    command: server /data --address :9000 --console-address :9001
    ports:
      - 9000:9000
      - 9001:9001
    volumes:
      - ./minio/data:/data
      - ./minio/config:/root/.minio
    healthcheck:
      test: [ "CMD", "curl", "-I", "http://localhost:9000/minio/health/live" ]
      interval: 30s
      timeout: 20s
      retries: 3

2.启动minio:

docker compose up -d

测试阶段

访问管理后台页面,这里访问http://192.168.101.100:9001即可(如下图所示)
minio.001
登录进去就可以看到当前服务一些对象等资源的信息了(如下图所示)
minio.002
注意:这里还没有创建任何资源所以什么也没有
这样说明了单机的minio搭建成功!!!

二、minio客户端

minio客户端下载

直接下载mc命令即可,如下所示:

wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc

minio客户端使用

使用mc配置minio信息

mc alias set myminio http://127.0.0.1:9000 minio minio123456

mc命令

# 查看当前配置信息
mc alias list
# 创建桶,名为test
mc mb myminio/test
# 查看桶test信息
mc ls myminio/test
# 统计桶test的大小
mc du myminio/test
# 从本地上传文件到桶下
mc cp -r demo myminio/test
# 从桶上下载文件到本地
mc cp -r myminio/test/demo .
# 从两个minio地址移动
mc cp -r myminio/test/demo yourminio/test/demo
# 移动修改minio桶里的目录位置
mc mv myminio/test/demo myminio/test/mv_demo