乘数科技 × PolarDB开源云管控解决方案:如何用CLup管理PolarDB
作者:唐成,《PostgreSQL修炼之道:从小工到专家》的作者,中启乘数科技联合创始人,PostgreSQL中国用户会常委。
摘要:本文介绍了乘数科技自主研发的PostgresSQL数据库管理平台CLup,以及如何使用CLup创建和管理PolarDB。
一、专业的PostgreSQL数据库管理平台CLup
1. CLup产品介绍
a. CLup是什么?
CLup是乘数科技自主研发的一款管理PostgreSQL/PolarDB数据库的云平台高可用集群管理软件。
- 实现PostgreSQL/PolarDB数据库的私有云RDS产品;
- PostgreSQL/PolarDB集群统一管理、统一运维;
- PostgreSQL/PolarDB集群的故障自动切换、读写分离等高可用功能;
- 实现对PostgreSQL/PolarDB数据库性能的监控管理;
- 对PostgreSQL/PolarDB的TopSQL的管理;
b. 架构说明
- 在一台机器上部署的CLup管理节点,这个管理节点提供WEB管理界面统一管理所有的PostgreSQL/PolarDB数据库;
- 在数据库主机上部署clup-agent,CLup管理节点通过clup-agent来管理这台机器的PostgreSQL/PolarDB数据库。
2. CLup的高可用和读写分离功能
a. 保障数据可用性
- 高可用机制自动切换;
- 保障数据一致性;
b. 读写分离
- 提供读写VIP(虚拟IP);
- 读写分离高可用;
c.负载均衡
- 多个只读备库之间负载均衡;
d. 高扩展性
- 读线性扩展;
- 支持分库分表;
3. CLup管理界面
a. 性能监控
b. TopSQL功能
CLup可以实现TopSQL的监控功能。
c. 在Web界面中管理数据库
二、PolarDB环境准备
1. 创建PolarDB的要求
a. 安装要求
- 共享盘:大于等于20GB
- CLup的高可用需要VIP
- 操作系统:CentOS7.X
- 盘路径:/dev/nvmeXnY
b. 机器需求
- 4台虚拟机器或物理机;
- 1台做CLup管理节点:内存大于2GB;
- 3台做数据库节点:内存大于4GB,有反亲和性,即能分布在不同的物理机上以保证高可用性。
2. 阿里云环境中创建PolarDB的方法
共享盘使用阿里云自带的高性能Nvme盘,挂载Nvme盘有如下要求:
a. 可用区:
- 华东1(杭州)可用区I;
- 华东2(上海)可用区B;
- 华北2(北京)可用区K;
- 华南1(深圳)可用区F;
b. 虚拟机:
- 规格:g7se/c7se/r7se;
- 付费方式:按量付费;
注:阿里云的VIP功能目前还在内侧阶段,需要申请。
3. 其他云环境中使用CLup创建PolarDB的情况
a. 天翼云
- 共享盘:所有虚拟机都可以挂载;
- 有VIP;
- 机器有反亲和性;
b. 华为云
- 有共享盘;
- 有VIP;
- 机器有反亲和性;
c. 移动云
- 共享盘:所有虚拟机都可以挂载;
- 有VIP;
- 机器有弱反亲和性;
d. 腾讯云
- 无共享盘;
- VIP是内测阶段;
- 机器的反亲和性:不清楚;
e. 联通云
- 无共享盘;
- 有VIP;
- 机器有反亲和性。
4. 创建PolarDB需要的阿里云环境
虚拟机的选择:在“增强型”下选择2vCPU 4GB机型;
创建部署集,部署集把虚拟机打散到不同物理机上;
创建高可用虚拟IP;
将高可用虚拟IP绑定到多台数据库主机;
创建虚拟机的时选中的盘都不是共享盘,必须在创建虚拟机后,单独添加共享盘;
安装依赖包:
libaio.x86_64 libaio-devel.x86_64
libicu.x86_64 libicu-devel.x86_64
安装方法:
yum install libaio.x86_64 libaio-devel.x86_64 libicu.x86_64 libicu-devel.x86_64
三、使用CLup创建PolarDB
操作步骤:
1. 创建PolarDB共享存储集群
在集群定义页面,点击创建集群,选择“创建PolarDB共享存储集群”;
进入创建页面,依次完成选择数据库-集群信息-集群探测-数据库配置,并提交;
完成集群信息后需要先进行检测,无误后才能进入下一步;
集群探测:
数据库配置:
查看日志信息,显示启动数据库成功,即创建完成;
2. 进入数据库列表查看
进入数据库页面,点击“更多”选择psql进入;
3. PolarDB共享存储集群上线
进入HA管理页面,选择刚创建的PolarDB共享存储集群,点击“上线”;
4. 切换测试
进入数据库管理页面,操作主备数据库切换。
在阿里云中使用CLup创建和管理PolarDB的详细指南请参考:https://www.csudata.com/clup/manual/4.x/10010