Sympaのマイグレーション(移設)¶
OSを更新する場合などで移行を行う場合のケース
前提条件¶
基本的にトラブルを避けるため移設前後でのバージョン差異はないものとしたい。
そのため、バージョンアップを伴う場合は次のいずれかの手順とするのが理想。
- あらかじめ移行前に移行先と同じバージョンに上げておき移行する
- 移行前のバージョンで移行を行い、移行がおわってからバージョンアップする
なお、各種tt2テンプレートを弄ってある場合、オリジナルのtt2ファイルがバージョン
アップで変更されてしまい、元のtt2ファイルでは更新後の動作に支障が出る場合がある
ため、次のいずれかのような対応が必要となる場合がある。
- カスタムしたtt2ファイルは(いったん)移行しない
- 更新前後のtt2ファイルのdiffを取り、更新後の変更点をカスタム版にマージする(大変)
以上の点を踏まえてバージョンが揃っている前提で下記手順を実施します。
もし相当するバージョンが存在しない場合、極力旧設定ファイルから新しい設定ファイル
へ互換性のある設定を手作業で移すなどし、事前に検証することを勧めます。
(dbのアップグレードが対応していない場合は、その点も諦める必要があります)
移行中はサービスダウンするため、可能であればメーリングリストサーバの前段でpostfixの
transportとholdで配送経路選択と配送保留を実施出来るようにするため、一時的な保留用
のMTAを挟んでおくことが望ましいです。
移行するリソース¶
システム連携やカスタマイズを除くと、下記のようなリソースを最低限移行する必要があります。
- /etc/sympa
設定ファイル、tt2テンプレート等のデータ - /var/spool/sympa
処理中やエラーなどのスプールデータ - /var/lib/sympa/list_data
リスト設定データ - /var/lib/sympa/arc
アーカイブを設定している場合のアーカイブ内容 - /var/lib/sympa/bounce
読者ごとの直近のバウンスデータ - 使用しているsympaデータベース
ログインユーザや、各リストごとの読者情報
作業内容¶
- 事前に移行先に適宜設定したpostfixと、移行元と同一バージョンのsympaを構築しておくこととします
- 前段MTAでメールを保留します(できれば)
- DNSの切替を行います
- 双方のsympaを停止します
- 移行元サーバ側の「移行する(上書きされる)リソース」とDBを退避しておきます
ディレクトリは「名前_old」などリネーム、DBはこの段階の物をダンプしておく等 - 前述の移行するリソースを移行元から移行先に転送します
- 移行してきたディレクトリを元の場所に配置します
- 移行してきたDBをリストアします
移行先で検証時にある程度利用している場合、それに対して「差し替え」ではなく「追記・上書き」となるため、
場合によってはDBはリストア前にdropしておくことをお勧めします。 - 「sympa.pl --upgrade」でDBの正常性を確認します
多少のバージョン違いであればアップグレードしたり、不足するテーブルを追加してくれます - 「sympa_newaliases.pl」でエイリアスファイルが更新出来ることを確認します
- sympaサービス、wwsympaサービスを起動します
- 保留したメールの流れる先を移行先サーバに切り替え、メールの保留解除を行います(できれば)
切り戻す場合¶
逆の手順で移行するリソースを再度移行元サーバに転送し差し替えます。
ログインユーザや読者等を変更している場合のみ、必要に応じてDBの書き戻しも行います。