云计算百科
云计算领域专业知识百科平台

搭建minio对象存储服务器

搭建minio对象存储服务器

  • Centos7搭建minio对象存储服务器
    • 配置服务文件
  • Windows安装Minio服务器端
      • 启动minio server
      • 将minio封装成系统服务
        • 默认账号密码
        • 常用参数
    • 常见问题
      • 删除的文件没有释放空间怎么解决
        • 原因分析:
        • 解决办法:
      • 调整minio文件分享时长
        • 设置“桶”为公开,如图设置即可

Centos7搭建minio对象存储服务器

参考:https://segmentfault.com/q/1010000042181876

minio中国版:https://www.minio.org.cn/download.shtml#/linux

# 下载二进制程序
wget -c https://dl.min.io/server/minio/release/linux-amd64/minio

# 安装到指定目录
mkdir -p /opt/minio/bin/
install minio /opt/minio/bin/

# 创建minio运行时目录
mkdir -p /data/minio/run/

# 赋予可执行权限
chmod +x /opt/minio/bin/minio

# 查看版本
/opt/minio/bin/minio -v

在这里插入图片描述

# 创建数据文件目录
mkdir -p /data/minio_data

配置服务文件

vim /etc/systemd/system/minio.service

# [Unit] 部分:定义单元的基本信息和依赖关系
[Unit]
# 描述该服务为 Minio 服务
Description=Minio Service
# 服务的文档
Documentation=https://min.io/docs/minio/linux/index.html
# 前置服务条件
After=network.target
# AssertFileIsExecutable:检查指定的文件是否可执行,若不可执行,则服务无法启动
AssertFileIsExecutable=/opt/minio/bin/minio

# [Service] 部分:定义服务的运行参数和行为
[Service]
# 设置环境变量,用于配置 Minio 的访问凭证
# 用户名
Environment="MINIO_ROOT_USER=admin"
# 密码
Environment="MINIO_ROOT_PASSWORD=Wps@123456"
# 以下为可选的环境变量配置,用于设置 Minio 的服务器 URL(如通过代理访问)
# 分享链接地址设置
# Environment="MINIO_SERVER_URL=http://代理ip:代理端口(对应内网9000端口的代理)"

# 设置工作目录,Minio 服务将在该目录下运行
WorkingDirectory=/data/minio/run/
# 定义服务的启动命令
# /data/minio_data: 数据目录,Minio 将在此目录存储数据
# –config-dir:配置文件目录(此处未明确指定,使用默认配置)
# –console-address : 控制台端口,设置为 0.0.0.0:9001 表示监听所有网络接口的 9001 端口
# –address:api 端口,设置为 0.0.0.0:9000 表示监听所有网络接口的 9000 端口
ExecStart=/opt/minio/bin/minio server /data/minio_data –console-address "0.0.0.0:9001" –address "0.0.0.0:9000"
# 定义服务的重载命令,使用 HUP 信号通知进程重新加载配置
ExecReload=/bin/kill -s HUP $MAINPID
# 定义服务的停止命令,使用 QUIT 信号通知进程优雅地停止
ExecStop=/bin/kill -s QUIT $MAINPID
# 设置标准输出日志文件路径,Minio 的日志将写入此文件
StandardOutput=/var/logs/minio/minio.log
# 设置是否使用私有临时目录,true 表示启用,可增强安全性
PrivateTmp=true
# ProtectProc=invisible:将进程的 /proc 目录隐藏,增强安全性
ProtectProc=invisible
# 设置服务失败后的重启策略,on-failure 表示仅在服务异常退出时重启
Restart=on-failure
# 设置重启前的等待时间,单位为秒
RestartSec=5
# LimitNOFILE:设置服务可以打开的最大文件描述符数量
LimitNOFILE=65536
# TasksMax=infinity:设置服务可以创建的最大任务数为无限
TasksMax=infinity
# TimeoutStopSec=infinity:设置停止服务的超时时间为无限,确保服务能够完全停止
TimeoutStopSec=infinity
# SendSIGKILL=no:在停止服务时,不发送 SIGKILL 信号,确保服务能够优雅地停止
SendSIGKILL=no

# [Install] 部分:定义服务安装和启动的依赖关系
[Install]
# 设置多用户模式下系统启动时自动启动该服务
WantedBy=multi-user.target

设置开机自启动

# 加载服务文件
systemctl daemon-reload

# 设置开机自启并现在启动
systemctl enable –now minio.service

# 查看服务状态
systemctl status minio -l

在这里插入图片描述

Windows安装Minio服务器端

参考:https://min.io/docs/minio/windows/index.html

# 安装 MinIO 服务器端
Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\\minio.exe"

启动minio server

# 启动minio服务端
## server 启动服务端
## C:\\data 指定的 Minio 数据存储目录,会在该目录生产minio.sys目录
## 默认启动127.0.01:9000
minio.exe server C:\\data

## 默认的配置目录是${HOME}/.minio,可以通过 –config-dir 命令自定义配置目录
## –console-address ":9001" 启动本地的9001端口,不能指定9000端口
minio server –console-address ":9001" C:\\data

将minio封装成系统服务

<service>
<!– id:安装windows服务后的服务ID,必须是唯一的。 –>
<id>minio</id>
<!– name:服务名称,也必须是唯一的。一般和id一致即可。 –>
<name>minio_server</name>
<!– description:服务说明,可以使用中文,可做备注使用。 –>
<description>minio Service</description>
<!– env 是变量 –>
<env name="MINIO_ROOT_USER" value="admin" />
<env name="MINIO_ROOT_PASSWORD" value="omaidb12." />
<!– executable:执行的命令,比如启动springboot应用的命令java。 –>
<executable>"C:\\opt\\minio\\minio.exe"</executable>
<!– arguments:命令执行参数,比如 包路径,类路径等。 –>
<arguments> server –console-address ":9001" C:\\data</arguments>
<!– 日志模式 reset|roll –>
<log mode="roll"></log>
</service>

默认账号密码

# 默认账号密码
RootUser: minioadmin
RootPass: minioadmin

# 设置用户名和密码 变量
# 设置用户名
setx MINIO_ROOT_USER admin
# 设置密码
setx MINIO_ROOT_PASSWORD password

常用参数

# 将以下内容写入到/det/defalut/minio文件中:
# MINIO_VOLUMES变量更改说名:本示例使用3台服务器,每台服务器分2个磁盘供minio服务使用,所有这里要把所有节点使用的所有数据目录都写上
MINIO_VOLUMES="http://192.168.1.100:9000/MinIO/data1 http://192.168.1.100:9000/MinIO/data2 http://192.168.1.101:9000/MinIO/data1 http://192.168.1.101:9000/MinIO/data2 http://192.168.1.102:9000/MinIO/data1 http://192.168.1.102:9000/MinIO/data2"
MINIO_OPTS="–console-address :9001" #minio服务监听端口号
MINIO_ROOT_USER=minioadmin #minio网页端的登录账号
MINIO_ROOT_PASSWORD=minioadmin #minio网页端的登录密码
MINIO_PROMETHEUS_AUTH_TYPE="public"
# MINIO_PROMETHEUS_URL="http://192.168.10.148:9090" #配置prometheus监控的服务器地址
# MINIO_SERVER_URL="http://192.168.192.163:9000" #负载均衡地址,没有负载均衡就不要放开注释

常见问题

删除的文件没有释放空间怎么解决

参考:https://github.com/minio/minio/issues/19484

问题:用mc工具删除大目录文件,但空间没有立即释放导致存储空间爆满。

删除命令:

## -r 递归删除
## –dangerous 确认递归删除操作
## –force 强制删除,不提示确认
mc rm -r –dangerous –force

原因分析:

排查删除的文件服务器到了.minio.sys/tmp/.trash/垃圾目录,要过比较久的时间才释放,如何取消清理文件的服务器或调整服务器释放时间

解决办法:

下次 GC 时会将其删除。一般默认等5分钟

调整minio文件分享时长

https://cloud.tencent.com/developer/article/2206592

MinIO官方规定,分享链接最长时间只能是7天。 其实所谓的永久分享链接,大家想一下,永久分享和公开没什么两样

设置“桶”为公开,如图设置即可

在MinIO中引入了“桶”的概念,默认创建桶的权限是private私有的,也就是桶内的文件是不允许外界直接访问的, 所谓设置永久分享链接就是将创建的桶的权限设置公开public即可,就可以实现通过:http://地址/桶名称/文件名直接访问,比如访问的是图片:https://minio.itze.cn/image/logo.png 地址放到浏览器即可直接访问

赞(0)
未经允许不得转载:网硕互联帮助中心 » 搭建minio对象存储服务器
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!