超详细centos中部署minio

准备工作

1.寻找国外minio官网,并安装minio

2.格式化并挂载好硬盘

3.centos系统需要打开端口

4.下载配置mc和Prometheus(非必需)


安装

安装前准备,文件夹创建,控制台登入root账户(sudo su)并进入根目录(cd /)

创建运行文件夹(mkdir /opt/minio)

创建存储文件夹(mkdir /mnt/minio),进入后创建子文件夹data1


下载并赋予权限,进入运行文件夹

wget https://dl.min.io/server/minio/release/linux-amd64/minio

chmod +x minio


挂载硬盘

查看主机内存在的所有硬盘(fdisk -l )

新挂载的硬盘可以根据大小区分'举例sdf这块盘',当运行格式化命令后(mkfs -t ext4 /dev/sdf),运行(blkid)可以查看到UUID,此时将硬盘挂载到储存文件夹下的子文件夹data1。运行vim /etc/fstab 按 i 末尾追加UUID=d765d835-4989-4bff-8ae8-116c654d4bba /mnt/minio/data1 ext4 defaults 0 2. 保存后重启(reboot).


测试运行minio

单机单磁盘

运行netstat -anpt 查看9000 9001端口是否被使用,docker容器容易占用。当然了,console和API使用的端口都是可以自由设置的,我只是用常见的9000和9001举例。

进入运行文件夹,输入 ./minio server --console-address :9001 --address :9000 >minio.log /mnt/minio/data1

./minio代表刚才下载并附权的那个文件。 --console-address :9001 代表将console页面指定为9001端口访问。 -- address :9000 指定API访问端口。 >minio.log 表示当前文件夹下创建了一个日志文件。 /mnt/minio/data1表示指明在储存文件夹里的位置

此模式下,不能自由的创建桶,个人使用的话可以手动在储存文件夹下创建文件夹,即创建了桶。


单机多磁盘与分布式

单机多磁盘,4块或4的倍数块相同大小的磁盘。并自动引入纠删码模式。

./minio server --console-address :9001 --address :9000 >minio.log /mnt/minio/data1 /mnt/minio/data2 /mnt/minio/data3 /mnt/minio/data4分布式部署,至少四个节点,运行相同minio配置。也是自动引入纠删码模式。

多节点分布式(节点为10.10.5.200~10.10.5.203 文件夹都为data1~data4)四个节点依次运行相同命令。(节点中相近版本可以组成分布式,没限制必须所有节点minio版本一致)

./minio server --console-address :9001 --address :9000 >minio.log http:10.10.5.{200...203}/mnt/minio/data{1...4}
分布式部署还可以使用第五个节点对上述四点进行负载均衡配置,合并成一个连接访问。

正式运行

运行文件夹下执行vim startminio.sh,

#!/bin/bash
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678

/opt/minio/minio server --console-address :9001 --address :9000 /mnt/minio/data{1...4} >minio.log

赋予权限

chmod +x startminio.sh


创建开机执行服务

vim /usr/lib/systemd/system/minio.service

[Unit]
Description=Minio server
After=network.target

[Service]
Type=simple
User=root
Group=root

ExecStart=/opt/minio/startminio.sh

# Give a reasonable amount of time for the server to start up/shut down
TimeoutSec=300

# Place temp files in a secure directory, not /tmp
PrivateTmp=true

[Install]
WantedBy=multi-user.target

赋予权限并开机启动

chmod 644 /usr/lib/systemd/system/minio.service

systemctl daemon-reload

systemctl start minio.service

systemctl enable minio.service


打开防火墙中的9000与9001端口

查看状态

systemctl status firewalld

查看已开放端口

firewall-cmd --list-all

开放9000端口

firewall-cmd --zone=public --add-port=9000/tcp --permanent

防火墙重载

firewall-cmd --reload


此时访问http://10.10.5.200:9001,登录admin,12345678,可以使用


安装mc

还是进入国外minio官网,进入下载,附权,运行

wget https://dl.min.io/client/mc/release/linux-amd64/mc

chmod +x mc

./mc alias set myminio/ http://0.0.0.0:9000 admin 12345678


安装运行Prometheus

下载,解压,调整配置,运行

wget https://github.com/prometheus/prometheus/releases/download/v2.33.4/prometheus-2.33.4.linux-amd64.tar.gz

tar xvfz prometheus-2.33.4.linux-amd64.tar.gz.tar.gz

cd prometheus-2.33.4.linux-amd64

/opt/minio/mc admin prometheus generate myminio 这里的myminio是前文(./mc alias set myminio)中设置的。

复制scrape_configs之后的内容,追加到prometheus.yml末尾,注意格式缩进

scrape_configs:
- job_name: minio-job
  bearer_token: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJleHAiOjQ3OTkzNTcwMDUsImlzcyI6InByb21ldGhldXMiLCJzdWIiOiJhZG1pbiJ9.7o0ewFRd7EbwWneh0Vg09R4UljwAL4B0zUKovBwWPlVfPkGxSe2l_DNnDPO-jwGBcn77LsxOaldRww7YAIlJjA
  metrics_path: /minio/v2/metrics/cluster
  scheme: http
  static_configs:
  - targets: ['0.0.0.0:9000']

配置文件startminio.sh中还要 追加

export MINIO_PROMETHEUS_AUTH_TYPE="public"

export MINIO_PROMETHEUS_URL="http://10.10.5.200:9090"

在prometheus-2.33.4.linux-amd64文件夹中运行./prometheus --config.file=prometheus.yml

ps: .yaml跟.yml本质是一个东西,近些年常用后者

重启后三者一起运行,顺序为minio > mc > prometheus


设置证书绑定外网IP等操作,下次更新

posted @ 2022-02-25 14:08  能豆子~  阅读(3992)  评论(0编辑  收藏  举报