简单理解: 对象存储 就是一个网络目录,可以上传文件、下载文件。下面是 GPT 生成的介绍:
对象存储是一种存储架构,它以独立的对象的形式管理数据,而不是以文件或块的形式。每个对象都包含数据、元数据和全局唯一标识符。全局唯一标识符用于在整个系统中定位对象,无论对象在物理上位于何处。元数据则描述了数据的信息,如创建日期、类型等。
对象存储的优点在于它可以轻松扩展到PB级别,因为对象存储系统可以在任何数量的硬件设备上分布数据。此外,由于对象存储使用全局唯一标识符,因此可以在不同的地理位置存储和检索数据,这对于灾难恢复和数据保护非常有用。
对象存储常用于云存储、大数据和备份等应用,因为它可以提供高可扩展性、数据冗余和高可用性。
MinIO 是根据 GNU Affero 通用公共许可证 v3.0 发布的高性能对象存储。它与 Amazon S3 云存储服务 API 兼容。使用 MinIO 为机器学习、分析和应用程序数据工作负载构建高性能基础架构。
GitHub: minio/minio: Multi-Cloud Object Storage (github.com)
官网: MinIO | High Performance, Kubernetes Native Object Storage
服务端、客户端、SDK 下载网页: MinIO | Code and downloads to create high performance object storage
MinIO Server
Linux 文档: MinIO Object Storage for Linux — MinIO Object Storage for Linux
安装和维护: MinIO Server 安装和维护 – 技焉洲 (vfly2.com)
使用
默认的端口为 9000 和 9001,记得开放端口
- 9000 为 API 端口,用于让程序上传下载,以及充当图床时用的也是它
- 9001 是 Web 后台 的端口。访问 ip:9001 即可到 Web 管理后台
sudo ufw allow 9000 comment minio_api
sudo ufw allow 9001 comment minio_console
基本使用流程:
- 先到【Buckets】创建新的“桶”,输入 Bucket Name 即可,其他可不填
- 点击创建的桶,在【Summary】找到【Access Policy】,这里配置桶的访问权限,有预设的 Private 和 Public,还可以自定义 Custom
- 在【Object Browser】中,进入桶,就能创建目录、上传文件等操作;但真正发挥对象存储作用的还要靠它的客户端 mc ,利用编程将 MinIO 作为一个安全可扩展的网络存储。
作为图床、视频床使用: MinIO + PicList | 自建图床、视频音频床方案 – 技焉洲 (vfly2.com)
mc
mc 是 MinIO 的命令行客户端,用于操作和管理 MinIO
使用文档: MinIO Client — MinIO Object Storage for Linux
安装: MinIO Client 安装 – 技焉洲 (vfly2.com)
添加服务端
格式为 mc alias set ALIAS HOSTNAME ACCESS_KEY SECRET_KEY
,全大写的是要自定义的。比如,我在同一台机器上安装了 MinIO Server,我可以用 local 作为它的别名(ALIAS),那么命令就是:
mc alias set local http://127.0.0.1:9000 vfly2 pass_vfly2_word
# Windows 上的 mc 用法一模一样
D:\Tool\mc\mc.exe alias set local http://127.0.0.1:9000 vfly2 pass_vfly2_word
验证是否能连接服务端
mc admin info local # local 是上面设置服务端的别名
基本使用
服务端上文件的下载链接格式(填入 ip 或域名,桶名和文件名就可以了,注意端口是 9000)
http://ip:9000/vfly2/file.name
在任何命令后面,加上
--dry-run
不实际执行
复制
# 系统上的文件上传到 别名为 local 的 MinIO 服务端的 vfly2 桶中
mc cp ~/file.name local/vfly2
# 将目录下全部文件上传,同名文件会覆盖
mc cp --recursive ~/mydata/ local/mydata/
# 也能反过来,把 MinIO 的文件复制到系统上
mc cp local/vfly2/file.name ~/
删除
# 删除 local/backup/ImagebedServer/ 下的所有文件包括目录本身
mc rm --recursive --force local/backup/ImagebedServer/ --dry-run
原文链接: https://yanh.tech/2024/02/self-host-object-storage/
版权声明:本博客所有文章除特別声明外,均为 AhFei 原创,采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 技焉洲 (yanh.tech) 。
保持更新 ٩(•̤̀ᵕ•̤́๑)ᵒᵏᵎᵎᵎᵎ 清晰恒益的实用技能,欢迎使用 RSS 订阅,或在支持 ActivityPub 的平台关注 @vfly2tech@yanh.tech
接收新文章的推送,如果能留言互动就更好了。
可在 Telegram 群组 https://t.me/vfly2 交流依文章步骤遇到的问题。
点赞,大佬速更新