請問一下, 是否有所謂利用 HA 架構下提供mail服務, 且具備Active-Active 兩台主機都是同時運作的架構 ?
HA的架構下, 基本上都是Active-Standby, 特別是Mail server在讀寫的時候, 應該不可能兩台機器都能夠 mount 外掛的Storage 進行讀寫, 只能由 Active Server 進行讀寫, 否則資料一致性會有問題, 且會有檔案lock的問題. 當然若是詳細拆開 mail server 元件, 例如 mta 部分做 Active-Active 當然沒問題, 設定兩筆 MX , 就可以做 Active-Active mail 的入口, 但是 mailbox 儲存部分只能做 Active-Standby, 這個應該沒錯吧?
請指教一下. 感謝.
Exchange 2010 呢?
前端的 CAS 用 NLB 作成 Load Balance, 這應該算是 Active-Active 的吧?
後端的 Mail Store 作成 DAG, 這個也是 Active-Active 吧? (同步複寫)
還有哪個元件是 Passive 的?
參閱一下:
拿PC當Server實戰經驗大募集,你有什麼精彩的應用經驗嗎?
我所分享的舊經驗。
其中的圖網址變了,未秀出來,貼在此:
其中的 Ultra1或說是POP3 的那一台,
是用 Rose HA 的HA Solution,當時在台灣,現在跑到大陸了。
mailbox 儲存部分只能做 Active-Standby
這是沒有疑問的;但是:
例如 mta 部分做 Active-Active 當然沒問題, 設定兩筆 MX , 就可以做 Active-Active mail 的入口
要把 MX 的Server來做 HA,並設成兩筆 MX 就似乎沒此必要。
建議是用其他的電腦來當做前端的 MX,
然後送到後端的 Mail Server 來儲存 User 的信件,
而只有這儲存信件的 Mail Server,才需要用 HA 的機制。
MX 真的不需要 HA 的機制,
只要多設幾台 MX,就可以有很好的容錯機制了。
MX Frontend 沒做 HA 的風險, 在於可能發生少量掉信的問題.
假設, 一個流量很大的 Mail station (100封/sec 以上), 前端 MX 收信後, 還要再 Dispatch 到後端的 mailbox, 中間會有時間差, 此時若 MX 收了信, 在還沒送給 mailbox 之前掛掉, 這些信件就會憑空消失 (因為送信端以為已經送完了, 不會重送).
但若 MX 有 HA 的話, 一台掛掉, 會有另一台接手繼續把信往 mailbox 送, 就不會掉信. 當然, 前提是這個 MX 的 HA 要用 shared storage 才行.
此時若 MX 收了信, 在還沒送給 mailbox 之前掛掉, 這些信件就會憑空消失 (因為送信端以為已經送完了, 不會重送).
已經在 queue 中的信件,可能還是在 mqueue 裡面,
除非為了效能緣故而把 queue 寫在記憶體中而不寫在硬碟中,
不然工作未完成可能不會憑空消失。
當然如果 已在 queue 中又掛掉的話,
HA 機制啟動後,應該會把掛過來的陣列裡的 queue 重送才是;
理論上是這樣推想。
自己曾經把一台裡的queue移到另一台跑,
印象中不曉得什麼原因好像無法傳送成功;
您不妨試驗看看信傳到MX1,
故意讓MX1往後送的連線拔掉,
queue在MX1裡,
然後將MX1裡面的 queue 移到 MX2,
看看 MX2 能否順利往後送,
如果 MX2 可以順利往後送,
HA 的機制在 MX 就應可行。
一個流量很大的 Mail station
通常應是會設多個 MX 來分散流量及負載,
而不大會用 單一 MX + HA 的機制來強調其MX的可用性。
初用 HA 時總會覺得一台得 standby 好浪費,
希望在待命的同時也分擔些工作。
這可能是樓主想看看是否有此可能。
你講到了重點,HA架構下,兩邊同時運作,要確認資料寫出入是否為同一份
或不同一份,該如何進行比對寫入同一份資料
一般 瑞鑫資訊MX MAIL,雖也是建議客戶在HA架構下是利用DNS 架構去做
但資料兩邊是一樣的,各自一份,但現在 HA架構議題比較少(我們的認知)
因為,MX MAIL提共軟體進行自動備援與移轉等,或是透過內漸備援架構
或是透過虛擬化 HA架構,均已經完善整個 email 系統啦
以上由 :瑞鑫資訊 MX MAIL 提共意見參考