仿真环境

用于生产测试的 42 节点仿真环境

Pigsty 提供了一个 42 节点 的生产仿真环境,用于模拟真实生产环境进行完整测试与压测。

仿真环境使用固定的 IP 地址和预定义的身份标识符,可以用于复现各种生产场景与边缘案例。


环境描述

仿真环境由 42 个节点组成,默认使用配置文件 simu.yml

基础设施节点

3 个基础设施节点承载核心管理服务:

ID IP 地址 节点名 INFRA ETCD MINIO
1 10.10.10.10 meta infra-1 etcd-1 minio-1
2 10.10.10.11 meta-1 infra-2 etcd-2 minio-2
3 10.10.10.12 meta-2 infra-3 etcd-3 minio-3

ETCD 集群

5 节点的 ETCD 集群,为 PostgreSQL 高可用提供分布式共识服务:

ID IP 地址 节点名 ETCD
1 10.10.10.10 meta etcd-1
2 10.10.10.11 meta-1 etcd-2
3 10.10.10.12 meta-2 etcd-3
4 10.10.10.13 node-1 etcd-4
5 10.10.10.14 node-2 etcd-5

MinIO 集群

4 节点的 MinIO 集群,提供 S3 兼容的对象存储服务,用于数据库备份与 PITR 归档:

ID IP 地址 节点名 MINIO
1 10.10.10.10 meta minio-1
2 10.10.10.11 meta-1 minio-2
3 10.10.10.12 meta-2 minio-3
4 10.10.10.13 node-1 minio-4

PostgreSQL 集群

仿真环境包含多个 PostgreSQL 集群,用于测试不同的部署场景:

pg-meta - 单节点元数据库集群:

ID IP 地址 节点名 PostgreSQL
1 10.10.10.10 meta pg-meta-1

pg-test - 3 节点高可用测试集群:

ID IP 地址 节点名 PostgreSQL 角色
1 10.10.10.41 pg41 pg-test-1 primary
2 10.10.10.42 pg42 pg-test-2 replica
3 10.10.10.43 pg43 pg-test-3 replica

pg-src - 3 节点源集群(用于迁移/同步测试):

ID IP 地址 节点名 PostgreSQL 角色
1 10.10.10.45 pg45 pg-src-1 primary
2 10.10.10.46 pg46 pg-src-2 replica
3 10.10.10.47 pg47 pg-src-3 replica

pg-dst - 3 节点目标集群(用于迁移/同步测试):

ID IP 地址 节点名 PostgreSQL 角色
1 10.10.10.48 pg48 pg-dst-1 primary
2 10.10.10.49 pg49 pg-dst-2 replica
3 10.10.10.50 pg50 pg-dst-3 replica

创建仿真环境

Pigsty 提供了开箱即用的模板,您可以使用 Vagrant 在本地创建仿真环境,或使用 Terraform 在云上创建。

本地仿真环境(Vagrant)

本地仿真环境使用 VirtualBox/libvirt 创建本地虚拟机,需要较强的硬件配置。

运行完整的 42 节点仿真环境,您的机器应至少拥有 16 核 CPU64GB 内存

cd ~/pigsty

make simu       # 使用默认 RockyLinux 9 镜像创建 42 节点仿真环境
make simu9      # 使用 RockyLinux 9 创建
make simu12     # 使用 Debian 12 创建
make simu24     # 使用 Ubuntu 24.04 创建

更多详情请参考 Vagrant 文档。

云仿真环境(Terraform)

云仿真环境使用公有云 API 创建虚拟机,可以轻松创建和销毁,按需付费。

使用 spec/aliyun-simu.tf 模板在阿里云上创建 42 节点仿真环境:

cd ~/pigsty/terraform
cp spec/aliyun-simu.tf terraform.tf
terraform init
terraform apply

更多详情请参考 Terraform 文档。


部署仿真环境

创建好节点后,SSH 登录到管理节点,执行标准安装流程:

# 下载并解压 Pigsty
curl -fsSL https://repo.pigsty.io/get | bash; cd ~/pigsty

# 引导安装 Ansible
./bootstrap

# 使用仿真配置模板
./configure -c simu

# 执行完整部署
./deploy.yml

仿真环境的配置文件为 conf/simu.yml,您可以根据需要进行调整。


使用场景

仿真环境适用于以下场景:


与沙箱环境的区别

特性 沙箱环境 仿真环境
节点数 4 节点 42 节点
硬件需求 4C8G 起 16C64G 起
ETCD 单节点 5 节点
MinIO 单节点 4 节点
PG 集群 2 个 4+ 个
适用场景 学习、测试、演示 生产验证、压测、迁移测试
创建命令 make full make simu

最后修改 2026-01-05: batch update (6a321d5)