質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

Q&A

解決済

1回答

5933閲覧

Postfix+Dovecotのメールサーバーを移行する手法について

believein

総合スコア6

Dovecot

Dovecotとは、POPやIMAPサーバーを提供するMDA(メール配送エージェント)の一つです。

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

Postfix

Postfixは、電子メールサーバソフトウェアで、 メールを配送するシステムMTAの一種です。

0グッド

1クリップ

投稿2019/08/08 10:40

Postfix + Dovecotのメールサーバーを別のサーバーに移行する方法に関してアドバイスいただきたいです。

仮想サーバー上で稼働しているメールサーバーを、ハードウェア老朽化に伴い、新サーバーに移行することになりました。
移行先サーバーは移行元サーバーの複製で、ほぼ同じ内容です(仮想マシンのイメージエクスポート/インポートにより作成)。
グローバルIPは異なります。
移行元サーバーは稼働中で、移行先サーバーとはメールボックス等に差分が発生しています。

メールサーバー移行はメールの取りこぼし等を防ぐため、新旧サーバーを平行稼働させて双方のサーバーから受信するのが一般的かと思いますが、双方のサーバーから受信するにはメールクライアントの設定をしてもらう手間がかかり、また、ドメインも複数あるため、メールサーバーのDNS切り替えだけで済ませる方法がないか検討しています。

DNS切り替えで済ませるにはメールボックスの同期が必要かと思い、いくつか検討しました。

  1. Dovecotのdsyncを利用する

https://wiki.dovecot.org/Replication

  1. rsync等でメールボックスディレクトリを同期する
  2. メールリレーを使用する

https://jestersera.hatenadiary.org/entry/20061017/1161023425
こちらのパターンAの方法

1はDovecotのバージョンが古い(1.0.7)ため利用できなさそう。
2は対象とするディレクトリ・ファイルが不明。また、問題なく同期できるのかが不明。
3はPOP3でどこまで受信したかも問題ないか?(UIDLが同一になるのか?)が不明。また、取りこぼしが発生しないのかが不明。リレーの設定をした場合、どちらのサーバーでも同じように受信できるのでしょうか?

今のところ3で行きたいと思っていますが、問題点・注意点等あれば指摘いただきたいです。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

scsi

2019/08/08 10:53

メールデータの移行は必須ですか? ダウンタイムは無しですか?それとも数時間止められる環境ですか?
believein

2019/08/08 11:07

「メールデータ」の指す範囲にもよりますが、受信メールをユーザーが取りこぼしなく受信できることは必須です。 ダウンタイムは出来れば無しが良いですが、数時間であれば止められるかもしれません。 その間に受信したメールは数時間であれば確実に再配送されるでしょうか?
guest

回答1

0

ベストアンサー

移行先サーバーは移行元サーバーの複製で、ほぼ同じ内容です(仮想マシンのイメージエクスポート/インポートにより作成)。
グローバルIPは異なります。

と、書いてあると言うことは、新サーバの構築手順は既にあると思うので、
停止していいなら下記はどうでしょうか。

1.移行元サーバ停止
2.移行元サーバのエクスポート
3.移行先にインポートして構築
4.mx や 各種DNSレコードを新環境用に設定

上記作業が一日かからなければメールの取りこぼしもしないと思います。

投稿2019/08/08 11:03

編集2019/08/08 11:06
scsi

総合スコア2840

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

believein

2019/08/08 11:15

回答ありがとうございます。 仮想マシンイメージのエクスポート、インポートはホスティング業者の作業のため、再度実施するのは難しい状況です。 最初からメールサーバーの移行まで計画していれば良かったんでしょうが…。
scsi

2019/08/08 11:18

なるほど、と言うことは、どんどん差分が出てきている状態ですね。理解しました。面白そうなのでもうちょい検討してみます。
scsi

2019/08/08 11:33

- 2.rsync等でメールボックスディレクトリを同期する dovecotの設定に保存先が書いてあるので、両方のサーバの postfix停止とdovecot停止をしてから rsync で差分同期し、新環境にDNSを切り替えればいいかと思います。 - 3. メールリレーを使用する リレーの設定をした場合、どちらのサーバーでも同じように受信できるのでしょうか? 参照先の方法ではリレー先(新環境)でしか新しいメールはMBOXに保存されません。よって、新環境にPOPしないとクライアントは新しいメールを読むことはできません。新環境に届くので取りこぼしてはいないですね。
scsi

2019/08/08 14:15

ユーザの認証情報が外部データベースでない場合、今パスワードを変更された場合、移行先と差異が出ますが大丈夫でしょうか
believein

2019/08/09 08:34 編集

ありがとうございます。 - 2.rsync等でメールボックスディレクトリを同期する /etc/dovecot.conf に、以下の記載がありました。 mail_location = maildir:/home/mail/vhosts/%d/%u/Maildir 「/home/mail/vhosts/」このディレクトリ以下で同期すれば、メールデータについてはすべて同期されると考えて良いでしょうか。 /var/spool/postfix/以下のファイルで最近更新されているファイルがあったのですが、Postfix関連のファイルは同期不要でしょうか。 また、同期してからDNSを切り替えて浸透するまでの間の差分が気になります。 TTLは300等に短くし、移行元のPostfixとDovecotは停止したままにしておけば、浸透が遅い環境でも再配送の仕組みで問題なく配送されるでしょうか。 思い付きですが、同期後に移行元サーバーへのSMTP/POP3通信をポートフォワーディングで移行先に転送すれば、浸透の時間も気にすることなく、ダウンタイムも最小限で済むかと思いましたが、どうなんでしょうかね?(^_^; →その後、調べたらやっている方がいました(http://park1.wakwak.com/~ima/centos_mailserver0001.html)。 1.移行元のPostfixとDovecot停止 2.移行先にMaildir同期 3.ポートフォワーディング設定 4.DNS切り替え 5.DNS浸透を待って移行元にアクセスが来なくなったら移行元停止 こんな流れをイメージしています。 - 3. メールリレーを使用する なるほど、リレー先でしか読めないんですね。 とすると、この方法では難しそうですね。 ユーザ認証情報は、恐らく自分で変更する方法を提供していないので問題ないと思います。
scsi

2019/08/09 11:28

ポートフォワーディングは私は実施しないでいいと思います。どうせ止める時間があるのだから手順増やすだけであまり旨味がありません。 1. 移行先にMaildir 同期 2. 移行元、移行先の postfix停止、dovecot停止 3. 移行先にMaildir 同期 4. 移行先の dovecot起動、postfix起動 5. DNS切り替え 6. 移行元にて、外部からのsmtp接続を遮断 7. 移行元にて、外部への再送queueがある場合はpostfixを起動、再送queueがなくなったら停止
scsi

2019/08/09 11:30

dovecotの同期データはそれでいいと思います。 Postfixのデータについては私の提示した方法であれば同期する必要はありません。
believein

2019/08/12 06:00

7でキューに溜まっているメールを再送させればPostfixの同期は不要ということですね。 このあたりは知識不足ですのでもう少し調べてみようと思います。 この方法で移行する方向で手順等、詰めて行きたいと思います。 おかげさまで、大分不安が解消されました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問