搭建新集群前准备工作
准备4台虚拟机,ip分别为 10.91.129.42 | 10.91.129.56 | 10.91.129.60 | 10.91.129.61 分别为4台机器挂载磁盘,minio集群必须使用干净的磁盘,否则启动的时候会一直尝试格式化磁盘,从而启动失败. 用lsblk命令查看磁盘情况:
vdb就是新挂载的磁盘.
2,分别给4个磁盘设置分区,minio建议只设置一个分区,因为一般磁盘坏了,所有分区数据都丢了 开始创建分区,命令fdisk /dev/vdb
再次查看,vdb1就是新建的分区
这里你会发现新的分区只有2T,原因是使用fdisk分区只能挂载上2TB的容量;针对这个情况引入parted对大于2TB的硬盘进行分区
磁盘分区
1.修改分区表格式
默认msdos,由于msdos不支持2TB以上容量的磁盘,所以大于2TB的磁盘选gpt分区表格式
parted /dev/vdb
(parted) mkpart primary 0% 100%
(parted) mklabel gpt (格式化)
再次查看已经是20T了
目录挂载并设置开机自动挂载
mount /dev/vdb1 /minio
echo "/dev/vdb1 /minio ext4 defaults 0 1" >> /etc/fstab
minio搭建
下载minio二进制安装文件到/minio下
wget https://dl.min.io/server/minio/release/linux-amd64/minio
赋予可执行权限 chmod +x minio
分别在4台服务器的/minio目录创建data目录,最后运行脚本
#!/bin/bash
export MINIO_ACCESS_KEY=root
export MINIO_SECRET_KEY=密码
nohup /minio/minio server --address ":9000" --console-address ":50000" \
http://10.91.129.42/minio/data \
http://10.91.129.56/minio/data \
http://10.91.129.60/minio/data \
http://10.91.129.61/minio/data > /minio/minio.log 2>&1 &
启动完成可以查看日志 tail -f /minio/minio.log
配置nginx负载均衡
配置minio开机自启
cd /etc/rc.d/init.d
vim startMinio.sh
编辑内容
#!/bin/bash
export MINIO_ACCESS_KEY=root
export MINIO_SECRET_KEY=密码
nohup /minio/minio server --address ":9000" --console-address ":50000" \
http://10.91.129.42/minio/data \
http://10.91.129.56/minio/data \
http://10.91.129.60/minio/data \
http://10.91.129.61/minio/data > /minio/minio.log 2>&1 &
保存
chmod +x startMinio.sh
chkconfig --add startMinio.sh
chkconfig startMinio.sh on
chkconfig --list
数据迁移
下载mc客户端
wget https://dl.min.io/client/mc/release/linux-amd64/mc
赋予可执行权限 chmod +x mc
./mc --help 测试安装成功
./mc alias set old http://10.91.129.63:9000
./mc alias set new http://10.91.129.60:9000
添加客户端,需要输入用户名密码,old和new是取的别名
./mc admin info new
把old的bucket为test的数据迁移到new的test
./mc mirror --watch old/test new/test