Garage的安装和使用
现有的对象存储方案
准备工作
域名一个
云主机或云服务器
安装docker或podman
安装Garage以及 web-ui 首先需要准备一个配置文件 garage.toml, 存放位置没有要求
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 metadata_dir = "/var/lib/garage/meta" data_dir = "/var/lib/garage/data" db_engine = "sqlite" replication_factor = 1 rpc_bind_addr = "[::]:3901" rpc_public_addr = "localhost:3901" rpc_secret = "f1b082015ee1564f71634d2a3985ef7092ba1f6f27d952d98cc964bc2a2a1526" [s3_api] s3_region = "garage" api_bind_addr = "[::]:3900" root_domain = ".s3-garage.techwork.cloud" [s3_web] bind_addr = "[::]:3902" root_domain = ".web-garage.techwork.cloud" index = "index.html" [admin] api_bind_addr = "[::]:3903" admin_token = "5ac4f2778731704a1f03c1b267fea1ccaa14f61782945cd8960e7492471b327a" metrics_token = "a684ce3d9ef9a847e0fb073392f15d91eb42bddec3d09479f844d1074c20544b"
注意:
[s3_api]中的 root_domain属性决定了请求的garage 服务的域名, garage约定就是以 <bucket>.s3-garage.example.com形式进行访问的, 例如你有一个名称为test的桶, 那么访问时就会以 test.s3-garage.example.com来进行 (尝试过设置为一级域名无法访问, 必需是s3-garage的二级域名)
创建工作空间 1 mkdir -p /podman_data/garage
使用 podman-compose.yml 启动 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 version: 3 services: garage: image: dxflrs/garage:v1.1.0 container_name: garage restart: unless-stopped ports: - "3900:3900" - "3901:3901" - "3902:3902" - "3903:3903" volumes: - ./garage/garage.toml:/etc/garage.toml - ./garage/meta:/var/lib/garage/meta - ./garage/data:/var/lib/garage/data environment: - TZ=Asia/Shanghai networks: - techwork_net webui: image: khairul169/garage-webui:latest container_name: garage-webui restart: unless-stopped ports: - "3909:3909" volumes: - ./garage/garage.toml:/etc/garage.toml:ro environment: API_BASE_URL: "http://garage:3903" S3_ENDPOINT_URL: "http://garage:3900" networks: - techwork_net networks: techwork_net: driver: bridge
以上启动就可以在浏览器访问http://ip:3909访问了
Garage 使用
webui的功能其实就是将garage命令简化成页面操作了, 你可以使用garage 命令进行操作.
关联节点
创建key
创建bucket
授权
相关工具 Garage 兼容s3, 例如使用一些支持s3的客户端工具: minio clicent, amazon s3 client
安装aws client 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ```bash curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" sudo yum install unzipunzip awscliv2.zip sudo ./aws/installaws configure vim ~/.awsrc export AWS_ACCESS_KEY_ID= export AWS_SECRET_ACCESS_KEY= export AWS_DEFAULT_REGION='garage' export AWS_ENDPOINT_URL='http://localhost:3900' source .awsrc
配置 aws configure命令时 按照提示输入以下信息:
AWS Access Key ID [None]: Garage 生成的 Key ID。
AWS Secret Access Key [None]: Garage 生成的Secret key。
Default region name [None]: garage 约定是这个
Default output format [None]: 推荐输入 json,这样输出会是结构化的 JSON 格式。
配置信息会存储在 ~/.aws/credentials 和 ~/.aws/config 文件中