[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[postfix-jp: 2530] Re: 運用中な sendmail を別ホストの postfix に移行したい



松元です。

In article <20070312090259.C184.TAKAESU@xxxxxxxxxxxxxxxx>
takaesu@xxxxxxxxxxxxxxxx writes:
>> > 業務用サーバだったら移行テスト用にサーバを別途立ててから、実際に
>> > 試した方がいいですよ。私も長年似たような作業をしていますが、メール
>> > サーバの移行作業は想定外のトラブルが起きますね。というわけで実際
>> > にテストサーバを立ててから分からない点があれば再度質問してください。
>> 
>> テスト用のサーバは用意しました。
>> 移行手順としては以下の流れで良いのでしょうか?
>> (以下、sendmailサーバを Aサーバ、postfix を Bサーバ と仮定します)
>> 
>> 0. DNS の MXレコードを A から B に変更する
>> 1. A の sendmail 停止。キューのフラッシュ。
>> 2. A の /etc/aliases を B にコピー(細かいフォーマットの非互換性を考慮する)
>> 3. A の ~/.forward を B にコピー(細かいフォーマットの非互換性を考慮する)
>> 4. A の mbox を tar で固めて B へ展開(互換性があるのか?)
>> 5. B の postfix を起動
>> 
>> ここまで考えて浮かぶ疑問は
>> ・DNS書き換えのタイムラグとかはどう影響するのだろう?

IPを変更する場合はDNSの変更タイムラグはどうにもなりません。

# 奇策として、MXを二つ定義しておくとか。
# 
#   IN MX 10 mail_old_sv.example.co.jp
#   IN MX 10 mail_new_sv.example.co.jp
#
# 移行時間前に二つにしておきmail_newはfirewall等で25番を蹴るように
# しておく。この時即時エラーになるように、firewallを調整してください。
# 良く覚えてませんが、即時エラーになる設定と、ACKパケットを捨ててしまう
# 設定があります。後者の場合はタイムアウト待ちになりよくありません。
# 
# でもMX二重定義はやった事ないのでうまくいくかわかりません。

タイムラグを最小にするには、IPそのままでPCを差し替えるしか。PCを差し替
える場合でもmbox/mailqの同期作業が入りますので、やはりコピーの時間だけ
停止するしかありません。

IPアドレス書き換え作業を以前行った内容を記憶でかくとこんな感じかと思い
ます。

1. 別IP/別ドメインで新サーバを立てる。諸設定をすべて済ませる。

2. 新サーバでドメイン変更/IPアドレスの変更のテストを十分行う。

関係しそうなファイル:

   /etc/hosts
   /etc/postfix/main.cf,master.cf
   /etc/sysconfig/network
   /etc/sysconfig/network-scripts/ifcfg-eth?
   他にもあるかも。
   SSL関係は新ドメイン用に鍵を生成しておく。

3. 旧サーバのsendmail/pop/imapを停止。
  以降絶対立ち上がらないようにrenameするのがベスト。

4. mbox/mailq の同期。

  sendmail,postfix, pop, mbox 等々を全て停止。可能なら上位
  ルータで25番、110番等を出る方/入る方両方閉じてください。

  mbox(/var/spool/mail/*) は私が実行した時はsendmailからpostfix
  にコピーしても問題ありませんでした。このあたりは事前確認
  が必要かと思います。

  残っているmailqをtar等で固め、新サーバにコピー。

5. 新サーバのIP/ドメイン書き換え。

  この作業中rebootしたりした時にpostfix/pop/imap等が勝手に立ち上がらな
  いよう十分注意してください。可能なら/etc/rc.d/init.d/あたりのファイル
  を書き換えて間違っても実行できないようにしておいてください。

6. mailqの同期。
   これはpostfix同士のバージョンアップなら簡単に出来るのですが、MTAが違う
   と少々難しいです。手作業で一通一通やるしかないかも。メールの中身を確
   認して該当者に直接メールを送るとか再送を依頼するとかいう作業になります。

   -> まぁググったら良い方法があるかもしれないので調べてください。

7. 内部で可能な限りメールの送受信テスト

8. firewallの出る方のポートを解放して、諸テスト

8. firewallの入る方のポートを解放して完了。

>> ・本番を運用しつつ、テストはどうすれば良いのだろうか?
>> 等です。

別ドメインで立てればいいんじゃないですか? よくやりますが、例えば
 example.co.jp というドメインのサブドメイン mailtest.example.co.jp
とかを定義してテストしています。

--
Ryuji Matsumoto
Kyushu Institute of Technology.(Japan)
_______________________________________________
Postfix-jp-list mailing list
Postfix-jp-list@xxxxxxxxxxxxxxxxxxxx
http://lists.sourceforge.jp/mailman/listinfo/postfix-jp-list

References
[postfix-jp: 2528] Re: 運用中な sendmailを別ホストの postfix に移行したい, N.Takaesu

[検索ページ] [Postfix-JP ML Home]