软硬件配置建议
PolarDB-X 是由阿里巴巴自主研发的云原生分布式数据库,支持部署在 Intel 以及 ARM 架构的物理服务器和主流的虚拟化环境,操作系统支持主流的 Linux 发行版本。
服务器推荐配置
PolarDB-X 由4个核心组件组成,包括:计算节点(CN),存储节点(DN),元数据服务(GMS)和日志节点(CDC)。
PolarDB-X 集群的部署方式支持 PXD 和 Kubernetes 两种,PXD 部署需要准备一台部署机,Kubernetes 需要 K8s Master 机器,您可以任选一种方式进行部署。除此之外,基于 Kubernetes 的部署方式也支持监控与日志采集能力,因此两种部署方式各自也有一定的资源需求。
下表给出部署 PolarDB-X 标准集群各个组件推荐的最低资源要求:
组件类型 | 组件 | CPU | 内存 | 磁盘类型 | 网卡 | 最低数量 |
核心组件 | CN | 2 核 | 8 GB+ | SSD, 200 GB+ | 万兆网卡 | 2 |
DN | 2 核 | 8 GB+ | SSD, 1 TB+(推荐2块) | 万兆网卡 | 2.5(详见下方说明) | |
GMS | 2 核 | 8 GB+ | SSD, 200 GB+ | 万兆网卡 | 2.5(详见下方说明) | |
CDC | 2 核 | 8 GB+ | SSD, 200 GB+ | 万兆网卡 | 2(可选) | |
K8s 相关 | K8s Master | 4 核 | 8 GB+ | SSD, 1 TB+ | 万兆网卡 | 1(推荐 3) |
监控 | 4 核 | 8 GB+ | SSD, 1 TB + | 千兆网卡 | 1(可选) | |
日志 | 4 核 | 8 GB+ | SSD, 1 TB + | 万兆网卡 | 1(可选) | |
PXD 相关 | 部署机 | 2 核 | 8 GB+ | 无要求 | 无要求 | 1 |
说明:
- 上述表格中给出了 PolarDB-X 各个组件推荐的最低资源配置,实际生产环境中,CN、DN、GMS、CDC可以部署在同一台服务上,如果对可用性有更高要求,建议组件分开部署。
- GMS 和 DN 2.5 倍资源说明:GMS 和 DN 是基于多数派 Paxos 协议构建的高可靠存储服务,因此一个 GMS(DN)会包括三个角色的节点:Leader,Follower,Logger。 Leader 与 Follower 资源要求相同,保证高可用切换后的服务质量,而 Logger 节点,只存储日志,不回放日志,2 核4 GB 的资源即可满足常见场景的需求。因此一个 GMS(DN)需要 2.5 倍的资源,其中 2 是 Leader 和 Follower的资源,0.5 是 Logger的资源。
- 数据节点 DN 负责实际数据存储,推荐采用 1 TB 以上的 SSD盘存储数据。为了性能与可靠性,推荐采用两块SSD盘,将数据与日志分盘存储。
- 采用 Kubernetes 方式部署
- 实际生产环境中,为了保证高可用,强烈推荐采用3个节点部署 K8s Master。
- K8s Master 节点、监控与日志采集组件推荐与核心组件(CN、DN、GMS、CDC)分开部署,保证核心链路稳定性。
- 采用 PXD 部署
- 部署机对资源要求不高,可以从其它组件的任意机器中选取一台即可。
操作系统及架构要求
PolarDB-X 支持在如下主流的 Linux 发行版本及架构上进行部署。
操作系统 | 版本 | 架构 |
---|---|---|
AliOS | 7.2 及以上 | x86_64、ARM 64 |
龙蜥 AnolisOS | 7.9 或 8.6 及以上 | x86_64、ARM 64 |
UOS | V20 | x86_64、ARM 64 |
KylinOS | V10 | x86_64、ARM 64 |
Kylinsec | V3 | x86_64、ARM 64 |
浪潮 Inspur KOS | V5 | x86_64、ARM 64 |
CentOS | 7.2 及以上 | x86_64、ARM 64 |
Red Hat Enterprise Linux | 7.2 及以上 | x86_64、ARM 64 |
生产级部署拓扑推荐
如果您是生产环境使用 PolarDB-X,相对于上述推荐的最低配置,我们推荐采用更高的规格部署。下面给出了两种基于 K8s 部署的推荐拓扑及组件分布结构:包括内核(1 GMS,2 CN、2 DN、2 CDC)、监控、日志采集组件。如果您采用 PXD 部署,将 K8s 相关组件的服务器要求剔除即可。
常规部署拓扑
常规情况下,GMS节点和 DN 节点都是基于 X-Paxos 实现的高可用存储,可以在三台服务器上混合部署,CN 节点和 CDC 节点可以在两台服务器上混合部署。为了保障 K8s 服务的高可用,K8s Master 推荐在独立的三台服务器部署。监控和日志采集由于不涉及核心链路,可以在一台服务器上进行混合部署。
组件 | 服务器规格 | 服务器数量 | 额外要求 |
---|---|---|---|
GMS&DN | 16核128GB | 3 | 磁盘 SSD ,1 TB+, 推荐两块 |
CN&CDC | 16核64GB | 2 | 磁盘 SSD, 200 GB+ |
K8s Master | 4核8GB | 3 | 磁盘 SSD, 1 TB + |
监控&日志 | 8核16GB | 1 | 磁盘 SSD, 1 TB + |
高可靠部署拓扑
如果您的生产环境对性能和可靠性有更高的要求,我们推荐将各个组件分开部署在不同的服务器上。下面给出了高可靠模式下的部署拓扑和服务器要求。
组件 | 服务器规格 | 服务器数量 | 额外要求 |
---|---|---|---|
GMS | 8核32GB | 3 | 磁盘 SSD, 200 GB+ |
DN | 16核128GB | 3 | 磁盘 SSD ,1 TB+, 推荐两块 |
CN | 16核64GB | 2 | 磁盘 SSD, 200 GB+ |
CDC | 8核32GB | 2 | 磁盘 SSD, 200 GB+ |
K8s Master | 4核8GB | 3 | 磁盘 SSD, 1 TB + |
监控&日志 | 8核16GB | 2 | 磁盘 SSD, 1 TB + |