open source软件:Clustercontrol介绍(DBaaS)

1. 介绍

ClusterControl is an agentless management and automation software for database clusters. It helps deploy, monitor, manage and scale your database server/cluster directly from ClusterControl user interface

2. 特性

ClusterControl is able to handle most of the administration tasks required to maintain database servers or clusters. Here are some of the tasks that ClusterControl can perform on your database infrastructure:

  • Monitor host statistics (CPU/RAM/disk/network/swap)
  • Provision multiple database server/cluster in a single CMON process
  • Monitor database’s stats, variable, log files, queries, for individual node as well as cluster-wide
  • Database configuration management
  • Database cluster/node recovery
  • Trigger alarm and send notifications
  • Schedule and perform database backup (mysqldump, Percona Xtrabackup, MariaDB Backup, pg_dumpall, pg_basebackup, pgBackRest, mongodump, mongodb-consistent-backup)
  • Database backup status
  • Restore backups
  • Verify backup restoration on a standalone host
  • MySQL/PostgreSQL/TimeScaleDB point-in-time recovery
  • Upload backups to AWS S3/Google Cloud Storage/Azure Storage
  • Stop/Start/Bootstrap database service
  • Rebuild a database node from a backup to avoid SST
  • Deploy a new database server/cluster on-premises or on cloud (AWS, Google Cloud, MS Azure)
  • Add existing MySQL/MariaDB server/cluster, MongoDB replica set and PostgreSQL server
  • Scale your database cluster (add/remove Galera node, garbd and replication slave)
  • Deploy database load balancers (HAProxy, MaxScale, ProxySQL) and virtual IP address (Keepalived)
  • Monitor HAProxy/MaxScale/ProxySQL statistics
  • Manage MySQL user privileges
  • Upgrade MySQL servers
  • Promote MySQL/PostgreSQL/TimeScaleDB slave to master
  • Set up a delayed slave
  • Stage a replication slave from a master or an existing backup
  • Manage private keys and certificates for databases’ SSL
  • Client-server encryption, replication encryption, backup encryption (at-rest or in-transit)
  • Create cluster from backup

ClusterControl supports the following database servers/clusters:

  • Galera Cluster

    • Percona XtraDB Cluster (Percona)
    • MariaDB Galera Cluster (MariaDB)
  • MySQL Cluster (NDB)

  • MySQL/MariaDB Replication (master-master and master-slave)

  • MySQL/MariaDB Standalone

  • MongoDB/Percona Server for MongoDB

    • Replica set
    • Sharded cluster
    • Replicated sharded cluster
  • PostgreSQL

    • Single instance
    • Streaming replication
  • TimeScaleDB

    • Single instance
    • Streaming replication

ClusterControl supports the following loadbalancer:

  • HAProxy
  • MariaDB MaxScale
  • ProxySQL
  • Keepalived (virtual IP address only)

3. 安装和使用:

安装:

使用docker:

docker run -d --name clustercontrol -h clustercontrol -p 5000:80 -p 5001:443 -v /storage/clustercontrol/cmon.d:/etc/cmon.d -v /storage/clustercontrol/datadir:/var/lib/mysql -v /storage/clustercontrol/sshkey:/root/.ssh -v /storage/clustercontrol/cmonlib:/var/lib/cmon -v /storage/clustercontrol/backups:/root/backups severalnines/clustercontrol

访问:http://ip:5000/clustercontrol

使用:

支持的部署:

open source软件:Clustercontrol介绍(DBaaS)

open source软件:Clustercontrol介绍(DBaaS)

replication 配置:

open source软件:Clustercontrol介绍(DBaaS)

galera配置:

open source软件:Clustercontrol介绍(DBaaS)

4. 评测

  • 功能很强大,支持通用的数据库的部署
  • 可以自动恢复,测试了replication和galera, 感觉不错。
  • 支持备份和数据库监控告警
  • 支持proxysql做读写分离,但不支持mycat的分表机制。
  • 适合小型的数据库,无法扩伸,不可以像公有云那样的RDS服务
  • 支持cli, 适合和其他的工具集成,但没有接口集成
  • 可以满足基本的DBaas的功能

5. 参考

https://severalnines.com/docs/