1,目的
用虚拟机创建一个4节点的集群,每个节点挂载两块用于数据存储的磁盘,并且通过域名的方式访问集群的console。
2,创建虚拟主机
用VirtualBox创建4台Debian 11的主机,CPU 1核 / 内存 1GB / 硬盘 8GB + 4GB*2。虚拟硬盘具体像下面这个样子。
minionode1_1这种虚拟硬盘没有装操作系统,是用来做数据存储的磁盘。
3,配置虚拟机
虚拟主机默认采用NAT的方式连接网络,访问互联网是没有问题。为了虚拟机之间可以互相访问,也为了宿主机可以访问虚拟机,每台虚拟机需要添加第二块网卡,采用桥接方式连接。具体如下图。
添加好网卡以后,在系统里面配置IP地址,虚拟机的IP地址要和宿主机的IP地址在同一个网段。具体要修改的文件如下图。
在interfaces文件中添加固定IP,具体如下:
我的四台机器是用的171~174的地址。
4,挂载存储盘
常规操作就不做过多描述,主要就下面几步。另外,配置完成后要重启虚拟机检查磁盘是否正确挂载到指定的路径下。
a. 用fdisk -l查看磁盘情况
b. 用fdisk创建磁盘分区
c. 用mkfs -t格式化分区,建议采用ext4格式
d. 用blkid参看磁盘的UUID
e. 在根路径(/)下创建export1和export2两个文件夹
f. 在/etc/fstab文件中追加配置,识系统启动时可以自动将磁盘挂载到export1和export2文件夹下
5,安装MinIO
a. 在/opt文件夹下创建一个新文件夹minio
b. 在/opt/minio路径下分别执行下面两行命令
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
c. 编辑启动脚本start.sh,具体如下。MINIO_DOMAIN用于配置域的名称。
export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=minioadmin
export MINIO_DOMAIN=mydomain.com
nohup ./minio server http://192.168.50.171/export1 http://192.168.50.171/export2 http://192.168.50.172/export1 http://192.168.50.172/export2 http://192.168.50.173/export1 http://192.168.50.173/export2 http://192.168.50.174/export1 http://192.168.50.174/export2 --console-address ":9001"> /home/minio/node1.log 2>&1 &#
6,配置windows hosts文件
a. 向hosts文件中添加下列内容
192.168.50.171 mydomain.com
192.168.50.172 mydomain.com
192.168.50.173 mydomain.com
192.168.50.174 mydomain.com
b. 在控制台执行ipconfig /displaydns命令,使hosts配置生效。
6, 结尾
上述3~5步骤,需要在每台虚拟机上做一遍。配置完成后,在每台虚拟机上都执行start.sh脚本。在浏览器上通过mydomain.com:9001访问console。经实测,即使关闭了console登录的那台服务器,也依然可以操作。前端我不太懂,同事的解释说是token是分布式的,所以挂的那台节点正好是你登录console的服务,也不需要重新登录,就可以直接迁移到其他节点进行操作。完成后,大概效果如下图。