云网牛站
所在位置:首页 > Linux云服务器 > 在Linux下安装Minio并使用它设置S3兼容对象存储服务器

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

2019-01-30 09:48:10作者:梁叹稿源:云网牛站

你是否有使用Minio设置S3兼容私有对象存储服务器的需求,可以使用Minio,它是一个与Amazon S3云存储服务兼容的轻量级对象存储服务器,它是用Go编写的,并在Apache License v2.0下获得许可。对象存储最适合存储非结构化数据,如视频、照片、日志文件、容器映像、VM映像和备份,对象的每个大小可以从几KB到最大5TB。下面我们先在Linux下安装Minio Object Storage Server,Minio对象存储服务器可以从二进制文件安装,也可以在容器中运行,我不会进行容器安装,因为它不是设置存储服务器的理想方式。

 

第1步:下载Minio

下载Minio二进制文件:

wget https://dl.minio.io/server/minio/release/linux-amd64/minio

chmod +x minio

sudo mv minio /usr/local/bin/

可以使用版本选项查询包详细信息:

$ minio  version

Version: 2019-01-23T23:18:58Z

Release-Tag: RELEASE.2019-01-23T23-18-58Z

Commit-ID: bd25f31100f44646cffae99dfec23179366593e2

 

第2步:准备对象存储磁盘

下载Minio后,让我们准备一个我们用来存储对象的块设备,使用的路径只能是文件系统根目录中的目录。

为了方便和可靠,我在服务器中使用辅助磁盘:

# lsblk  | grep sdb

sdb      8:16   0    10G  0 disk

我将创建一个新分区并将此磁盘挂载到/data目录:

sudo parted -s -a optimal -- /dev/sdb mklabel gpt

sudo parted -s -a optimal -- /dev/sdb mkpart primary 0% 100%

sudo parted -s -- /dev/sdb align-check optimal 1

sudo mkfs.ext4 /dev/sdb1

echo "/dev/sdb1 /data ext4 defaults 0 0" | sudo tee -a /etc/fstab

sudo mkdir /data

sudo mount -a

确认磁盘安装:

$ df -h | grep /data

/dev/sdb1       9.8G   37M  9.3G   1% /data

 

第3步:启动Minio服务

有三种启动Minio Server的选项:从命令行交互式会话、使用Systemd、使用Sysvinit/Upstart。

1、使用systemd管理Minio服务

对于使用systemd init系统运行系统的人,请创建用于运行Minio服务的用户和组:

sudo groupadd --system minio

sudo useradd -s /sbin/nologin --system -g minio minio

为/data目录提供minio用户所有权:

sudo chown -R minio:minio /data/

为Minio创建systemd服务单元文件:

sudo vim /etc/systemd/system/minio.service

将以下内容添加到文件中:

[Unit]

Description=Minio

Documentation=https://docs.minio.io

Wants=network-online.target

After=network-online.target

AssertFileIsExecutable=/usr/local/bin/minio

[Service]

WorkingDirectory=/data

User=minio

Group=minio

EnvironmentFile=-/etc/default/minio

ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"

ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always

Restart=always

# Specifies the maximum file descriptor number that can be opened by this process

LimitNOFILE=65536

# Disable timeout logic and wait until process is stopped

TimeoutStopSec=infinity

SendSIGKILL=no

[Install]

WantedBy=multi-user.target

创建Minio环境文件/etc/default/minio:

sudo mkdir -p /etc/default/

cat <<EOF | sudo tee /etc/default/minio

# Volume to be used for Minio server.

MINIO_VOLUMES="/data"

# Use if you want to run Minio on a custom port.

MINIO_OPTS="--address :9000"

# Access Key of the server.

MINIO_ACCESS_KEY=BKIKJAA5BMMU2RHO6IBB

# Secret key of the server.

MINIO_SECRET_KEY=V7f1CwQqAcwo80UEIJEjQ9GSrr12

EOF

MINIO_ACCESS_KEY:长度至少为3个字符的访问密钥。

MINIO_SECRET_KEY:最少8个字符的密钥。

重新加载systemd并启动minio服务:

sudo systemctl daemon-reload

sudo systemctl start minio

状态检查应显示正在运行,如下图:

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

你还可以将服务设置为在启动时启动:

sudo systemctl enable minio

 

第4步:配置防火墙

如果你有活动的防火墙服务,请允许端口9000。

对于UFW,请使用:

sudo ufw allow 9000

对于firewalld,使用:

sudo firewall-cmd --zone=public --add-port=9000/tcp --permanent

sudo firewall-cmd --reload

参考:在Ubuntu 18.04系统中使用UFW设置防火墙

 

第5步:访问Minio Web界面

现在我们已经安装了Minio,启动了服务并配置了防火墙,我们可以访问Web仪表板URL完成登录并创建第一个测试存储。

从浏览器访问URL,如:http://[serverip|localhost]:9000,然后使用配置的Access和Secret密钥登录:

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

在记录时,你应该访问一个类似于下面的对象Web界面:

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

可以通过单击右下角的“+”按钮从UI创建测试存储:

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

提供存储名称并按回车键:

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

 

第6步:使用mc客户端测试Minio

mc提供了UNIX命令的现代替代方案,如ls、cat、cp、mirror、diff等,将mc下载到Linux:

wget https://dl.minio.io/client/mc/release/linux-amd64/mc

chmod +x mc

sudo mv mc /usr/local/bin

mc --help

设置自动完成:

sudo wget https://raw.githubusercontent.com/minio/mc/master/autocomplete/bash_autocomplete

sudo mv bash_autocomplete /etc/bash_completion.d/mc

source /etc/bash_completion.d/mc

并享受标签完成功能:

$ mc <TAB>

为Minio配置mc:

mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY> <API-SIGNATURE>

比如:

mc config host add minio http://10.0.2.15 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjQ9GSrr12 --api S3v4

样例输出如下图:

在Linux下安装Minio并使用它设置S3兼容对象存储服务器

至此,测试Minio成功。

 

相关主题

Ubuntu 18.04服务器中采用GlusterFS来设置高可用性存储

精选文章
热门文章