バックボーン管理鯖をopenSUSE 15.3にアップグレードした
ns-lab BBでは色んなLinuxディストリビューションを使う事でシステムが偏らないようにしている。
バックボーン設備も例に漏れずマルチディストリビューション構成なのだが、
その中でもDHCP兼バックボーン管理サーバを兼ねているopenSUSE 15.2をそのままにしていた。
冗長化していると言ってもDHCPサーバが止まるとPCや無線接続スマホが通信出来なくなるので、
慎重にアップグレードする必要があったのと、
自作プログラムも動いているので慎重にアップグレードする必要があった。
最近は毎週末がバタバタしていたのだが今日だけはなんとか時間を確保出来たので、
DHCP兼バックボーン管理サーバを、openSUSE 15.2からopenSUSE 15.3にアップグレードしてみた。
今回も公式が公開しているopenSUSE15.3アップグレード手順に沿って作業。
ディストリビューションのアップグレード自体は問題無く完了したのだが、
メール関係でハマりポイントが出てきたのでメモしておく。
1. Postfixがhashをサポートしなくなる
題の通りだが、最近のPostfixはハッシュDB(hash)をサポートしていないので、
Postfixのaliase設定にhashを使っていると次の様なエラーを吐いて落ちてしまう。
error: unsupported dictionary type: hash
warning: transport_maps is unavailable. unsupported dictionary type: hash
|
サードパーティのプラグインを入れればhashを使えるらしいが、折角なのでlmdbに切り替えた。
lmdbに切り替えた場合、postmapも再実行してDBを再生成する必要がある。
そのままpostmapを実行しただけではダメなので “postmap lmdb:transport_maps” の様に接頭辞を付ける。
2. Dovecotでdh.pemが必要になる
コレはCentOS8でも起きたので知っている人がいるかもしれないが、
openSUSEのDovecotでdh.pemを設定していない場合、コマンド実行もエラーになる場合がある。
コマンドでもエラーを吐くのがネックで、APIにも影響が出てしまい見事にエラーを踏み抜いた。
対応するのは簡単で “openssl dhparam -out /etc/dovecot/dh.pem 4096” を叩いた後に、
dovecotのコンフィグに “ssl_dh = </etc/dovecot/dh.pem” を追加すれば動くようになる。
コマンドやAPIのみを使う場合、dovecotをdaemonとして起動させる必要は無いのだが、
コンフィグに追記しないと動かないので注意する。
………
久々にサーバを弄ったので思い出しながらになったので時間がかかったが面白かった。
技術屋たる者、やはり手を動かしてなんぼだと再認識した土曜日でした。