一、实验背景

从基于云的备份解决方案到高可用性内容传送网络(CDN),对象存储已成为现代技术领域不可分割的一部分。 而且,由于其占地面积小,界面简单,与多个云存储服务兼容, Minio对象存储服务器具有很大的冲击力。

Minio是一种开源对象存储服务器,可将非结构化数据(如照片,视频,虚拟机映像,容器和日志文件)存储为对象。

在分布式模式下,Minio提供了一个单一的对象存储服务器,它可以跨多个服务器分布多个驱动器。

Minio由Go语言编写,附带命令行客户端和浏览器界面,并支持高级消息队列协议(AMQP) , 弹性搜索 , Redis , NATSPostgres目标的简单排队服务。

在本教程中,您将:

在CentOS7服务器上安装Minio服务器,并将其配置为systemd服务

使用“加密”设置SSL / TLS证书,以确保服务器和客户端之间的通信安全

通过HTTPS访问Minio的浏览器界面,以使用和管理服务器

 

二、实验环境

 

操作系统: CentOS7.5 Minmal

minioServer: 192.168.1.103

 

三、安装minioSever

 

1.创建minio安装相关目录

# mkdir /usr/local/minio

# mkdir /usr/local/minio/bin

# mkdir /usr/local/minio/etc

# mkdir /usr/local/minio/data

2. 创建minio运行用户

# groupadd -g 2019 minio

#  useradd -r -u 2019 -g 2019  -c "Minio User" -s /sbin/nologin minio

#  id  minio 

# cat /etc/passwd

3.下载minio的二进制文件

#  curl -O https://dl.minio.io/server/minio/release/linux-amd64/minio

# chmod  750   minio

# ./minio --help

# cp   minio  /usr/local/minio/bin

4. 创建minio配文件

#  vim /usr/local/minio/etc/minio.conf

##########################################################

MINIO_VOLUMES="/usr/local/minio/data"

MINIO_OPTS="-C /usr/local/minio/etc --address 192.168.1.103:9000"

##########################################################

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

######################################################################

[Unit]

Description=MinIO

Documentation=https://docs.min.io

Wants=network-online.target

After=network-online.target

AssertFileIsExecutable=/usr/local/minio/bin/minio

[Service]

# User and group

User=minio

Group=minio

EnvironmentFile=/usr/local/minio/etc/minio.conf

ExecStart=/usr/local/minio/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

########################################################################

5. 更改文件、目录属主属组

#   chown -R minio:minio /usr/local/minio

 

6.启动服务

#  systemctl daemon-reload

# systemctl enable minio.service

#  systemctl start  minio.service

#  systemctl status   minio.service

# ps aux | grep minio

# ss  -tan   |  grep 9000

 

7.设置防火墙,开发minio访问端口

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

# firewall-cmd --reload

 

8.访问minio

http://192.18.1.103:9000

获取AccessKey和SecretKey

#  ll /usr/local/minio/

# ll -R /usr/local/minio/

#  ll -R /usr/local/minio/data/

 

 

# cat /usr/local/minio/data/.minio.sys/config/config.json

#  cat /usr/local/minio/data/.minio.sys/config/config.json | head 20

"accessKey": "UQLPP1WIH28W806T9AY7"

"secretKey": "MMYyJkwNTDUVqBzn0TGsZkSL7entHsV5zcAOLAkq"

 

 

四、 配置minio的SSL/TLS

从上面可以看出,minio启动后会在 etc目录下生成证书文件目录,在data目录下生成隐藏文件夹,里面有登录相关配置

1.生成私钥和自签名证书

# yum  -y install openssl 

# openssl req -x509 -nodes \

-sha512  \

-newkey rsa:2048 \

-days 365 \

-subj "/C=CN/ST=Gunagdong/L=Shenzhen/O=Test/OU=Test/CN=www.example.com" \

-keyout private.key \

-out public.crt

查看证书内容

# cat /usr/local/minio/etc/certs/private.key

# cat /usr/local/minio/etc/certs/public.crt

# openssl x509 -noout -text -in /usr/local/minio/etc/certs/public.crt

 

 

 

2.拷贝证书到minio证书目录

# mv private.key /usr/local/minio/etc/certs

# mv public.crt /usr/local/minio/etc/certs

# find /usr/local/minio/etc/certs -type d -exec chmod 700 {} \;

# find /usr/local/minio/etc/certs -type f -exec chmod 400 {} \;

# chown -R minio:minio /usr/local/minio

 

3.重启minio服务

# systemctl restart minio.service

# systemctl status minio.service

访问 https://192.168.1.103:9000

 

五、测试minio文件存储

 

1.创建两个bucket

 

 

 

2.文件上传测试

3. 文件分享

 

 

4.查看后台文件目录状态

# ll  -R  /usr/local/minio

 

 

六、参考

 

如何在Ubuntu 16.04上使用Minio设置对象存储服务器

https://www.howtoing.com/how-to-set-up-an-object-storage-server-using-minio-on-ubuntu-16-04


How to Set Up an Object Storage Server Using Minio on Ubuntu 16.04

https://www.digitalocean.com/community/tutorials/how-to-set-up-an-object-storage-server-using-minio-on-ubuntu-16-04

 

Using https for minio server

https://stackoverflow.com/questions/50878454/using-https-for-minio-server

 

How to secure access to MinIO server with TLS

https://www.jianshu.com/p/e01ba7356704

https://docs.min.io/docs/how-to-secure-access-to-minio-server-with-tls

 

systemd 中文手册

http://www.jinbuguo.com/systemd/systemd.exec.html

 

How to non-interactively create selfsigned SSL key and certificate files with openssl?

https://www.jianshu.com/p/6de78dc23b9a

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐