创建运行文件夹(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)
单机单磁盘
运行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
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
下载,解压,调整配置,运行
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:
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