所以场景是这样的。我已经设置了一个 4 节点 MariaDB Galera 集群(10.5)。我还在顶部添加了第 5 个 Galera 仲裁器,一切都同步和连接得很好。但是,当我在集群上启用 SSL 时(从头开始引导它之后),我能够同步 4 个节点,但由于某种原因仲裁器不同步。
有趣的是,当节点同步时,它们会输出“connecting...ssl://172.31.0.4:4567”。但是,当仲裁器尝试同步时,它会输出“connecting...tcp://172.31.0.4:4567”。似乎出于某种原因它正在尝试通过 tcp。
当我启动它时,它的配置是这样的
name: garb
address: gcomm://mariadb-galera-0:4567,mariadb-galera-1:4567,mariadb-galera-2:4567,mariadb-galera-3:4567,mariadb-galera-arb:4567
group: scluster
sst: trivial
donor:
options: socket.ssl_key=/etc/ssl/galera/server-key.pem;socket.ssl_cert=/etc/ssl/galera/server-cert.pem;socket.ssl_ca=/etc/ssl/galera/ca-cert.pem;socket.ssl_cipher=AES128-SHA; gcs.fc_limit=9999999; gcs.fc_factor=1.0; gcs.fc_master_slave=yes
cfg:
log:
它不会给我一个 ssl 或证书错误只是超时
INFO: (8bef8261-9d27, 'tcp://0.0.0.0:4567') connection to peer 00000000-0000 with addr tcp://172.31.0.4:4567 timed out, no messages seen in PT3S, socket stats: rtt: 39 rttvar: 19 rto: 200000 lost: 0 last_data_recv: 3500 cwnd: 10 last_queued_since: 3499991400 last_delivered_since: 3499991400 send_queue_length: 0 send_queue_bytes: 0
这些pem
文件与我在所有节点 + 仲裁器中使用的文件完全相同。
我在文档中阅读了我需要指定的内容,cipher
否则我会收到错误消息。我尝试过AES128-SHA
并且AES128-SHA256
根本没有声明它,但仍然超时。
下面是来自其中一个节点的 phpmyadmin 的 wsrep 提供程序选项。似乎是空的cipher
,但又为什么仲裁员试图连接到“tcp://”而不是像其他人一样连接到“ssl://”?
感谢您的帮助
有一个标志
socket.ssl
= yes 表示garbd
需要的选项由于某种原因没有记录在案,需要启用 arb 以尝试通过 SSL 连接。