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台づつ再起動するのがいいかも知れない。