Windows安装Minio服务器端
- Windows安装Minio服务器端
- 启动minio server
- 将minio封装成系统服务
- 默认账号密码
- 常用参数
- 常见问题
- Minio为客户提供NFS
- 删除的文件没有释放空间怎么解决
- 调整minio文件分享时长
- 设置“桶”为公开,如图设置即可
- 使用minio命令行客户端
- 配置mc
- mc命令行常用方法
- 创建bucket
- 查看bucket
- 上传文件到bucket中
- 删除bucket中的文件
- 删除bucket
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" #负载均衡地址,没有负载均衡就不要放开注释
常见问题
Minio为客户提供NFS
使用 Minio 作为后端存储,并通过 NFS 为客户端提供访问,那么你需要一个中间层来将 Minio 的对象存储转换为 NFS 共享.
<font style="color:rgb(34, 34, 34);">中间层</font>
安装<font style="color:rgb(34, 34, 34);">s3fs</font>
,挂载minio对象存储,然后共享为nfs服务
# Cneots7安装s3fs
yum install s3fs-fuse -y
# 创建挂载点
mkdir /mnt/minio
# 挂载minio对象存储
s3fs mybucket /mnt/minio -o passwd_file=/etc/passwd-s3fs -o url=http://<MINIO_SERVER_IP>:9000 -o use_path_request_style(使用路径请求样式)
删除的文件没有释放空间怎么解决
参考:https://github.com/minio/minio/issues/19484
问题:
用mc工具删除大目录文件,但空间没有立即释放导致存储空间爆满
删除命令: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 地址放到浏览器即可直接访问
使用minio命令行客户端
# 安装minio命令行客户端
choco install minio-client -y
配置mc
非交互式添加配置9000
端口是minio的API
的默认端口。
# 添加配置
mc config host add 配置名 http://127.0.0.1:9000 用户名 密码
交互式添加配置
# 添加配置
## 回车输入Access Key、Secret Key
mc config host add minio-server http://minio.lvzhenjiang.com
官方推荐配置方法
mc alias set myminio https://minioserver.example.net ACCESS_KEY SECRET_KEY
查看配置
# 查看配置
mc config host list
删除配置
# 删除配置
mc config host remove minio-server
mc命令行常用方法
参数 | 解释 |
ls | 列出文件和文件夹。 |
mb | 创建一个存储桶或一个文件夹。 |
cat | 显示文件和对象内容。 |
pipe | 将一个STDIN重定向到一个对象或者文件或者STDOUT。 |
share | 生成用于共享的URL。 |
cp | 拷贝文件和对象。 |
mirror | 给存储桶和文件夹做镜像。 |
find | 基于参数查找文件。 |
diff | 对两个文件夹或者存储桶比较差异。 |
rm | 删除文件和对象。 |
events | 管理对象通知。 |
watch | 监视文件和对象的事件。 |
policy | 管理访问策略。 |
config | 管理mc配置文件。 |
update | 检查软件更新。 |
version | 输出版本信息。 |
创建bucket
# mb 是创建 bucket 子命令,minio-server/lvzhenjiang 是在 minio-server 下创建一个叫做 lvzhenjiang 的 bucket
mc mb minio-server/lvzhenjiang
查看bucket
# 查看bucket
mc ls minio-server
上传文件到bucket中
# 上传一个文件到bucket中
mc cp /etc/hosts minio-server/lvzhenjiang
# 上传一个目录到bucket中
mc cp /etc minio-server/lvzhenjiang --recursive
删除bucket中的文件
# 删除文件
mc rm minio-server/lvzhenjiang/hosts
# 删除目录
mc rm minio-server/lvzhenjiang/etc --recursive --force
删除bucket
# 删除 没有文件的bucket
mc rb minio-server/lvzhenjiang
# 删除 有文件的bucket
mc rb minio-server/lvzhenjiang --force