minio部署

minio部署

1. 安装minio

#下载minio
https://dl.min.io/server/minio/release/linux-amd64/
#添加可执行权限
chmod +x minio

#下载prometheus监控
https://prometheus.io/download/
#解压
tar -zxvf prometheus-2.33.3.linux-amd64.tar.gz
#编辑prometheus.yml文件,添加监控如下
scrape_configs:
- job_name: minio-job
  metrics_path: /minio/v2/metrics/cluster
  scheme: http
  static_configs:
  - targets: ['localhost:9000']

#创建prometheus启动文件
#!/bin/bash
nohup ./prometheus --config.file=prometheus.yml > prometheus.log &

2. minio基本概念

Object:存储到minio的基本对象,如文件、图片、字节流等;
Bucket:用来存储对象的逻辑空间。每个bucket之间的数据是相互隔离的(可以理解为bucket=文件夹);
Drive:即存储数据的磁盘,在minio启动的时候,以参数的方式传入。minio中所有的对象都会存储在drive中;
Set:即一组drive的集合,分布式部署根据集群规模自动划分一个或多个set,每个set中的drive分布在不同位置;

  • 一个对象存储在一个set中;
  • 一个集群划分多个set;
  • 一个set包含的drive数量是固定的,默认由集群根据系统规模自动计算得出;
  • 一个set中的drive尽可能分布在不同的节点上;

3. 纠删码(Erasure Code)

纠删码是一种用于重建丢失或损坏数据的数学算法。MinIO 使用 Reed-Solomon 代码将对象分片为可变数据和奇偶校验块。例如,在 12 个驱动器设置中,可以将一个对象分片到所有驱动器上的可变数量的数据和奇偶校验块 - 从六个数据和六个奇偶校验块到十个数据和两个奇偶校验块。
与 RAID 或复制不同,纠删码可保护数据免受多个驱动器故障的影响。例如,RAID6 可以防止两个驱动器发生故障,而在 MinIO 擦除代码中,您可能会丢失多达一半的驱动器,但数据仍然安全。此外,MinIO 的纠删码是对象级别的,一次可以修复一个对象。对于 RAID,只能在卷级别进行修复,这会导致停机时间较长。由于 MinIO 单独编码每个对象,它可以逐步修复对象。部署后的存储服务器在服务器的整个生命周期内都不需要驱动器更换或修复。MinIO 的纠删码后端旨在提高运营效率,并在可用时充分利用硬件加速。

开发、测试环境服务器配置

minio部署_第1张图片

生产环境服务器最小配置

minio部署_第2张图片

4. 创建集群启动命令(minio-cluster.sh)

#!/bin/bash
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=admin123
#默认情况下,MinIO 需要对向指标端点发出的请求进行身份验证,配置为公共访问
export MINIO_PROMETHEUS_AUTH_TYPE="public"
#配置prometheus地址
export MINIO_PROMETHEUS_URL="http://host:port"
#配置prometheus的job_id,默认为minio-job
export MINIO_PROMETHEUS_JOB_ID="minio-job"
#host{1...n}表示主机名,export{1...m}表示本地挂载drive路径
nohup ./minio server http://host{1...n}/export{1...m} --console-address ":9001" > minio.log &

5. 常见问题

#用户名密码配置长度问题,配置8位以上
Unable to validate credentials inherited from the shell environment: Invalid credentials

你可能感兴趣的:(linux,运维,服务器)