目前是111架构。
生产集群扩容,是同等虚拟机配置,加三台成 2 2 2 架构,还是把原来的虚拟机增加资源来扩容?哪种方式是最佳实践
都行把
资源配置情况如果现有机器资源利用率很高,如果1-1-1的主zone是在一个节点可以扩资源,如果1-1-1的zone是打散的也可以增加机器。分布式事务现在还不是那么理想,就和ORACLE的GC问题一样。欢迎指正。
根据文档库中的信息,针对您的问题可以综合以下几点进行分析和解答:
1. 关于 OceanBase 集群扩容的基本原则
OceanBase 数据库支持灵活的在线扩缩容能力。在集群持续可用的前提下,可以通过增加节点(OBServer)或调整 Zone 的数量来实现扩容。具体参考文档为:《集群级别的扩容和缩容》 和 《添加节点》。
- 增加节点(OBServer):通过向现有 Zone 中添加 OBServer 节点,可以提升该 Zone 的计算能力和存储容量。
- 增加 Zone:通过增加新的 Zone 并在其中部署 OBServer 节点,可以提升系统的高可用性和容灾能力。
2. 当前架构与目标架构
您提到目前是“1 1 1”架构,即每个 Zone 中仅有一台 OBServer 节点。生产集群扩容时,可以选择以下两种方式:
- 方式一:保持现有的虚拟机配置不变,新增三台虚拟机,形成“2 2 2”架构。
- 方式二:对现有的虚拟机增加资源(如 CPU、内存、磁盘等),以提升单台虚拟机的性能。
3. 最佳实践分析
(1)增加虚拟机数量(推荐方式)
-
优点:
- 提升系统的高可用性:增加 Zone 内的 OBServer 节点数量后,即使某台虚拟机发生故障,其他节点仍然可以继续提供服务。
- 更好地利用分布式架构的优势:OceanBase 的分布式架构能够将数据打散到不同机器上,从而提升整体性能和扩展性。
- 容易管理:每台虚拟机的资源配置保持一致,便于后续运维和管理。
-
适用场景:
- 当业务流量增长较快,需要提升整体计算能力和存储容量时。
- 当需要增强系统的容灾能力时。
(2)增加现有虚拟机资源
-
优点:
- 快速提升单台虚拟机的性能,适合短期内资源不足的情况。
-
缺点:
- 单点风险较高:如果某台虚拟机发生故障,可能会影响整个 Zone 的服务能力。
- 扩展性有限:当单台虚拟机的资源达到上限时,无法进一步扩展。
-
适用场景:
- 当业务流量增长较慢,且现有虚拟机的资源利用率较低时。
- 当短期内无法快速增加虚拟机数量时。
4. 推荐的最佳实践
根据 OceanBase 的设计原则和最佳实践,建议采用 方式一,即新增三台虚拟机形成“2 2 2”架构。这种方式不仅能够提升系统的计算能力和存储容量,还能增强高可用性和容灾能力,更好地发挥 OceanBase 分布式架构的优势。
5. 操作步骤
如果您选择新增虚拟机的方式,可以参考以下步骤(依据文档 《使用 obshell 扩容 OceanBase 集群》 和 《添加节点》):
-
规划新增虚拟机:
- 确保新增虚拟机的配置与现有虚拟机一致。
- 在每个 Zone 中分别新增一台 OBServer 节点。
-
部署 OBServer 节点:
- 使用
obd
工具或手动安装 OBServer 软件。 - 配置监听端口(默认为
2881
和2882
)、数据目录和事务日志目录。
- 使用
-
调整租户资源:
- 登录 sys 租户,确认当前租户使用的
UNIT_CONFIG NAME
。 - 使用以下 SQL 语句调整租户的资源配置:
ALTER RESOURCE UNIT <unit_config_name> MIN_CPU = <value>, MAX_CPU = <value>, MEMORY_SIZE = '<value>', MAX_IOPS = <value>, MIN_IOPS = <value>;
- 根据需求调整租户的
UNIT_NUM
和Locality
属性。
- 登录 sys 租户,确认当前租户使用的
-
验证扩容结果:
- 检查新增节点是否正常加入集群。
- 确认租户的资源配置已更新。
6. 总结
综上所述,新增三台虚拟机形成“2 2 2”架构是更符合 OceanBase 最佳实践的方式。这种方式不仅能提升系统性能,还能增强高可用性和容灾能力,更适合生产环境的需求。
详情请参考:
我当初是从1-1-1 扩容至2-2-2,具体你要看数据量 单机性能
信息有待进一步完善,才能判断!不知道你现有环境情况
- “生产集群扩容,是同等虚拟机配置”,有虚拟机信息,读到信息就是一台主机,安装了三台虚拟机,做的1+1+1 架构,如果是这样的信息,可以增加一台主机,虚拟成三台虚拟机,做成2-2-2 架构,主要是考虑单点故障。
- 如果已经是三台主机,已经 没有单点故障了,可以考虑现有资源扩容哈!
水平扩容,提升集群可以高可用能力
垂直扩容,提升集群性能
基于使用情况考虑
专业啊小助手。。
是的, 目前三台虚拟机都是分布在不同的物理机上