单机部署
快速上手 Pigsty,从一台全新的 Linux 主机开始,完成单机安装部署!
https://pigsty.cc/docs/setup/install/
安装准备
准备 一台具有 SSH 权限 的 节点, 安装 兼容的 Linux 系统,如Alma9,SSH端口保持默认22
curl -fsSL https://repo.pigsty.cc/get | bash # 安装 Pigsty 与依赖
cd ~/pigsty; ./configure -g # 生成配置 使用默认单机配置模板,-g 参数会生成随机密码
./deploy.yml -k -K # 执行部署剧本,完成部署 -k -K 为手动输入ssh密码
cat pigsty.yml #查看生成的随机密码安装完成

使用工具连接测试
默认账号密码
Pigsty 的默认 单机模板 默认配置预置了以下数据库用户,可以开箱即用:
用户名 密码 角色 用途
dbuser_dba DBUser.DBA 超级用户 数据库管理(请修改密码)
dbuser_meta DBUser.Meta 业务管理员 应用读写(请修改密码)
dbuser_view DBUser.Viewer 只读用户 数据查阅(请修改密码)连接串
postgres://dbuser_dba:DBUser.DBA@10.10.10.10:5432/meta
postgres://dbuser_meta:DBUser.Meta@10.10.10.10:5432/meta
postgres://dbuser_view:DBUser.Viewer@10.10.10.10:5432/meta

卸载
./pgsql-rm.yml集群部署
三节点标准高可用配置模板
https://pigsty.cc/docs/conf/trio/
配置解读
ha/trio 模板是 Pigsty 的 标准高可用配置,提供真正的故障自动恢复能力。
架构说明:
三节点 INFRA:VictoriaMetrics/Grafana/Nginx 分布式部署
三节点 ETCD:DCS 多数派选举,容忍单点故障
三节点 PostgreSQL:一主两从,自动故障转移
单节点 MinIO:可按需扩展为多节点
高可用保障:
ETCD 三节点可容忍一节点故障,保持多数派
PostgreSQL 主库故障时,Patroni 自动选举新主
L2 VIP 随主库漂移,应用无需修改连接配置
适用场景:
生产环境最小高可用部署
需要自动故障转移的关键业务
作为更大规模部署的基础架构
安装准备
准备 三台具有 SSH 权限 的 节点, 安装 兼容的 Linux 系统,如Alma9,SSH端口保持默认22
IP规划
192.168.4.10 VIP
192.168.4.11 节点1,安装节点
192.168.4.12 节点2
192.168.4.13 节点3集群安装
curl -fsSL https://repo.pigsty.cc/get | bash # 安装 Pigsty 与依赖
cd ~/pigsty; vi conf/ha/trio.yml #编辑配置文件,修改IP地址和VIP地址
cd ~/pigsty; ./configure -g -c ha/trio # 生成配置
./deploy.yml -k -K # 执行部署剧本,完成部署 -k -K 为手动输入ssh密码
cat pigsty.yml #查看生成的随机密码conf/ha/trio.yml 进放入修改的内容,节点IP和VIP修改
infra: # infra cluster for proxy, monitor, alert, etc
hosts: # 1 for common usage, 3 nodes for production
192.168.4.11: { infra_seq: 1 } # identity required
192.168.4.12: { infra_seq: 2, repo_enabled: false }
192.168.4.13: { infra_seq: 3, repo_enabled: false }
vars:
patroni_watchdog_mode: 'off' # do not fencing infra
etcd: # dcs service for postgres/patroni ha consensus
hosts: # 1 node for testing, 3 or 5 for production
192.168.4.11: { etcd_seq: 1 } # etcd_seq required
192.168.4.12: { etcd_seq: 2 } # assign from 1 ~ n
192.168.4.13: { etcd_seq: 3 } # odd number please
vars: # cluster level parameter override roles/etcd
etcd_cluster: etcd # mark etcd cluster name etcd
etcd_safeguard: false # safeguard against purging
minio: # minio cluster, s3 compatible object storage
hosts: { 192.168.4.11: { minio_seq: 1 } }
vars: { minio_cluster: minio }
pg-meta: # 3 instance postgres cluster `pg-meta`
hosts: # pg-meta-3 is marked as offline readable replica
192.168.4.11: { pg_seq: 1, pg_role: primary }
192.168.4.12: { pg_seq: 2, pg_role: replica }
192.168.4.13: { pg_seq: 3, pg_role: replica , pg_offline_query: true }
pg_vip_enabled: true
pg_vip_address: 192.168.4.10/24
#==============================================================#
# Global Parameters
#==============================================================#
vars:
#----------------------------------#
# Meta Data
#----------------------------------#
version: v4.4.0 # pigsty version string
admin_ip: 192.168.4.11 # admin node ip address
region: default # upstream mirror region: default|china|europe
安装完成

使用工具连接VIP和IP分别测试
连接串
postgres://dbuser_dba:密码@IP:5432/meta
节点故障测试
192.168.4.11关机,故障自动切换约10秒,VIP切换到192.168.4.12节点

192.168.4.11开机,关闭192.168.4.12,VIP切换到192.168.4.11节点



192.168.4.12开机,集群自动修复

三台主机硬停止后开机,集群自动修复




小结
安全性极佳,无需人工干预,故障可自动恢复

评论