【minio】CentOS7.x上对象存储服务minio单机的安装配置

一、实验背景

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

Minio是一种开源对象存储服务器,

Minio 是一个基于Apache License v2.0开源协议的对象存储服务,可将非结构化数据(如照片,视频,虚拟机映像,容器和日志文件)存储为对象。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,而一个对象文件可以是任意大小,从几KB到最大5T不等。

Minio是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

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

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

在本教程中,我们将学习:

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

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

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


二、实验环境


操作系统: CentOS7.5 Minmal

minioServer: 192.168.1.103


三、安装minioSever


1.创建minio安装相关目录,做数据盘挂载

# mkdir  /usr/local/minio

# mkfs.xfs  -f /dev/sdb

# mount  /dev/sdb  /usr/local/minio

# blkid /dev/sdb

# echo  "$(blkid /dev/sdb | awk '{print $2}') /usr/local/minio xfs defaults  0 0"  >>  /etc/fstab

# cat /etc/fstab

# mount  -a

# lsblk

# mkdir  /usr/local/minio/bin

# mkdir  /usr/local/minio/etc

# mkdir  /usr/local/minio/data

2. 创建minio运行用户

# groupadd  -g  2019  minio

#  useradd  -r  -M  -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

# ./minio  version

# 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  -n 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



关于minio自定义登录用户名密码

# /usr/local/minio/bin/minio server --help

# /usr/local/minio/bin/minio  --help


编辑配置文件,定义环境变量

MINIO_ACCESS_KEY:用户名,最少三个字符

MINIO_SECRET_KEY:密钥,最少八个字符


#  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"

MINIO_ACCESS_KEY="admin"

MINIO_SECRET_KEY="Admin@123"

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


# systemctl  daemon-reload

# systemctl  restart  minio.service

# systemctl status minio.service


浏览器访问:https://192.168.1.103:9000

六、minio的卸载

# systemctl  stop  minio.service

# rm  -rf  /usr/local/minio

# rm -rf  /etc/systemd/system/minio.service

# systemctl  daemon-reload


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

# firewall-cmd --reload


七、参考


如何在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


存储非结构化数据之利器minio

https://blog.51cto.com/jiayimeng/2378552


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


Minio Server config.json (v18) 指南

https://blog.csdn.net/dingjs520/article/details/79111029

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,271评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,725评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,252评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,634评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,549评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,985评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,471评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,128评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,257评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,233评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,235评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,940评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,528评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,623评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,858评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,245评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,790评论 2 339

推荐阅读更多精彩内容