I’ve been experimenting with Minio, which is a rather nifty S3 storage server; specifically I wanted to user a few minio servers in HA/cluster and erasure across them all. To do this requires 4-16 servers all running minio, as this is a test I decided to use Scaleway who provide hardware cloud computing for a very reasonable price. Unfortunately, the issue I faced is I wanted to have 2 servers located in France and 2 servers in Amsterdam; albeit they didn’t have 2 x64 servers available in Amsterdam, only ARM and minio doesn’t have a pre-compiled binary for ARM…..

So begins a source compile….

Install the build environment

apt install build-essential

Down the pre-compiled go build environment

axel -a -n12 https://redirector.gvt1.com/edgedl/go/go1.9.2.linux-arm64.tar.gz

Extract

tar zxvf go1.9.2.linux-armv6l.tar.gz

Setup the environment

export GOROOT=${HOME}/go
export GOPATH=${HOME}/work
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
source ~/.bashrc

Run a couple of checks to make sure the go environment is loaded

go env
go version

“go get” minio

go get -u github.com/minio/minio

Minio binary is then built into /root/work/bin

root@minio2-amsterdam:~/work/bin# pwd
/root/work/bin
root@minio2-amsterdam:~/work/bin# ls
minio

Symbolicly link for ease

root@minio2-amsterdam:~# cd ~; ln -s /root/work/bin/minio

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.