Maxscaleで設定ファイル編集後reloadを行う

systemctlでMaxscaleを使っていると、どうもreloadが利用出来ない状態になっている事に気づく。
こうなると、設定ファイルを編集した後、またいちいちrestartしないといけないのかなぁ…と思っていたのだが、どうやらreloadは出来るようだ。

Maxscaleには管理コマンドであるmaxadminというコマンドがあるのだが、これでreloadが行えるのだ。
以下、reloadコマンド。

maxadmin -p mariadb reload config

ただし、サーバの追加・削除に使うにはちょっと怖い挙動をしている。
サーバを追加したり削除すると、どうも上手く動いているように見えないのだ。

以下、その挙動。

サーバ追加時

[root@BS-PUB-GFRONT-01 ~]# maxadmin -p mariadb list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
BS-PUB-GALERA-02   | 172.28.0.133    |  3306 |           0 | Master, Synced, Running
BS-PUB-GALERA-03   | 172.28.0.134    |  3306 |           0 | Slave, Synced, Running
-------------------+-----------------+-------+-------------+--------------------
[root@BS-PUB-GFRONT-01 ~]# # BS-PUB-GALERA-01を追加
[root@BS-PUB-GFRONT-01 ~]# vim /etc/maxscale.cnf
[root@BS-PUB-GFRONT-01 ~]# maxadmin -p mariadb reload config
Reloading configuration from file.
[root@BS-PUB-GFRONT-01 ~]# maxadmin -p mariadb list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
BS-PUB-GALERA-01   | 172.28.0.132    |  3306 |           0 | Running
BS-PUB-GALERA-02   | 172.28.0.133    |  3306 |           0 | Master, Synced, Running
BS-PUB-GALERA-03   | 172.28.0.134    |  3306 |           0 | Slave, Synced, Running
-------------------+-----------------+-------+-------------+--------------------

サーバ削除時

[root@BS-PUB-GFRONT-01 ~]# maxadmin -p mariadb list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
BS-PUB-GALERA-01   | 172.28.0.132    |  3306 |           0 | Slave, Synced, Running
BS-PUB-GALERA-02   | 172.28.0.133    |  3306 |           0 | Master, Synced, Running
BS-PUB-GALERA-03   | 172.28.0.134    |  3306 |           0 | Slave, Synced, Running
-------------------+-----------------+-------+-------------+--------------------
[root@BS-PUB-GFRONT-01 ~]# # BS-PUB-GALERA-01を削除
[root@BS-PUB-GFRONT-01 ~]# vim /etc/maxscale.cnf
[root@BS-PUB-GFRONT-01 ~]# maxadmin -p mariadb reload config
Reloading configuration from file.
[root@BS-PUB-GFRONT-01 ~]# maxadmin -p mariadb list servers
Servers.
-------------------+-----------------+-------+-------------+--------------------
Server             | Address         | Port  | Connections | Status
-------------------+-----------------+-------+-------------+--------------------
BS-PUB-GALERA-01   | 172.28.0.132    |  3306 |           0 | Slave, Synced, Running
BS-PUB-GALERA-02   | 172.28.0.133    |  3306 |           0 | Master, Synced, Running
BS-PUB-GALERA-03   | 172.28.0.134    |  3306 |           0 | Slave, Synced, Running
-------------------+-----------------+-------+-------------+--------------------

サーバを追加すると、Statusの表示からちゃんと認識されていないように見えるし、削除(コメントアウト)しても普通にリストに表示されてしまっている。
もしDBサーバを追加・削除するようであれば、各Maxscaleサーバを1台づつ再起動するのがいいかも知れない。