自学内容网 自学内容网

Windows安装Minio服务器端

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](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 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

原文地址:https://blog.csdn.net/omaidb/article/details/143053662

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!