一、MInIO介绍
1、MinIO是什么?
MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。
MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。
2、MinIO的优势
常见的云存储例如:七牛云,阿里云等。缺点是要钱
私有的存储系统:fastdfs(安装部署超级蛋疼,要安装hadoop那一套,且没有界面...)、mongodb自带的GridFS(在使用上也有诸多不利),所以对照MinIO优点如下:
1)开发文档全面
MinIO作为一款基于Golang 编程语言开发的一款高性能的分布式式存储方案的开源项目,有十分完善的官方文档。
2)高性能
MinIO号称是目前速度最快的对象存储服务器。在标准硬件上,对象存储的读/写速度最高可以高达183 GB/s和171 GB/s。对象存储可以作为主存储层,用来处理Spark、Presto、TensorFlow、H2O.ai等各种复杂工作负载以及成为Hadoop HDFS的替代品。
MinIO用作云原生应用程序的主要存储,和传统对象存储相比,云原生应用程序需要更高的吞吐量和更低的延迟。而这些都是MinIO能够达成的性能指标。
3)SDK支持全面
目前MinIO支持市面主流的开发语言并且可以通过SDK快速集成快速集成使用。
MinIO Client (mc) 命令
ls 列出文件和文件夹。
mb 创建一个存储桶或一个文件夹。
cat 显示文件和对象内容。
pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。
share 生成用于共享的URL。
cp 拷贝文件和对象。
mirror 给存储桶和文件夹做镜像。
find 基于参数查找文件。
diff 对两个文件夹或者存储桶比较差异。
rm 删除文件和对象。
events 管理对象通知。
watch 监听文件和对象的事件。
policy 管理访问策略。
session 为cp命令管理保存的会话。
config 管理mc配置文件。
update 检查软件更新。
version 输出版本信息。
二、需求
- 创建了两个 新桶
base-sc-sde-lob-doc
和base-sc-sde-lob-hp
- a、把 旧桶
base-dev-sde-lob-doc
的数据迁移到 新桶base-sc-sde-lob-doc
里 - b、把 旧桶
base-dev-sde-lob-hp
的数据迁移到 新桶base-sc-sde-lob-hp
里
[root@hicor-test-2 minio]# ll
total 131468
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data1
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data2
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data3
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data4
-rwxrwxr-x 1 minio minio 25366528 Nov 8 2022 mc
-rwxr-xr-x 1 minio minio 102563840 Dec 2 2022 minio
-rw------- 1 minio minio 6668662 Apr 9 17:44 nohup.out
[root@hicor-test-2 minio]# du -sh *
4.6G data1
4.6G data2
4.6G data3
4.6G data4
25M mc
98M minio
6.4M nohup.out
You have mail in /var/spool/mail/root
[root@hicor-test-2 minio]# ll data1/
total 1736
drwxrwxr-x 11821 minio minio 385024 May 10 00:01 base-dev-sde-lob-doc
drwxrwxr-x 593 minio minio 20480 May 9 15:56 base-dev-sde-lob-hp
drwxrwxr-x 11820 minio minio 385024 May 9 18:10 base-sc-sde-lob-doc
drwxrwxr-x 593 minio minio 20480 May 9 17:53 base-sc-sde-lob-hp
drwxrwxr-x 11810 minio minio 385024 May 10 09:21 base-test-sde-lob-doc
drwxrwxr-x 593 minio minio 20480 May 10 09:08 base-test-sde-lob-hp
drwxrwxr-x 195 minio minio 8192 May 8 23:59 bms-fee
drwxrwxr-x 3 minio minio 18 Jan 4 14:41 cbh1
drwxrwxr-x 3 minio minio 25 Nov 18 2022 cim-file
drwxrwxr-x 4 minio minio 37 Jan 11 15:35 cpoe-file
drwxrwxr-x 2 minio minio 6 Mar 21 2023 print-template
drwxrwxr-x 3 minio minio 16 Apr 11 2023 qms
drwxrwxr-x 5 minio minio 53 Aug 26 2022 sde-lob-store
drwxrwxr-x 4 minio minio 43 Sep 15 2022 sde-lob-store-recycle
drwxrwxr-x 5 minio minio 54 Nov 7 2022 test-20221107
drwxrwxr-x 22 minio minio 326 May 10 07:47 tests3
drwxrwxr-x 3 minio minio 16 Nov 16 10:47 tests4
drwxrwxr-x 4 minio minio 26 Mar 11 11:33 tests5
drwxrwxr-x 5 minio minio 75 May 10 08:07 user-file
drwxrwxr-x 4 minio minio 30 Jan 2 18:40 userfiles
drwxrwxr-x 50 minio minio 4096 Apr 15 19:44 xzrm-dev-sde-lob-doc
drwxrwxr-x 4 minio minio 54 Apr 19 13:38 xzrm-dev-sde-lob-hp
drwxrwxr-x 189 minio minio 8192 May 9 16:12 xzrm-test-sde-lob-doc
drwxrwxr-x 6 minio minio 102 Apr 29 15:57 xzrm-test-sde-lob-hp
[root@hicor-test-2 minio]#
三、设置别名
语法:mc alias set 名称 服务地址 用户名 密码
[root@hicor-test-2 minio]# pwd
/home/minio
[root@hicor-test-2 minio]# ll
total 131468
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data1
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data2
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data3
drwxrwxr-x 27 minio minio 4096 May 9 17:15 data4
-rwxrwxr-x 1 minio minio 25366528 Nov 8 2022 mc
-rwxr-xr-x 1 minio minio 102563840 Dec 2 2022 minio
-rw------- 1 minio minio 6668662 Apr 9 17:44 nohup.out
[root@hicor-test-2 minio]# ./mc alias set myminio http://192.168.20.44:9000 admin minioadmin
Added `myminio` successfully.
[root@hicor-test-2 minio]# ./mc alias list
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.20.44:9000
AccessKey : admin
SecretKey : minioadmin
API : s3v4
Path : auto
[root@hicor-test-2 minio]# ./mc ls myminio
[2022-10-19 10:10:01 CST] 0B base-dev-sde-lob-doc/
[2022-10-19 10:10:31 CST] 0B base-dev-sde-lob-hp/
[2024-05-09 14:15:07 CST] 0B base-sc-sde-lob-doc/
[2024-05-09 14:16:33 CST] 0B base-sc-sde-lob-hp/
[2024-05-09 14:10:36 CST] 0B base-test-sde-lob-doc/
[2024-05-09 14:16:18 CST] 0B base-test-sde-lob-hp/
[2023-11-30 16:41:31 CST] 0B bms-fee/
[2024-01-04 14:41:02 CST] 0B cbh1/
[2022-11-18 10:06:44 CST] 0B cim-file/
[2024-01-11 15:19:56 CST] 0B cpoe-file/
[2023-03-21 15:12:07 CST] 0B print-template/
[2023-04-11 08:25:37 CST] 0B qms/
[2022-08-22 10:45:22 CST] 0B sde-lob-store/
[2022-08-22 10:46:54 CST] 0B sde-lob-store-recycle/
[2022-11-07 16:53:55 CST] 0B test-20221107/
[2022-08-26 14:24:56 CST] 0B tests3/
[2023-11-16 10:40:44 CST] 0B tests4/
[2023-11-27 17:55:20 CST] 0B tests5/
[2022-10-11 17:29:10 CST] 0B user-file/
[2023-03-01 17:32:42 CST] 0B userfiles/
[2024-03-27 09:47:43 CST] 0B xzrm-dev-sde-lob-doc/
[2024-03-27 09:48:08 CST] 0B xzrm-dev-sde-lob-hp/
[2024-03-27 10:12:16 CST] 0B xzrm-test-sde-lob-doc/
[2024-03-27 10:12:51 CST] 0B xzrm-test-sde-lob-hp/
[root@hicor-test-2 minio]#
四、迁移(本次是单机迁移)
image.png五、查看是否迁移完成
image.png六、补充 (全量迁移)
- mc只适合用于同网段minio之间的迁移
- 或确保mc能连接到要迁移的服务器也可以使用
如下两台机器minio数据需要进行迁移,10.11全量迁移到10.12
192.168.10.11 minio
192.168.10.12 minio
#添加的minio服务信息(设置别名)
语法: mc alias set 名称 服务地址 用户名 密码
mc alias set myminio11 http://192.168.10.11:9000 admin minioadmin
mc alias set myminio12 http://192.168.10.12:9000 admin minioadmin
#查看已经添加的minio服务信息(查看设置的别名)
mc config host ls
mc alias list
#列出所有的桶
mc ls myminio11
#移除已经添加的minio服务
mc config host remove myminio11
#全量迁移,重名文件不覆盖,bucket不存在会自动创建
mc mirror myminio11 myminio12
#只是迁移某个bucket,以test为例,目标的bucket需要提前建好
mc mirror myminio11/test myminio12/test
#覆盖重名文件,加--overwrite
mc mirror --overwrite myminio11/test myminio12/test
网友评论