linux minio 分布式环境搭建
一, 服务器 准备
使用 oracle vm VirtualBox 创建四台 linux 虚拟机
a.每台机 内存 1024m
b.每台机 挂载 一块 4G硬盘
注意:需要将新建的目录挂在到对应的磁盘下,磁盘不挂载好,集群启动会报错:找不到磁盘
右上角加号 在虚拟机 关机状态下才能操作
添加一块 4G 硬盘
c.启动虚拟机
fdisk –l 检查现有系统磁盘空间
查看新加的硬盘名称 我这里是 /dev/sdb
fdisk /dev/sdb sdb磁盘分区,有很多选项,我们选择m帮助信息
Command (m forhelp): m 选择m即可看到帮助信息
Command (m forhelp): n 创建一个新分区
Command action
e extended
p primary partition (1-4)
p 选择p添加主分区
Partition number(1-4): 1 选择主分区编号为1,这样创建后的主分区为sdb1
fdisk –l 我们在看一下系统磁盘空间分配情况
下面我们给新磁盘的/dev/sdb1分区进行格式化操作
mkfs -t ext4 /dev/sdb1 用ext4格式对/dev/sdb1分区进行格式化
到此我们的新分区格式化完毕,下面我们就要挂载上分区就可以使用啦!
df –h 这时我们还没有挂载新分区之前的挂载点分布
mkdir /minio 在根目录上创建一个新的挂载目录/minio
mount /dev/sdb1 /minio 将新磁盘分区挂载到 /minio 目录下
注意:需要将新建的目录挂在到对应的磁盘下,磁盘不挂载好,集群启动会报错:找不到磁盘
df –h 这是我们挂载新分区之后的挂载点分布
到此Virtualbox中Linux添加一个新磁盘->创建分区->格式化->挂载分区系列操作完毕
Virtualbox 添加磁盘创建分区 格式化 挂载分区
开机自动挂载新磁盘分区/dev/sdb1
vim /etc/fstab 修改文件,在文件最后新增一行
这样在重启系统后就会自动挂载到 /minio 目录上
二,创建 minio 挂载磁盘路径
注意:需要将新建的目录挂在到对应的磁盘下,磁盘不挂载好,集群启动会报错:找不到磁盘
四台服务器 的 minio 磁盘路径都是 /minio/data
创建存放 minio程序的目录 /opt/minio
下载 minio
wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio
编辑 run.sh 启动文件
[root@localhost /]# vim /opt/minio/run.sh
#!/bin/bash
export MINIO_ACCESS_KEY=xxxxx
export MINIO_SECRET_KEY=xxxxxx
/opt/minio/minio server \
http://192.168.233.10/minio/data/data1 http://192.168.233.11/minio/data/data1 \
http://192.168.233.12/minio/data/data1 http://192.168.233.13/minio/data/data1
编辑 服务启动脚本
[root@localhost minio]# 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
其中,“WorkingDirectory”为启动脚本目录,“ExecStart”为指定集群启动脚本
将下载好的minio文件赋予权限
[root@localhost minio]# chmod +x /opt/minio/minio
赋予启动脚本文件权限
[root@localhost minio]# chmod +x /opt/minio/run.sh
可以先关闭四台服务器的防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
依次启动每个服务器的minio
systemctl daemon-reload
systemctl start minio
systemctl status minio
#!/bin/bash
export MINIO_ACCESS_KEY=Xxyminio
export MINIO_SECRET_KEY=Test123456
/opt/minio/minio server \
#http://192.168.233.10/minio/data/data1 http://192.168.233.11/minio/data/data1 \
#http://192.168.233.12/minio/data/data1 http://192.168.233.13/minio/data/data1
#minio server http://192.168.233.{10...13}/minio/data/data{1...4} http://192.168.233.{14...17}/minio/data/data{1...4}
./minio server http://192.168.233.{10...13}/minio/data/file{1...1} http://192.168.233.{14...17}/minio/data/file{1...1}