linux 编译启动minio

95 阅读2分钟

最近工作接触到了第三方对象存储,看到minio开源对象存储颇受欢迎,因此下来源码进行部署和研究。

源码编译

minio的源码地址:github.com/minio/minio
我这里下载的是 RELEASE.2024-01-01T16-36-33Z 的tag代码,没有选用最新代码的原因有两个:

  1. 不需要太高版本的go。
  2. 使用较为稳定的代码分支,功能较为稳定。

编译:

cd minio
go mod tidy
go build ./

至此minio可执行文件就编译好了,环境上只要配置好了go,源码编译起来还是很简单的。

部署启动

minio 分为单机和分布式模式,再结合不同的配置方式(主要是命令行参数/环境变量)来启动 单机启动非常简单

mkdir /home/minio-data  # 创建一个存储minio对象的本地目录
./minio server ./minio-data #就这么简单启动

image.png 从启动后的日志打印上看,使用了默认的ak和sk,当然也可以通过配置环境变量配置, 以及通过配置对象存储和管理界面的端口:

export MINIO_ROOT_USER=minio
export MINIO_ROOT_PASSWORD=pass12345
./minio server ./minio-data --address ":9000" --console-address ":9001"

image.png 然后通过9001就能登陆管理界面,当然也可以直接使用s3客户端直接访问对象存储,至此其实就能快乐的使用minio对象存储了。

image.png 当然要研究minio的核心功能,如EC纠删码,数据分片,数据heal功能,就不能使用单盘模式,下面介绍多盘模式的启动

mkdir /disk2/minio-data
for i in {1..4}; do mkdir /disk2/minio-data/vol$i;done
./minio server /disk2/minio-data/vol{1..4} --address ":9000" --console-address ":9001"

image.png 这样一组最简单的多盘模式就启动了,作为开发模式研究minio的核心功能是够了的。
接下来开始研究minio的核心功能。