debian

Debian上PostgreSQL集群怎么搭建

小樊
45
2025-07-04 06:22:16
栏目: 云计算

在Debian系统上搭建PostgreSQL集群通常涉及使用Patroni来管理高可用性,并结合Corosync和Pacemaker进行集群管理和故障转移。以下是详细的搭建步骤:

1. 安装必要的软件包

首先,更新你的包列表并安装必要的软件包:

sudo apt update
sudo apt install -y corosync pacemaker postgresql-13-pgpool2 patroni

2. 配置Corosync和Pacemaker

编辑Corosync配置文件

sudo nano /etc/corosync/corosync.conf

添加以下内容:

totem {
    version: 2
    cluster_name: pg_cluster
    transport: udpu
}

nodelist {
    node {
        ring0_addr: your_node_ip
        nodeid: 1
    }
    node {
        ring0_addr: another_node_ip
        nodeid: 2
    }
}

quorum {
    provider: corosync_votequorum
}

logging {
    to_logfile: yes
    logfile: /var/log/corosync/corosync.log
    to_syslog: yes
}

启动并启用Corosync服务:

sudo systemctl start corosync
sudo systemctl enable corosync

配置Pacemaker

编辑Pacemaker配置文件:

sudo nano /etc/pacemaker/cib.xml

确保配置文件中包含你的节点和资源信息。启动并启用Pacemaker服务:

sudo systemctl start pacemaker
sudo systemctl enable pacemaker

3. 配置Patroni

创建Patroni配置文件:

sudo nano /etc/patroni.yml

添加以下内容(根据你的实际情况修改):

scope: postgresql
name: your_node_name
namespace: /db/

restapi:
    listen: 0.0.0.0:8008
    connect_address: your_node_ip:8008

etcd:
    host: 192.168.1.2:2379

bootstrap:
    dcs:
        ttl: 30
        loop_wait: 10
        retry_timeout: 10
        maximum_lag_on_failover: 1048576

postgresql:
    use_pg_rewind: true
    use_slots: true
    parameters:
        wal_level: replica
        max_connections: 100
        hot_standby: on

postgresql:
    listen: 0.0.0.0:5432
    data_dir: /var/lib/postgresql/13/main
    pg_hba:
        - host replication replicator 192.168.1.0/24 md5
    authentication:
        replication:
            username: replicator
            password: yourpassword
        superuser:
            username: postgres
            password: yourpassword

启动Patroni服务:

sudo systemctl enable patroni
sudo systemctl start patroni

4. 验证集群状态

检查Patroni和Pacemaker的状态:

sudo systemctl status patroni
sudo systemctl status pacemaker

使用 crm_mon 命令查看集群状态:

sudo crm_mon

注意事项

通过以上步骤,你应该能够在Debian系统上成功搭建一个PostgreSQL高可用集群。

0
看了该问题的人还看了