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/
