MinIO 文件服务器简单搭建

本地安装

Minio是一个对象存储服务器,在项目中可以用来存储文件,替代本地存储或者ftp存储的功能。docker 安装
docker run --name minio -d -p 9000:9000 -e MINIO_ACCESS_KEY=admin -e MINIO_SECRET_KEY=12345678 -v /data:/data  minio/minio server /datalinux 安装
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio在minio二进制文件位置
前台运行:
./minio server /data
后台运行:
./minio server /data >minilog.conf &

单机启动脚本

/opt/minio/minio 是你的minio 程序全路径
/opt/minio/file_img 是你要保存文件的路径

#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456nohup /opt/minio/minio server  --address 0.0.0.0:9089 /opt/minio/file_img > /opt/minio/minio.log 2>&1 &

分布式集群

特别注意:minio分布式部署最少四个节点,也就是四台服务,因为minio特性 你的可用节点不能小于N/2
也就是说你如果使用四个节点(服务,不是硬盘哈)的话停掉两个节点之后,服务依然可用,当停掉三个后服务挂了,
如果你使用两个节点的话,挂掉一个服务直接凉,所以两个节点的没意义。 _

你可以先运行一下 run.sh 脚本看看是否正常
如果提示:-bash: ./run.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录 错误
使用 sed -i ‘s/\r$//’ run.sh 文件内容转码

脚本文件如果是从本地上传的linux 服务器的,注意文件编码,可以单独运行一下.sh文件试一下是否没有错误。
------------------- 》原文链接:https://www.centoscn.vip/1480.html

环境
[root@minio1 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
服务器
192.168.1.138
192.168.1.139
目录
本集群由2台服务器构成(官方推荐集群最小4台服务器),每个服务器上挂载两个磁盘目录,最小数据挂载点为4个数据存储目录(两台机器都创建)
[root@minio1 ~]# mkdir -p /home/data1
[root@minio1 ~]# mkdir -p /home/data2
[root@minio2 ~]# mkdir -p /home/data1
[root@minio2 ~]# mkdir -p /home/data2
启动脚本目录[root@minio1 ~]# mkdir -p /opt/minio
[root@minio2 ~]# mkdir -p /opt/minio集群配置文件目录
[root@minio1 ~]# mkdir -p /etc/minio
[root@minio2 ~]# mkdir -p /etc/minio编写集群启动脚本(所有节点配置文件相同)
[root@minio1 ~]# cat /opt/minio/run.sh
#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456/opt/minio/minio server --config-dir /etc/minio \
http://192.168.1.138/home/data1 http://192.168.1.138/home/data2 \
http://192.168.1.139/home/data1 http://192.168.1.139/home/data2 \
节点2[root@minio2 ~]# cat /opt/minio/run.sh
这里是启动脚本
#!/bin/bash
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456/opt/minio/minio server --config-dir /etc/minio \
http://192.168.1.138/home/data1 http://192.168.1.138/home/data2 \
http://192.168.1.139/home/data1 http://192.168.1.139/home/data2 \
其中,“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“–config-dir”指定集群配置文件目录编写服务脚本(所有节点)
[root@minio1 ~]# cat /usr/lib/systemd/system/minio.service
[Unit]
Description=Minio service
Documentation=https://docs.minio.io/[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.shRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target
节点2[root@minio2 ~]# vim /usr/lib/systemd/system/minio.service[Unit]
Description=Minio service
Documentation=https://docs.minio.io/[Service]
WorkingDirectory=/opt/minio/
ExecStart=/opt/minio/run.shRestart=on-failure
RestartSec=5[Install]
WantedBy=multi-user.target
添加脚本权限
[root@minio1 ~]# chmod +x /usr/lib/systemd/system/minio.service[root@minio2 ~]# chmod +x /usr/lib/systemd/system/minio.service
启动测试
将minio上传到/opt/minio目录下并赋予权限[root@minio1 ~]# cd /opt/minio///这里是直接服务器wget 下载 也可以官网直接下载二进制文件 拷贝进去直接就可以使用
[root@minio1 minio]# wget https://dl.minio.io/server/minio/release/linux-amd64/minio[root@minio1 minio]# chmod +x minio
[root@minio1 minio]# chmod +x /opt/minio/run.sh
节点2[root@minio2 ~]# cd /opt/minio/
[root@minio2 minio]# wget https://dl.minio.io/server/minio/release/linux-amd64/minio[root@minio2 minio]# chmod +x minio
[root@minio2 minio]# chmod +x /opt/minio/run.sh
启动
[root@minio1 minio]# systemctl daemon-reload
[root@minio1 minio]# systemctl start minio
[root@minio1 minio]# systemctl enable minio
Created symlink from /etc/systemd/system/multi-user.target.wants/minio.service to /usr/lib/systemd/system/minio.service.
节点2[root@minio2 minio]# systemctl daemon-reload
[root@minio2 minio]# systemctl start minio
[root@minio2 minio]# systemctl enable minio
Created symlink from /etc/systemd/system/multi-user.target.wants/minio.service to /usr/lib/systemd/system/minio.service.
测试
浏览器输入集群任意节点地址+9000端口,即可访问minio,用户名密码为前面设置的“MINIO_ACCESS_KEY”和“MINIO_SECRET_KEY”,可创建“bucket”并上传文件测试http://192.168.1.138:9000/minio/login

创建完成之后在第一个minio所做的操作会自动同步到第二个minio上。

官方api文档上的全都是旧的,没卵用。
关于minio 文件服务器 java 的使用 请参见:https://blog.csdn.net/weixin_42563880/article/details/109490020

nginx 负载均衡配置:


upstream minio_server{server 192.168.95.132:9000 weight=10;server 192.168.95.131:9000 weight=5;   }server {listen  80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;client_max_body_size 20M;charset utf-8;location / {proxy_set_header Host $http_host;client_body_buffer_size 10M;client_max_body_size 10G;proxy_buffers 1024 4k;proxy_read_timeout 300;proxy_pass http://minio_server;    }

./nginx 启动nginx

systemctl 基本用法

1、启动服务
systemctl start *.service2、停止服务
systemctl stop *.service3、重启服务
systemctl restart *.service

脚本

一台服务器部署多个端口,模拟分布式脚本

#!/bin/bashRUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.146.128
#accesskey and secretkey
ACCESS_KEY=minio
SECRET_KEY=minio123for i in {01..04}; doSTART_CMD="MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio  server --address "${MINIO_HOST}:90${i}" http://${MINIO_HOST}:9001/opt/min-data1 http://${MINIO_HOST}:9002/opt/min-data2 http://${MINIO_HOST}:9003/opt/min-data3 http://${MINIO_HOST}:9004/opt/min-data4 > ${MINIO_HOME}/minio-90${i}.log 2>&1 &"su - ${RUNNING_USER} -c "${START_CMD}"
done

两台服务器每条部署多个端口 模拟分布式部署

#!/bin/bashRUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.146.130
MINIO_HOST2=192.168.146.131
#accesskey and secretkey
ACCESS_KEY=minio
SECRET_KEY=minio123for i in {01..02}; doSTART_CMD="MINIO_ACCESS_KEY=${ACCESS_KEY} MINIO_SECRET_KEY=${SECRET_KEY} nohup ${MINIO_HOME}/minio  server --address "${MINIO_HOST2}:90${i}" http://${MINIO_HOST}:9001/opt/min-data1 http://${MINIO_HOST}:9002/opt/min-data2 http://${MINIO_HOST2}:9001/opt/min-data1 http://${MINIO_HOST2}:9002/opt/min-data2 > ${MINIO_HOME}/minio-90${i}.log 2>&1 &"su - ${RUNNING_USER} -c "${START_CMD}"
done

MinIO 文件服务器简单搭建相关推荐

  1. 阿帕奇搭建文件服务器,关于LINUX文件服务器简单搭建---NFS与APACHE服务

    这里写自定义目录标题 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页.如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Ma ...

  2. 烂泥:文件服务器搭建与使用详解,minio文件服务器搭建(单机版)

    minio服务端搭建 mkdir /usr/local/minio mkdir /usr/local/minio/etc mkdir /usr/local/minio/data cd /usr/loc ...

  3. 使用minio搭建文件服务器,MinIO文件服务器构建

    Docker 容器安装MinIO文件服务器 稳定版 docker pull minio/minio 注意:启动,此命令在容器关闭时数据自动消失. docker run -p 9000:9000 min ...

  4. MinIO纠错码、分布式MinIO集群搭建及启动

    文章目录 前言 一.MinIO纠删码 二.分布式集群部署 1.分布式存储可靠性常用的方法 2.分布式MinIO 3.分布式MinIO集群搭建 3.1 下载MinIO 3.2 为每一台虚拟机创建目录并上 ...

  5. springboot 整合minio client 简单使用 视频流展示demo

    springboot 整合minio client 简单使用 视频流展示demo 不好意思 本人没有强迫症 代码随便造 知识来源于百度,感谢百度合作伙伴以及各位网友demo的帮助 源码:https:/ ...

  6. 分布式文件服务minio集群搭建

    minio集群搭建过程记录 minio集群搭建 1.服务器:2台服务器(存储数据目录不能是/root目录,否则会报错) 2.从官网获取Minio二进制文件并上传至2台集群主机: 3.创建目录(2台集群 ...

  7. python简易版实例_Python3之简单搭建自带服务器的实例讲解

    WEB开发,我们先从搭建一个简单的服务器开始,Python自带服务模块,且python3相比于python2有很大不同, 在Python2.6版本里,/usr/bin/lib/python2.6/ 目 ...

  8. 十分钟用Windows服务器简单搭建DHCP中继代理!!

                         十分钟用Windows服务器简单搭建DHCP中继代理!! 一.什么是中继代理? 大家都知道DHCP分配地址都需要用到IP广播,但是广播是不能在两个网段之间进行 ...

  9. RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器

    RHEL4- SAMBA服务(四)在x-window下图形界面简单搭建samba服务器       在<RHEL4- SAMBA服务(一)samba服务的安装与启动>中我讲了如何安装和启动 ...

最新文章

  1. 学 Redis ,至少要看看这篇!7000 字小结
  2. Silverlight实例教程 - Out of Browser在线更新和Silent安装
  3. EL之GB(GBC):利用GB对多分类问题进行建模(分层抽样+调1参)并评估
  4. dcf是ea211发动机吗_大众有的车怎么把ea211换成dcf了?
  5. 逆天的IE7中,诡异的横向滚动条
  6. flink shell的local模式(benv与senv的使用+处理报错的解决方案)
  7. Struts+Tomcat搭建
  8. 31 MM配置-采购-采购申请-采购申请审批策略-定义审批过程
  9. linux测试有效组,软件测试:三分钟掌握Linux命令之用户用户组命令(必读系列三)...
  10. 文本嵌入的经典模型与最新进展
  11. unable to verify the first certificate
  12. 数据可视化过程中常见的错误类型
  13. cydia红字解决方法(cydia安装软件时出现红字怎么解决)
  14. 计算机软考中级网络工程师考点总结——待续
  15. 比特大陆60天 :夺权、立威下的疯狂裁员
  16. 用图层蒙版抠图并合成(每天一个PS小项目)
  17. springboot 启动报错 Unexpected filename extension of file
  18. leetcode877
  19. 中学化学教学参考杂志社中学化学教学参考编辑部2022年第12期目录
  20. 程序员,你的薪资和劳动价值成正比吗?

热门文章

  1. C++ COM组件的编写
  2. mysql使用触发器,delete、insert、update触发器
  3. IBM__P系列 小型机 故障定位 故障排除
  4. 解决只读文件系统问题
  5. hive时间戳函数之unix_timestamp(),from_unixtime,to_utc_timestamp
  6. android 源码下载
  7. 数字体验词汇表:您需要了解的最重要术语
  8. debian 更换源 使用国内源 配置方法
  9. 查看华三交换机设备信息命令
  10. WebService 及java网络编程等基础概念(一)