Qmail下建立大容量郵件系統簡答(轉)

subid發表於2007-08-15
Qmail下建立大容量郵件系統簡答(轉)[@more@]Q:有沒有現成的patch,我已經設好qmail+vpopmail+oracle+sqwebmail但是我有20臺主機要叢集前端為收發mail的gateway,怎麼轉發到後端機器我想透過LDAP的maildrop功能實現是不是可行考慮到安全原因,不想把Mail儲存伺服器暴露在外面
Documentation is like sex. When it is good, it is very very good. When it is bad, it is better than nothing.
-- Bruce Perence

A:大哥.問你一把 vpopmail如何和oracle一起使用 ? 和Mysql一樣麼 有什麼好的這方面的資料 給說說 謝謝!!!如果希望負載平衡 能不能試一試dns rotate?
要麼看看 下面的 資料:
Linux Virtual Server,簡稱LVS。是由中國一個Linux程式設計師發起的開發專案計劃,其實現目標是建立一個具有良好的擴充套件性、高可靠性、高效能和高可用性的,基於Linux系統的伺服器叢集使用LVS架設的伺服器叢集系統從體系結構上看是透明的,終端使用者只感覺到一個虛擬伺服器物理伺服器之間可以透過高速的LAN或分佈在各地的WAN相連。最前端是負載均衡器,它負責將各種服務請求分發給後面的物理伺服器,讓整個叢集表現得象一個服務於同一IP地址的虛擬伺服器。
LVS叢集系統具有良好的可擴充套件性和高可用性。可擴充套件性是指,LVS叢集建立後,可以很容易地根據實際的需要增加或減少物理伺服器。而高可用性是指當檢測到伺服器節點或服務程式出錯、失效時,叢集系統能夠自動進行適當的重新調整系統。LVS的高可用性的實現,將在15.7節詳細介紹。
21.6.2 LVS是如何工作的
Linux Virtual Server的主要是在負載均衡器上實現的,負載均衡器是一臺加了LVS Patch的2.2.x版核心的Linux系統。LVS Patch可以透過重新編譯核心的方法加入核心,也可以當作一個動態的模組插入現在的核心中。負載均衡器可以執行在以下三種模式下中的一種或幾種: 1)Virtual Server via NAT(VS-NAT):用地址翻譯實現虛擬伺服器;2)Virtual Server via IP Tunneling (VS-TUN):用IP隧道技術實現虛擬伺服器;3)Virtual Server via Direct Routing(VS-DR):用直接路由技術實現虛擬伺服器。另外,還需要根據LVS應用對物理伺服器進行恰當的配置。
以下將分別講述一下三種模式的工作原理和優缺點。
1.Virtual server via NAT(VS-NAT)
Virtual Server via NAT方法的最大優點是叢集中的物理伺服器可以使用任何支援TCP/IP作業系統,物理伺服器可以分配Internet的保留私有地址,只有負載均衡器需要一個合法的IP地址。這種實現方法的最大的缺點是擴充套件性有限。當伺服器節點(普通PC伺服器)資料增長到20個或更多時,負載均衡器將成為整個系統的瓶頸,因為所有的請求包和應答包都需要經過負載均衡器再生。假使TCP包的平均長度是536位元組的話,平均包再生延遲時間大約為60us(在Pentium處理器上計算的,採用更快的處理器將使得這個延遲時間變短),負載均衡器的最大容許能力為8.93M/s,假定每臺物理伺服器的平臺容許能力為400K/s來計算,負責均衡器能為22臺物理伺服器計算。Virtual Server via NAT能夠滿足許多伺服器的服務效能需求。即使是是負載均衡器成為整個系統的瓶頸,如果是這樣也有兩種方法來解決它。一種是混合處理,另一種是採用Virtual Server via IP tunneling或Virtual Server via direct routing。如果採用混合處理的方法,將需要許多同屬單一的RR DNS域。你採用Virtual Server via IP tunneling或Virtual Server via direct routing以獲得更好的可擴充套件性。也可以巢狀使用負載均衡器,在最前端的是VS-Tunneling或VS-Drouting的負載均衡器,然後後面採用VS-NAT的負載均衡器。
2.Virtual server via IP tunneling(VS-TUN)
採用VS-NAT方式,請求與應答包都需要經過負載均衡器,那麼當伺服器節點增長到20個或更多時,這個負載均衡器就可能成為新的瓶頸。我們發現,許多Internet服務(例如WEB伺服器)的請求包很短小,而應答包通常很大。而使用VS-TUN方式的話,負載均衡器只負責將請求包分發給物理伺服器,而物理伺服器將應答包直接發給使用者。所以,負載均衡器能處理很巨大的請求量,這種方式,一臺負載均衡能為超過100臺的物理伺服器服務,負載均衡器不再是系統的瓶頸。使用VS-TUN方式,如果你的負載均衡器擁有100M的全雙工網路卡的話,就能使得整個Virtual Server能達到1G的吞吐量。
IP tunneling(IP隧道)能夠用於架構一個高效能的virtual server,非常適合構建virtual proxy server,因為當代理伺服器收到了請求,能夠讓終端使用者直接與伺服器聯絡。但是,這種方式需要所有的伺服器支援"IP Tunneling"(IP Encapsulation)協議,我僅在Linux系統上實現了這個,如果你能讓其它作業系統支援,還在探索之中。
3.Virtual Server via Direct Routing(VS-DR)
就象VS-TUN一下,在VS-DR方式下,負載均衡器也只是分發請求,應答包透過單獨的路由方法返回給客戶端。這種方式能夠大大提高Virtual Server的可擴充套件性。與VS-TUN相比,VS-DR這種實現方式不需要隧道結構,但它要求負載均衡器的網路卡必須與物理網路卡在一個物理段上。而且VS-DR模式,可以使用大多數作業系統做為物理伺服器,其中包括:Linux 2.0.36、2.2.9、2.2.10、2.2.12;Solaris 2.5.1、2.6、2.7;FreeBSD 3.1、3.2、3.3;NT4.0無需打補丁;IRIX 6.5;HPUX11等。
下面這張表概括地比較了VS-NAT、VS-TUN、VS-DR的特點:
表21-1 三種實現方式對比表
特性模式 VS-NAT VS-TUN VS-DR
伺服器作業系統 任何作業系統 須支援隧道技術 大多數系統
伺服器模式 無 隧道、 無ARP Lo、 無ARP
埠對映 有 無 無
伺服器網路 私有網 LAN/WAN LAN
伺服器數量 少(10-20) 多(100) 多(100)
使用者訪問IP LVS虛擬IP LVS虛擬IP LVS虛擬IP
伺服器閘道器 負載均衡器 原有的路由器 原有的路由器

下面我們分別看看是如何具體實現。

A:你用vpopmail 4.9.6,都有的。我現在有兩種辦法: 前端是實地址、後端是虛擬地址。
1、準備2個星期改寫smtpd程式,讓他可以作為查詢oracle資料庫的郵件閘道器如果這樣我還要改寫plug-gw程式。
2、利用NFS系統。所有的郵件存放NFS伺服器上,NFS 伺服器叢集起來,前端用plug-gw 實現埠轉發負載均衡(DNS輪轉早就這麼做了)。負載均衡前端我用Alteon AD4。
3、和oracle要自己手工建database。
4、我後來乾脆重新按要求裝資料庫,這樣就不用手工建立了。呵呵或者改一下voracle.h 我真笨呀

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10796304/viewspace-960002/,如需轉載,請註明出處,否則將追究法律責任。

相關文章