MinIO的S3对象存储替代品Garage
据说 Minio
在最新的更新中,删除了 Web UI
中的管理员功能。后续我们可以选择 OpenMaxIO
作为替代,这是 Minio
使用 UI
的一个分支。而今天我们介绍的 Garage
,则是另一个不同的对象存储选项。
简介
什么是 Garage ?
Garage
是一个S3
兼容的分布式对象存储服务,设计用于小到中型的自托管环境。它旨在支持在不同物理位置运行的存储集群,能够高效地复制数据并保持可用性,即使部分服务器不可达。
主要特点
- 分布式存储:支持多个节点,提供地理分布的存储解决方案。
- 高可用性:即使部分节点出现故障,数据仍然可访问。
- 轻量级和易于操作:专注于简化管理,适合小规模部署。
- 开源:完全免费,遵循
AGPLv3
许可证。
什么是 Garage Web UI ?
Garage Web UI
是一个简单的管理界面,用于Garage
对象存储服务。它是一个自托管的、S3
兼容的分布式对象存储解决方案的前端界面。
主要特点
- 健康状态监控:可以查看
Garage
的健康状态。 - 集群与布局管理:方便管理存储集群的布局。
- 桶管理:创建、更新和查看桶的信息。
- 对象浏览:集成的对象和桶浏览器。
- 访问密钥管理:创建和分配访问密钥。
Garage Web UI
提供了一个用户友好的界面,方便用户管理和操作 Garage
对象存储服务。
安装
在群晖上以 Docker 方式安装。
garage.toml.txt
1 | metadata_dir = "/var/lib/garage/meta" |
变量名 | 说明 |
---|---|
metadata_dir |
存储元数据的目录,设置为 /var/lib/garage/meta 。 |
data_dir |
存储对象数据块的目录,设置为 /var/lib/garage/data 。 |
db_engine |
数据库引擎,设置为 sqlite 。 |
replication_factor |
数据的复制因子,设置为 1 。 |
rpc_bind_addr |
节点监听RPC通信的地址和端口,设置为 [::]:3901 。 |
rpc_public_addr |
其他节点用于联系该节点的公共地址和端口,设置为 192.168.0.197:3901 。 |
rpc_secret |
RPC 通信的密钥,用于节点间的身份验证,通过 openssl rand -hex 32 生成。 |
[s3_api] |
S3 API 的配置部分。 |
s3_region |
S3 区域,设置为 garage 。 |
api_bind_addr |
S3 API 的绑定地址,设置为 [::]:3900 。 |
root_domain |
S3 桶的根域名。 |
[s3_web] |
将桶公开为网站的配置部分。 |
bind_addr |
网站请求的绑定地址,设置为 [::]:3902 。 |
root_domain |
网站的根域名。 |
index |
网站的索引文件,设置为 index.html 。 |
[admin] |
管理功能的配置部分。 |
api_bind_addr |
管理 API 的绑定地址,设置为 [::]:3903 。 |
admin_token |
管理 API 的访问令牌,通过 openssl rand -hex 32 生成。 |
metrics_token |
监控 API 的访问令牌,通过 openssl rand -hex 32 生成。 |
更多设置变量的详细说明,可以参考官方的文档:https://garagehq.deuxfleurs.fr/documentation/reference-manual/configuration
docker-compose.yml
将下面的内容保存为 docker-compose.yml
文件
1 | services: |
然后执行下面的命令
1 | # 新建文件夹 garage 和 子目录 |
运行
在浏览器中输入 http://群晖IP:3909
就能看到主界面
进入 Cluster
可以查看当前节点的信息
点开后面的三个点 –> Assign
Node ID
:默认的就可以Zone
:必填项,例如:home
Capacity
:必填项
点 Save
保存后,还需要点 Apply
创建分区
进入 Keys
,点 Create Keys
新建一个 Key
创建成功后
进入 Buckets
点 Create Buckets
创建存储桶
创建完成后,暂时还无法使用
无论是点 Manage
还是 Browse
切换到 Permissions
点 Allow Key
勾选 key
并赋予相应的权限
现在可以开始使用了
参考文档
Deuxfleurs/garage: S3-compatible object store for small self-hosted geo-distributed deployments - Gitea: git with a cup of coffee
地址:https://git.deuxfleurs.fr/Deuxfleurs/garagekhairul169/garage-webui: WebUI for Garage Object Storage Service
地址:https://github.com/khairul169/garage-webuiGarage - An open-source distributed object storage service
地址:https://garagehq.deuxfleurs.fr/Quick Start | Garage HQ
地址:https://garagehq.deuxfleurs.fr/documentation/quick-start/Garage - S3 object storage alternative to Minio : r/selfhosted
地址:https://www.reddit.com/r/selfhosted/comments/1kw1q9j/garage_s3_object_storage_alternative_to_minio/