Minio 安装、配置、使用

2021/03/13

minio 安装、配置、使用总结

参考资料

前提条件

  1. 已经安装CentOS7+。
  2. 采用分布式部署时,各节点时间差不能大于3秒,建议部署NTP做时间同步。
  3. 搭建nginx做高可用

环境要求

| 环境 | 推荐 | 注意事项 | | —- | ————– | ———————– | | 操作系统 | CentOS7 x86_64 | 需要安装x86_64位版本 | | CPU | 2核2.0GHz+ | 无 | | 内存 | 8G+ | 8G以上可使用内存缓存,8G内存以下性能会差些 | | 节点数 | 4-16 | 建议各节点硬盘大小一致 |

一、安装

使用分布式模式安装

1.下载minio.zip,解压到/opt/minio目录下

2.运行脚本给minio设置运行权限

chmod +x minio

3.在各个节点上添加脚本minio-dist.sh

export MINIO_ACCESS_KEY=minio_user
export MINIO_SECRET_KEY=1qaz@WSX
export _MINIO_CACHE=off
./minio server http://ip1:port/data/miniodata http://ip2:port/data/miniodata http://ip3:port/data/miniodata http://ip4:port/data/miniodata

注意:

  • MINIO_ACCESS_KEYMINIO_SECRET_KEY是存储的秘钥,MINIO_ACCESS_KEY相当于用户名,MINIO_SECRET_KEY相当于密码,请按各地安全需求设置。
  • 所有的节点需要有同样的MINIO_ACCESS_KEYMINIO_SECRET_KEY
  • _MINIO_CACHE表示是否开启内存缓存
  • ./minio server后跟的是各个节点的存储信息,前面是服务器的IP端口,/data/miniodata是文件在服务器的存放路径。
  • 指定的文件存放路径文件夹必须是干净的,里面不能有数据。
  • 分布式存储服务里的节点时间差不能超过3秒,你可以使用NTP 来保证时间一致。
  • 如果不指定端口的话,默认使用端口号9000。

安装nginx做高可用

本章节仅针对存储如何配置nginx给出示例

1.安装nginx
2.改nginx/conf/nginx.conf文件

server {
 listen 80;
 server_name localhost;
 location / {
       proxy_pass http://minio/;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_pass http://minio;
  }
}
upstream minio {
    server ip1:9000;
	server ip2:9000;
	server ip3:9000;
	server ip4:9000;
}

注意:

  • server节点和upstream节点都在http节点下。
  • nginx代理存储服务必须在根节点,即location /。
  • 将ip1到ip4修改为真实的IP,如果超过4个服务,按示例增加即可。
  • 在http节点下增加client_max_body_size 1000m;,默认值1m太小了。
  • 示例中的proxy_set_header必须有。
  • 在http节点下设置access_log,详细信息可参考这里
      log_format  log_minio  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                        '"$http_user_agent" "$http_x_forwarded_for"';
      access_log /var/log/nginx/access_minio.log;
    

二、启动

直接启动
./minio server /data/minodata
nohup ./minio server /data/minodata &

不能登录:
find / -name minio
cd /root/.minio/
vi config.json //检查,修改对应key

三、运维

存储桶管理

管理员在实施成功后通过nginx的域名进行访问,确保服务正常。如果服务正常,通过浏览器(chrome或者IE11)访问,输入accessKey和secretKey登录,点击右下角按钮create bucket.

  1. bucket(存储桶)由管理员统一创建,业务系统不得增加或者删除bucket.
  2. 为避免bucket冲突,影响后续可能出现的迁移合并,建议bucket命名规范统一

关于什么是存储桶,请参考S3存储桶

保证客户端与服务端时间一致

存储服务的各个节点时间差不能大于3秒
客户端与服务端的时间差不能大于15分钟

mc客户端进阶

运维人员可以下载minio client进行维护。

注意事项

  1. 不支持动态增加节点,初始时是几个节点就是几个节点,不支持动态增减,通过新建集群扩容。
  2. 安装时指定的目录必须是空目录。

四、组件集成api使用

问题记录

Post Directory

扫码关注公众号:暂无公众号
发送 290992
即可立即永久解锁本站全部文章