[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .

ケーススタディ: FML.ORG サーバ間での引越

FML.ORG で第四世代から第五世代サーバへ引越しをした時の記録です。 以下に参考資料としてまとめておきます。

結論から言えば、fml4 → fml8 コンバータは使いませんでした。 すべてをコピーして MTA 用の設定を生成しました (include のたぐいは強制上書きしました)。

(1) 新サーバを用意します。 ホスト名は今まで使ったことのない新しいものをつけました。 この段階では、 "新サーバでインターネットからのメールを受け付けない" ようにしてください。

(2) 新サーバでの Postifx の設定をしてください。 Postfix は localhost と新ホスト名だけを mydestination として受けとるように設定します。 使ったことのあるドメインすべてをバーチャルドメインとして処理するためです (あとで fml8 が生成する virtual_maps の設定で Postfix がバーチャルドメインとしてメールを受信するようになります )。

(3) 旧サーバでの fml8 あてメールをすべて処理します。 旧サーバの Postfix でメールを新たに受信しないようにし、 新たにメールを受け付けないように設定しておいてください ( 例: smtpd プロセスを止めるか、 Postfix で inet_interfaces = localhost に設定するなど… もちろん smtpd プロセスを止めるほうがよいです。 )。

そして Postfix のキューを無くしてください(flush しつくしてください)。 残っているキューを調べML宛のものがないことを確認します (mailq と postcat、削除するなら postsuper も使ってください)。 ps で走っているプロセスがないか?も確認してください。

旧サーバで処理されるべきメール (fml へ入力する方向のメール)がすべてなくなった、 つまり、これ以上のMLの更新がなくなったことに自信ができたら、 次のステップへ進んでください。

(4) 旧サーバから新サーバへMLのデータすべてをコピーします (つまり /var/spool/ml 以下すべてのデータをコピーといったことです)。 時間をかけないために、もちろん事前にコピーがしてあり、 最後の差分だけをコピーするべきです (たとえば rsync を使って行なってください)。

(5) MLのパスを再配置します。

ベースディレクトリ/ドメイン名/ML名

例:
/pub/ml/labs.example.org/
/pub/ml/test.example.org/info
/pub/ml/test.example.org/test
   ...
として、ドメイン名がはっきり分かるようにしました。

(6) ドメインごとにMLの設定を再生成します。

% su root
# makefml newdomain ドメイン名 ベースディレクトリ/ドメイン名
# suspend
% makefml --force newml ML名1
% makefml --force newml ML名2
   ... 必要なもの全部 ...
config.cf include ファイル群、MTA用の設定ファイルが生成されます。 デフォルト値と異なる設定のMLは config.cf を編集してください。

(7) fml8 が生成する Postfix の設定ファイルのパスを Postfix へ反映させます。 fml8 がドメインごとに生成したファイルを Postfix の alias_maps と virtual_maps へ設定を追加し、 動作確認をしてください。

(8) ドメインの数だけ (6)(7) を繰り返してください。

例: MLで利用するドメインは /vol/ml/ドメイン/ としました。 この下に各ドメインのML群が生成されます。 以下の例では bsg.example.org ffs.example.org nsrg.example.org の3ドメインがあります。

[/usr/pkg/etc/postfix/main.cf の例]

alias_maps      =       hash:/etc/mail/aliases
                        hash:/vol/ml/bsg.example.org/etc/mail/aliases
                        hash:/vol/ml/ffs.example.org/etc/mail/aliases
                        hash:/vol/ml/nsrg.example.org/etc/mail/aliases


virtual_maps    =       hash:/usr/pkg/etc/postfix/virtual
                        hash:/vol/ml/bsg.example.org/etc/postfix/virtual
                        hash:/vol/ml/ffs.example.org/etc/postfix/virtual
                        hash:/vol/ml/nsrg.example.org/etc/postfix/virtual

(9) ローカルでテストをして問題がないようなら、 新サーバでインターネットからのメールを受け付けるようにします (/etc/postfix/main.cf の inet_interfaces か /etc/postfix/master.cf を編集し、 念のため postfix reload ではなく postfix stop して postfix start)。

これで終りです。きれいになりましたね。

なお、WWW アーカイブの作りなおしなど必要なら、さらに作業が続きます。 本ドキュメントの該当する記述を参照して下さい。

[HOME] [github] [twitter] [blog] [fml4] [fml8] [北海道] Powered by NetBSD and [nuinui.net] .
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >