MinIO 文件服务器简单搭建

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 /data

linux 安装
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=Test123456


nohup /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.sh
 
Restart=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.sh
 
Restart=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 *.service

2、停止服务
systemctl stop *.service

3、重启服务
systemctl restart *.service

脚本

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

#!/bin/bash

RUNNING_USER=root
MINIO_HOME=/opt/minio
MINIO_HOST=192.168.146.128
#accesskey and secretkey
ACCESS_KEY=minio 
SECRET_KEY=minio123

for i in {01..04}; do
    START_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/bash

RUNNING_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=minio123

for i in {01..02}; do
    START_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
  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MinIO文件服务器是一个轻量级的对象存储服务器,可以在本地计算机或云环境中运行。你可以使用MinIO来存储和访问大量的数据。根据不同的操作系统和环境,安装和配置MinIO有几种不同的方法。 对于Windows操作系统,你可以在Windows PowerShell中执行以下命令来安装和配置MinIO: setx MINIO_ROOT_USER admin Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\minio.exe" setx MINIO_ROOT_PASSWORD password C:\minio.exe server F:\Data --console-address ":9001" 对于Linux操作系统,你可以在命令行中执行以下命令来安装和配置MinIO: wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod +x minio MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server ./minio --console-address ":9001" 对于MacOS操作系统,你可以在命令行中执行以下命令来安装和配置MinIO: wget https://dl.min.io/server/minio/release/darwin-amd64/minio chmod +x minio MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password ./minio server F:\Data --console-address ":9001" 另一种推荐的方法是使用Docker来安装和配置MinIO。你可以使用以下命令来下载并启动MinIO容器: docker-compose up -d 这是一个示例的docker-compose.yml文件的内容: version: '3' services: minio: image: minio/minio hostname: "minio" ports: - "9000:9000" # api 端口 - "9001:9001" # 控制台端口 environment: MINIO_ACCESS_KEY: admin #管理后台用户名 MINIO_SECRET_KEY: password #管理后台密码,最小8个字符 volumes: - /home/deepsoft/minio/data:/data #映射当前目录下的data目录至容器内/data目录 - /home/deepsoft/minio/config:/root/.minio/ #映射配置目录 command: server --console-address ':9001' /data #指定容器中的目录 /data privileged: true restart: always logging: options: max-size: "50M" # 最大文件上传限制 max-file: "10" driver: json-file networks: - minio 这些是安装和配置MinIO文件服务器的不同方法和步骤,你可以根据你的操作系统和环境选择合适的方法来进行安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [MinIO分布式文件服务器搭建与入门](https://blog.csdn.net/lemon_TT/article/details/124675675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [第03讲:MinIO分布式文件服务器](https://blog.csdn.net/qzc70919700/article/details/129988299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值