Minio分布式对象存储部署!
miniominio概述minio部署环境准备命令行工具使用minio概述minio 是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM映像。对象的大小可以从几KB到 最大5TB。MinIO与传统的存储和其他的对象存储不同的是:它一开始就针对性能
·
minio概述
- minio 是一款高性能、分布式的对象存储系统. 它是一款软件产品, 可以100%的运行在标准硬件。即X86等低成本机器也能够很好的运行MinIO。它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM映像。对象的大小可以从几KB到 最大5TB。
- MinIO与传统的存储和其他的对象存储不同的是:它一开始就针对性能要求更高的私有云标准进行软件架构设计。因为MinIO一开始就只为对象存储而设计。所以他采用了更易用的方式进行设计,它能实现对象存储所需要的全部功能,在性能上也更加强劲,它不会为了更多的业务功能而妥协,失去MinIO的 易用性、高效性。这样的结果所带来的好处是:它能够更简单的实现局有弹性伸缩能力的原生对象存储服务。MinIO在传统对象存储用例(例如辅助存储,灾难恢复和归档)方面表现出色。同时,它在机器学习、大数据、私有云、混合云等方面的存储技术上也独树一帜。当然,也不排除数据分析、高性能应用负载、原生云的支持。在中国:阿里巴巴、腾讯、百度、中国联通、华为、中国移动等等9000多家企业也都在使用MinIO产品
minio部署
设备准备:
主机名 IP地址 系统 内存 硬盘
minio01 192.168.118.44 Centos7 8G 三块硬盘
minio02 192.168.118.66 Centos7 8G 三块硬盘
环境准备
- 两台设备一起设置
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
echo "nameserver 114.114.114.114" > /etc/resolv.conf
ntpdate ntp1.aliyun.com
- 数据盘准备,同样两台设备同时配置,这里只显示minio1
[root@minio01 ~]# fdisk /dev/sdb
命令(输入 m 获取帮助):n
##创建新的分区、按n键
分区号 (1-128,默认 1):
##回车键
第一个扇区 (34-2147483614,默认 2048):
##回车键
Last sector, +sectors or +size{K,M,G,T,P} (2048-2147483614,默认 2147483614):
##回车键
已创建分区 1 w
##保存
[root@minio01 ~]# fdisk /dev/sdc
命令(输入 m 获取帮助):n
##创建新的分区、按n键
分区号 (1-128,默认 1):
##回车键
第一个扇区 (34-2147483614,默认 2048):
##回车键
Last sector, +sectors or +size{K,M,G,T,P} (2048-2147483614,默认 2147483614):
##回车键 已创建分区 1
w
##保存
[root@minio01 ~]# mkfs.xfs /dev/sdb1
##分区以xfs格式化
[root@minio01 ~]# mkfs.xfs /dev/sdc1
##分区以xfs格式化
[root@minio01 ~]# mkdir -p /export/data/minio/{data1,data2} ##创建data1,data2目录 [root@minio01 ~]# mount /dev/sdb1 /export/data/minio/data1 ##临时挂载
[root@minio01 ~]# mount /dev/sdc1 /export/data/minio/data2 ##临时挂载
[root@minio01 ~]# df -Th ##查看挂载情况
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdc1 xfs 1.0T 33M 1.0T 1% /export/data/minio/data1 /
dev/sdb1 xfs 1.0T 33M 1.0T 1% /export/data/minio/data2
[root@minio01 ~]# vi /etc/fstab ##配置永久挂载
/dev/sdb1 /export/data/minio/data1 xfs defaults 0 0
/dev/sdc1 /export/data/minio/data2 xfs defaults 0 0
[root@minio01 ~]# mkdir -p /export/logs/minio/
[root@minio01 ~]# mkdir -p /export/servers/minio/{bin,etc}
- 设置集群启动脚本,依然两台设备一起配置(下面显示minio1)
[root@minio01 ~]# cd /export/servers/minio/bin
[root@minio01 bin]# wget http://dl.minio.org.cn/server/minio/release/linux-amd64/minio #下载minio文件
[root@minio01 bin]# vim /export/servers/minio/bin/minio_start.sh
#!/bin/bashminio_server1=192.168.118.44minio_server2=192.168.118.66
export MINIO_ACCESS_KEY=Minio
export MINIO_SECRET_KEY=Test123456
nohup /export/servers/minio/bin/minio server --config-dir /export/servers/minio/etc \
http://$minio_server1/minio/data1 http://$minio_server1/minio/data2 \
http://$minio_server2/minio/data1 http://$minio_server2/minio/data2 >/export/logs/minio/minio.log 2>&1 &
##“MINIO_ACCESS_KEY”为用户名,“MINIO_SECRET_KEY”为密码,密码不能设置过于简单,不然minio会启动失败,“–config-dir”指定集群配置文件目录
##修改属主,赋权
[root@minio01 bin]# chmod 755 /export/servers/minio/bin/*
[root@minio01 bin]# useradd appUser
[root@minio01 bin]# chown -R appUser.appUser /export/servers/minio/
[root@minio01 bin]# chown -R appUser.appUser /export/logs/minio/
[root@minio01 bin]# chown -R appUser.appUser /export/data/minio/
##脚本启动
[root@minio01 bin]# /export/servers/minio/bin/minio_start.sh
##出现什么问题可以通过查看/export/logs/minio/minio.log文件来定位。
[root@minio01 bin]# netstat -antp | grep minio
tcp 0 0 192.168.118.44:47000 192.168.118.66:9000 ESTABLISHED 20626/minio
tcp 0 0 192.168.118.44:46998 192.168.118.66:9000 ESTABLISHED 20626/minio
tcp6 0 0 :::9000 :::* LISTEN 20626/minio
tcp6 0 0 :::33619 :::* LISTEN 20626/minio
tcp6 0 0 192.168.118.44:9000 192.168.118.66:43498 ESTABLISHED 20626/minio
tcp6 0 0 192.168.118.44:9000 192.168.118.66:43496 ESTABLISHED 20626/minio
- 浏览器访问192.168.118.44:9000
- 上传文件测试
命令行工具使用
- 客户端配置(这里直接在minio1节点配置)
[root@minio01 bin]# pwd
/export/servers/minio/bin
[root@minio01 bin]# wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
[root@minio01 bin]# ln -s /export/servers/minio/bin/* /usr/local/sbin
- 基本命令
ls 列出文件和文件夹
mb 创建一个存储桶或一个文件夹
cat 显示文件和对象内容 123
pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT
share 生成用于共享的URL
cp 拷贝文件和对象
mirror 给存储桶和文件夹做镜像
find 基于参数查找文件
diff 对二个文件夹或者存储桶比较差异
rm 删除文件和对象
events 管理访问策略
watch 监视文件和对象的事件
policy 管理访问策略
config 管咯mc配置文件
update 检查软件更新
version 输出版本信息
##添加minio服务
[root@minio01 bin]# mc config host add myminio http://192.168.118.44:9000 Minio Test123456
mc: Configuration written to `/root/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/root/.mc/share`.
mc: Initialized share uploads `/root/.mc/share/uploads.json` file.
mc: Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `myminio` successfully.
##查询mc host配置
[root@minio01 bin]# mc config host ls
gcs
URL : https://storage.googleapis.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v2
Path : dns
local
URL : http://localhost:9000
AccessKey :
SecretKey :
API :
Path : auto
myminio
URL : http://192.168.118.44:9000
AccessKey : Minio
SecretKey : Test123456
API : s3v4
Path : auto
play
URL : https://play.min.io
AccessKey : Q3AM3UQ867SPQQA43P2F
SecretKey : zuf+tfteSlswRu7BJ86wekitnifILbZam1KYY3TG
API : S3v4
Path : auto
s3
URL : https://s3.amazonaws.com
AccessKey : YOUR-ACCESS-KEY-HERE
SecretKey : YOUR-SECRET-KEY-HERE
API : S3v4
Path : dns
##查看主机令牌桶里面的文件--myminio/myminio 第一个myminio是主机 第二个是令牌桶
[root@minio01 bin]# mc ls myminio/whd
[2021-09-29 17:34:19 CST] 45KiB QQ图片20210720181404.jpg
##上传测试文件到令牌桶里
[root@minio01 bin]# touch test
[root@minio01 bin]# mc cp test myminio/whd
test: 0 B / ? ┃░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
[root@minio01 bin]# mc ls myminio/whd
[2021-09-29 17:34:19 CST] 45KiB QQ图片20210720181404.jpg
[2021-09-29 17:50:18 CST] 0B test
##删除令牌桶中的文件
[root@minio01 bin]# mc rm myminio/whd/test
Removing `myminio/whd/test`.
[root@minio01 bin]# mc ls myminio/whd
[2021-09-29 17:34:19 CST] 45KiB QQ图片20210720181404.jpg
##创建一个令牌桶
[root@minio01 bin]# mc mb myminio/aaa
Bucket created successfully `myminio/aaa`.
##设置令牌桶权限
[root@minio01 bin]# mc policy set public myminio/aaa
Access permission for `myminio/aaa` is set to `public`
更多推荐
已为社区贡献2条内容
所有评论(0)