Day 16/100

Day 16/100

Scylla Manager Agent

Screenshot 2022-04-05 at 10.56.55 PM.png

  • Reads config from scylla API on start
  • Listens on Scylla
  • CPU pinning
  • Agent conf file etc/scylla-manager-agent/scylla-manager-agent.yaml

Scylla Manager Backup Benefits

  • Data selection - single table or entire keyspace
  • deduplication - saves network and s3 costs
  • Data retention - purge if all goes well, or failover if something goes wrong
  • Data throttling - control how fast/slow want to upload,
  • start, pause, stop, resume
  • retries
  • visibility - progress can be read from cli, rest api, prometheus metrics

Backup process

Multiple steps are executed sequentially on all nodes in parallel

  • Snapshot - take snapshot of data on each node according to config
  • Schema - optional [requires cluster info to be added to manager agent] Uploads CQL schema
  • Upload - upload to desired s3 path
  • Manifest - metadata about the upload
  • Purge - removes oldest backup from storage if retention threshold has been reached

Backup prep

  • create a storage location for backup
  • grant access control to your storage buckets
    • S3: Iam role
  • validate manager access to the backup location
    • scylla-manager-agent check-location --location s3:<path/to/backup/location>
  • sctool backup -c <cluster-name> -L <s3-location> --retention <retention-period-number-in-days> -s '2022-04-04T15:16:05Z' [schedule time to run backup] -i 24h/7d [interval]
  • Also can use --dry-run param to check if the command is correct and scylla is able to access backup loaction, dc and cluster