由于项目中用到对象存储服务,经综合对比,采用minio搭建,测试环境搭建过程如下:
vmvare安装2台centos虚拟机:
A:192.168.52.101
B:192.168.52.102
由于minio最少需要4个节点,因此每台服务器分别挂载2块磁盘。
先通过vmvare工具,分别在两台服务器上增加磁盘。
加完磁盘不需要重启linux,使用以下命令刷新总线:
1. fdisk -l查看硬盘及分区状态
2. 查看主机总线号,命令:ls /sys/class/scsi_host/
3. 重新扫描SCSI总线,以添加新设备:
echo "- - -">/sys/class/scsi_host/host0/scan
echo "- - -">/sys/class/scsi_host/host1/scan
echo "- - -">/sys/class/scsi_host/host2/scan
4. 再执行fdisk -l,就可以看到新加的硬盘
磁盘加好,要做分区及格式化,否则挂载数据目录时会报错:
mount: /dev/sdb1 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
分区及格式化方法:
分区命令:
1. fdisk /dev/sdc
2. Command (m for help): n
3. 4个回车
4. Command (m for help): w
The partition table has been altered!
用fdisk -l命令看下,已经多了一个 sdc1分区,对分区格式化:
格式化命令:
mkfs.ext4 /dev/sdc1
4个磁盘用同样的命令去做分区和格式化,此时磁盘就能使用了。
要分别在两个服务器上创建data0,data1数据存储目录。然后每个数据目录去挂载刚刚分配的新磁盘。挂载命令:
mount /dev/sdc1 /data0
2台服务器,4个目录都用同样的命令去操作,这样4个分布式节点就准备好了,分别是:
192.168.52.101/data0 192.168.52.101/data1
192.168.52.102/data0 192.168.52.102/data1
下载地址:https://dl.min.io/server/minio/release/linux-amd64/minio
放在/opt/minio目录下
先设置执行权限
chmod +x minio
设置minio密码:
export MINIO_ACCESS_KEY=minio_access
export MINIO_SECRET_KEY=minio_secret
启动minio服务
./minio server http://192.168.52.101/data0 http://192.168.52.101/data1 http://192.168.52.102/data0 http://192.168.52.102/data1
此时会报以下日志信息:
Waiting for a minimum of 2 disks to come online (elapsed 5s)
没关系,去启动另一台服务器节点,全部都启动成功了,就ok了。
出现以下界面,说明启动成功了:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ You are running an older version of MinIO released 1 week ago ┃
┃ Update: Run `mc admin update` ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
Waiting for all MinIO sub-systems to be initialized.. lock acquired
All MinIO sub-systems initialized successfully
Status: 4 Online, 0 Offline.
Endpoint: http://192.168.52.101:9000 http://127.0.0.1:9000
AccessKey: minio_access
SecretKey: minio_secret
Browser Access:
http://192.168.52.101:9000 http://127.0.0.1:9000
Command-line Access: https://docs.min.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://192.168.52.101:9000 minio_access minio_secret
Object API (Amazon S3 compatible):
Go: https://docs.min.io/docs/golang-client-quickstart-guide
Java: https://docs.min.io/docs/java-client-quickstart-guide
Python: https://docs.min.io/docs/python-client-quickstart-guide
JavaScript: https://docs.min.io/docs/javascript-client-quickstart-guide
.NET: https://docs.min.io/docs/dotnet-client-quickstart-guide
浏览器输入:http://192.168.52.101:9000进入管理界面。