Connect :
Uptime :
Primary
40 Days
6 Hour
3 Min.
老朽化した自宅サーバとサービス終了したCloudGarageからの引越し先として、
新サーバの構築を進めているのだが、内部データベースの構成をどうするかが課題だった。
当初、MariaDB Galera Clusterを利用しようと考えていたが、
安定稼働に必要なメモリ容量と、スプリットブレイン対策の奇数台数運用がネックだった。
また、DBが完全停止した時のサービス再起動にも細かい手順が必要だったり、
DBを本職としていない筆者には難易度が高すぎるのでお蔵入りになってしまった。
………
そうなると、レプリケーション構成が候補にあがるのだが、
こっちはこっちで、Master消失時にSlaveをMasterに自動昇格する方法が問題になった。
スクリプトを自作しても良かったが、日々のメンテナンスが辛くなりそうなので没に。
他に使えそうな物がないか調査した所、
MaxScaleを使うとクエリのロードバランスと自動昇格が出来る事が判明。
何処かのパブリッククラウド基盤にも採用していた筈で、稼働実績がありそうなのと、
MariaDB Galera Clusterの構成にMaxScaleも組み込まれている事が多いので、
今後の技術検証にも使えると判断し自鯖バックエンドDBに採用する事にした。
フィルタリングを集中管理する為に便利なので、sieveプラグインを利用しているが、
sieveプラグインを同梱している”dovecot-pigeonhole”のパッケージがCentOS8に無く、
ネットの海を右往左往したのでその備忘録。
原因は、RHEL8.0をリリースする際にdovecot-pigeonholeパッケージが削除された影響。
CentOS8はRHEL8を元にリビルドしている都合上、
大元となるRHEL8.0に含まれていないパッケージは含まない傾向がある。
ただ、至る所からブーイングが出たのか、
Red Hat Bugzillaで『次期RHEL8には”dovecot-pigeonhole”を含める』とアナウンスがあった。
実際、MBOX Kojiにもdovecot-pigeonholeパッケージが準備されている事を確認。
ただし、何かしらの理由があるのか、まだ403の状態になっていた。
という事で更に調査を進めると、独自ビルドした謎RPMを配布していたり、
自力でビルドしてdovecotと連携させる回避策が出てきた。
今回、メール鯖を刷新するにあたりdovecotが使えないのは致命的過ぎるので、
筆者はdovecot含めて全部独自ビルドする事に。
日頃からソースビルドは良く実行しているので特に苦も無く起動までこぎ着ける事が出来た。
ビルドオプションは次の通り。他にはsystemd.serviceファイルも作成したが、
全部書くとそれなりの量になるので、サーバ刷新が一段落したタイミングで書こうと思う。
|
◇dovecot ◇Pigeonhole |
これで、残るは起動テストのクリアとメールデータの移行&切り替えになる。
残る作業が一番の山場なので、自鯖と言えども丁寧に切り替えを実施したい。