Halo_Shield的使用
启动ETCD服务
在所有配置了etcd服务的服务器上用root启动服务
systemctl start etcd
确保至少同时在2台服务器上启动etcd服务,如果只在1台服务器上启动,etcd会因为找不到其他服务器而启动失败
如需开机自启动etcd服务,用root执行以下命令
systemctl enable etcd
查询etcd运行状态
$HALO_BASE/product/shield/etcd/v3.5.2/etcdctl endpoint status --cluster=true -w table
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| ENDPOINT | ID | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
| http://10.16.16.155:2379 | 1c3f7702e434565f | 3.5.2 | 37 kB | true | false | 2 | 54 | 54 | |
| http://10.16.16.157:2379 | 698a77fbbe16ea8a | 3.5.2 | 37 kB | false | false | 2 | 54 | 54 | |
| http://10.16.16.156:2379 | c67e61e43ed4f1d4 | 3.5.2 | 37 kB | false | false | 2 | 54 | 54 | |
+--------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
启动patroni服务
在所有主备服务器上用root启动patroni服务
systemctl start patroni
如需开机自启动patroni服务,用root执行以下命令
systemctl enable patroni
主备节点查询
patronictl list
+--------+-------------------+---------+---------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
Cluster: halo-cluster (7078872291747273152) ---+----+-----------+
| node1 | 10.16.16.155:1921 | Leader | running | 2 | |
| node2 | 10.16.16.156:1921 | Replica | running | 2 | 0 |
| node3 | 10.16.16.157:1921 | Replica | running | 2 | 0 |
+--------+-------------------+---------+---------+----+-----------+
停止自动主备切换
patronictl pause
Success: cluster management is paused
[halo@node1 ~]$ patronictl list
+--------+-------------------+---------+---------+----+-----------+
| Member | Host | Role | State | TL | Lag in MB |
Cluster: halo-cluster (7078872291747273152) ---+----+-----------+
| node1 | 10.16.16.155:1921 | Leader | running | 2 | |
| node2 | 10.16.16.156:1921 | Replica | running | 2 | 0 |
| node3 | 10.16.16.157:1921 | Replica | running | 2 | 0 |
+--------+-------------------+---------+---------+----+-----------+
Maintenance mode: on
手动主备切换
patronictl switchover
Master [node1]:
Candidate ['node2', 'node3'] []: node2
When should the switchover take place (e.g. 2022-05-10T13:57 ) [now]:
Current cluster topology
+--------+-------------------+---------+---------+----+-----------+-----------------+
| Member | Host | Role | State | TL | Lag in MB | Pending restart |
Cluster: halo-cluster (7078872291747273152) ---+----+-----------+-----------------+
| node1 | 10.16.16.155:1921 | Leader | running | 2 | | |
| node2 | 10.16.16.156:1921 | Replica | running | 2 | 0 | |
| node3 | 10.16.16.157:1921 | Replica | running | 2 | 0 | * |
+--------+-------------------+---------+---------+----+-----------+-----------------+
Maintenance mode: on
Are you sure you want to switchover cluster halo-cluster, demoting current master node1? [y/N]: y
2022-05-10 12:57:57.44645 Successfully switched over to "node2"
+--------+-------------------+---------+---------+----+-----------+-----------------+
| Member | Host | Role | State | TL | Lag in MB | Pending restart |
Cluster: halo-cluster (7078872291747273152) ---+----+-----------+-----------------+
| node1 | 10.16.16.155:1921 | Replica | stopped | | unknown | |
| node2 | 10.16.16.156:1921 | Leader | running | 2 | | |
| node3 | 10.16.16.157:1921 | Replica | running | 2 | 0 | * |
+--------+-------------------+---------+---------+----+-----------+-----------------+
Maintenance mode: on
重启其中一个节点
patronictl restart halo-cluster node3
+--------+-------------------+---------+---------+----+-----------+-----------------+
| Member | Host | Role | State | TL | Lag in MB | Pending restart |
Cluster: halo-cluster (7078872291747273152) ---+----+-----------+-----------------+
| node1 | 10.16.16.155:1921 | Replica | running | 3 | 0 | |
| node2 | 10.16.16.156:1921 | Leader | running | 3 | | |
| node3 | 10.16.16.157:1921 | Replica | running | 2 | 0 | * |
+--------+-------------------+---------+---------+----+-----------+-----------------+
Maintenance mode: on
When should the restart take place (e.g. 2022-05-10T13:58) [now]:
Are you sure you want to restart members node3? [y/N]: y
Restart if the PostgreSQL version is less than provided (e.g. 9.5.2) []:
Success: restart on member node3