Skip to Main Content

Runs on CEPH

AutoMQ leverages EBS and S3 storage, while CEPH supports both POSIX and S3 access protocols, making it an ideal storage backend for AutoMQ. Here's a guide to deploying AutoMQ with CEPH.

Prerequisites

Configure WAL

  1. Consult the Ceph official documentation for instructions on how to mount raw devices on Linux hosts: https://docs.ceph.com/en/latest/rbd/

  2. Set the raw device path to /dev/vdb.

  3. AutoMQ utilizes raw devices to store WAL data at a specified path. Configure this using the startup parameter --override s3.wal.path=/dev/vdb.

Configure S3URL

Create a User for CEPH


radosgw-admin user create --uid="automq" --display-name="automq"

The default user has all the necessary permissions for AutoMQ. For limited permissions, refer to the CEPH official documentation for custom configurations. Here is what happens after running the commands:


{
"user_id": "automq",
"display_name": "automq",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"subusers": [],
"keys": [
{
"user": "automq",
"access_key": "X1J0E1EC3KZMQUZCVHED",
"secret_key": "Hihmu8nIDN1F7wshByig0dwQ235a0WAeUvAEiWSD"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"default_placement": "",
"default_storage_class": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}

Create a Bucket for CEPH

  1. Set environment variables to configure the Access Key and Secret Key required by the AWS CLI.

export AWS_ACCESS_KEY_ID=X1J0E1EC3KZMQUZCVHED
export AWS_SECRET_ACCESS_KEY=Hihmu8nIDN1F7wshByig0dwQ235a0WAeUvAEiWSD

  1. Use the AWS CLI to create an S3 bucket.

aws s3api create-bucket --bucket automq-data --endpoint=http://127.0.0.1:80

Deploy AutoMQ

Here are the necessary parameters required to generate an S3 URL:

Parameter NameDefault Value in This ExampleDescription
--s3-access-keyX1J0E1EC3KZMQUZCVHEDReplace with actual details after creating a Ceph user
--s3-secret-keyHihmu8nIDN1F7wshByig0dwQ235a0WAeUvAEiWSDReplace with actual details after creating a Ceph user
--s3-regionus-west-2This parameter is ineffective in Ceph and can be set to any value, such as us-west-2
--s3-endpointhttp://127.0.0.1:80This is the address of Ceph's S3-compatible component RGW. If there are multiple machines, it is recommended to use a load balancer (SLB) to aggregate into a single IP address.
--s3-data-bucket
automq-data
-
--s3-ops-bucket
automq-ops
-

Once the WAL and S3URL configurations are complete, you are ready to deploy AutoMQ. Please refer to the instructions in Cluster Deployment on Linux▸.