Board logo

主題: [求助] [求助]Server 備援,請建議方案 [打印本頁]

發表人: rayon    時間: 2014-5-12 08:12 PM     主題: [求助]Server 備援,請建議方案

公司想提一個方案,
有一台對外提供服務的 SERVER,提供接收回傳資訊,運算,傳回結果並寫回資料庫的功能,
如果這台SERVER 臨時故障了,在維修人員到場處理之前,
第二台一模一樣的SERVER 將即時取代運作,外面的使用者,不會發覺SERVER 服務有異。

請教各位大大,有建議要如何建置?,是硬體,還是軟體?



我覺得是軟體在作用,把兩台相同規格的主機做好,資料也一樣,同時運作,
備援機上的軟體會不斷詢問,前線主機的狀態,一旦無回應,立即取代運作。

這...是要用何種軟體,有這軟體嗎?


謝謝各位賜教~~
發表人: ericshliao    時間: 2014-5-12 08:47 PM

很有趣的問題。
我沒有處理過種問題,不曉得現在業界做的如何。不過,純憑理論去推想,我覺得應該不能用買既有的軟體來做到。複雜的程度還得看你想做到什麼程度的自動備援,通常得加上一些客製。
雖然不敢說市面上一定買不到你想要的功能,但就算有,通常也是賣一整套的硬體加軟體的solution,應該會很貴很貴。

舉個web server 加後端資料庫的應用當例子。如果要做到你的要求,備援伺服器除了資料庫要隨時保持同步(這是基本要求,應該資料庫軟體都能做到)之外,還得有能力在知道主要伺服器掛掉之後立即啟動web server(定期去probe,這就得客製了),並且以備援伺服器的IP位址取代原伺服器(這點也得客製)。

至於要如何客製,如果是UNIX-like的系統,多半寫些shell script就可以做到。

不過,到底要如何規劃,還得看你公司的系統和網路環境,以及實際的需求。

[ericshliao 在  2014-5-12 08:49 PM 作了最後編輯]
發表人: rayon    時間: 2014-5-12 09:32 PM

這種備援機制,銀行界應該很需要,請問有銀行界的大大願意分享嗎?

我們是沒有像銀行界的嚴謹要求,但是在上班時間不能中斷服務就是了,

如果要硬體來做,可推薦一下嗎?

謝謝分享!
發表人: ericshliao    時間: 2014-5-12 09:45 PM

這個應該是純軟體的問題。但有些東西、功能只出現在某種平台的軟體上,如果要用那個軟體,硬體也等於綁定了,沒得選。
銀行業通常是買IBM的硬體加軟體,那不是幾百萬可以打發的,隨便都是以億為單位,而且還有簽維護合約。IBM賣的不是硬體或軟體,而是solution,就算想單買軟體,IBM也不會賣,要買就買整套solution。
如果你公司只想買個備援機制,套在目前的系統上,我認為應該不太可能買得到。因為這種備援機制需要視整體需求來客製或調整。如果你公司願意買整個內含備援機制的solution,那就可能買得到,但價錢就.....而且,為了配合solution,可能原先的系統要做大幅修改。


[ericshliao 在  2014-5-12 09:59 PM 作了最後編輯]
發表人: xgt    時間: 2014-5-12 10:09 PM

1.如果不能有任何時間的中斷目前大概就是虛擬化可以作到
vmware的esxi由vcenter管理有failover機制,可以作到偵測到故障線上直接自動切換,
不過授權跟硬體環境架設要花費不少就是了,也需要點時間去研究,或者花錢請人作!
2.假如只是一般簡單的資料庫,如SQL Server,是可以用複寫來達到你想要的功能,當有資料進來時同時寫到主機A跟B,
當主機A掛掉時,再手動切換到B,寫入可能會稍微延遲一點!
3.或用cluster server...這部份沒機會接觸到,請有用過的人說說吧.

看你系統的複雜度!第一種自學可能有點難度,第二種書上或網上倒是可以找到資料
另外你的軟體環境都未提到用何種OS(win or /linux or unix/?)web server,db server等,有提供的話相信會更好找方案

[xgt 在  2014-5-12 10:10 PM 作了最後編輯]
發表人: ericshliao    時間: 2014-5-12 10:10 PM

主機代管服務有提供雙主機自動備援,去瞭解看看,說不定能滿足樓主的需求。
發表人: jimmy0904    時間: 2014-5-12 10:20 PM

要做到這樣的備援,最基本是2 server +1 NAS

基本上要有一個網路共用的storage(NAS),有基本的資料保護RAID
然後把A&B二台設定好可存取NAS
若是資料庫,就要放在NAS上
A or B都可單獨正常的使用NAS上資料庫
以上是硬體

再來就是軟體控制
控制A&B二台之間的切換
看你的切換要多無感

A掛了通知你,手動開B是一種
A掛了B自動帶服務和IP,也不算太難

以上算是一般可以簡單做,也不需要花太多錢

接下來
如果NAS掛了,就沒得玩了
所以就是做二台NAS
這部份就貴了,因為要同步,就會有時間差的問題

就看錢有多少&資料有多重要

其實VMware、Windows、linux、UNIX都有這些相關的軟硬體…就是
要錢

公司不了解這個,就要你做,肯定是不會花大錢的

[jimmy0904 在  2014-5-12 10:25 PM 作了最後編輯]
發表人: rayon    時間: 2014-5-12 10:26 PM

OS:Win Server 2012
AP:阿帕契+自開發軟體+mySQL
約250個連線數

整個架構負載應該不大,主要是要求即時備援(重要!!!)

因為有個資,不便用代管
發表人: rayon    時間: 2014-5-12 10:36 PM

jimmy0904 大大所說的軟體是甚麼呢?

可以說仔細一點嗎?


發表人: xgt    時間: 2014-5-13 12:07 AM


引用:
rayon寫到:
OS:Win Server 2012
AP:阿帕契+自開發軟體+mySQL
約250個連線數

整個架構負載應該不大,主要是要求即時備援(重要!!!)

因為有個資,不便用代管

既然是用server2012,那可參考這篇文章中有提到如何用server2012架設failover 的部份,
可以先學一下架設跟運作的機制,因為可能不一定合用(文中是以file server備援為例)
http://www.hkitblog.com/?p=17678 (第11章)
或者轉用hyper-v 作failover部份會比較完整
http://www.lijyyh.com/2012/12/hy ... ilover-cluster.html
覆寫的話,用MYSQL Cluster (抱歉mysql不熟,請參照網頁)
http://www.neo.com.tw/archives/000869
http://blog.ithome.com.tw/index. ... 1015&blogId=257
http://blog.ithome.com.tw/index. ... 1176&blogId=257

文中大都提到相關知識而已,並沒有完全符合你的需求,但是可以讓你在執行時有多一點選擇!

[xgt 在  2014-5-13 12:16 AM 作了最後編輯]
發表人: rayon    時間: 2014-5-13 12:50 AM

把一台SERVER做 Raid 1,就把偶數硬碟除以二來用,
不然就 Raid 1 +Raid 5,
這樣是否也達到系統備援的效果?
發表人: spp99    時間: 2014-5-13 09:48 AM


引用:
rayon寫到:
OS:Win Server 2012
AP:阿帕契+自開發軟體+mySQL
約250個連線數

整個架構負載應該不大,主要是要求即時備援(重要!!!)

因為有個資,不便用代管

系統不大,不過用的是Windows平台,那簡單的方法就只有虛擬化了,不論是採用哪一套都有解決方案,可以網路上找找,懒的話就直接找廠商抓個業務工程師來解釋給你聽,我都這樣辦的。
發表人: copson    時間: 2014-5-13 10:30 AM

看你的敘述,應該是AP 跟 DB 都在同一台SERVER上.
且上班時間掛點時備援SERVER 能夠馬上work.

如果不想花大錢的做法就是
1.再準備一台SERVER.
然後定時的將 Master Server 的資料同步到 Standby Server
AP 跟 DB 應該都有適合且簡單的同步方式
建議你去找找看.
如果兩台都能用VM 是最好,可以用內建的功能做到這一點.

2.準備好兩個 DNS 的 hosts 檔案.
一個是目前使用中的,暫稱 host1
ex: 192.168.100.1 WEB1
另外一個是放備援SERVER IP 用來交換IP 暫稱 host2
ex: 192.168.100.2 WEB2

3.請AP人員寫個測試用的function,並且排程去檢查是否work
如果測試異常就將 host2 檔案 copy 到 DNS Server 去覆蓋 host1
這樣就可以了.

但這樣的做法是 DB 的資料會有落差.
所以建議你先將 AP 跟 DB 都分開會比較好處理.

[copson 在  2014-5-13 10:32 AM 作了最後編輯]
發表人: rayon    時間: 2014-5-13 04:19 PM

TO spp99 大大:真是我的心聲啊~!

如 jimmy0904 大大 建議的,

用 2 Server +1 NAS ,
兩台SERVER都有VM軟體,2號備援1號
NAS 就 Raid 1 +Raid 5 + Hardspare

再用copson 大大所說,
將DNS 的 hosts 檔案備份,寫 function 測試

這樣架構,可行嗎?
發表人: spp99    時間: 2014-5-13 06:52 PM

基本上我們家的MIS是這樣幹的
對外有一台 Srver當PROXY,後面有2台AP Server 最後面有一套DB Server。
平常AP1及AP2都是開著的,但PROXY都優先指向AP1,一旦發現AP1沒反應就改傳給AP2,這樣的架構弱點就會落在PROXY及DB,軟體也要能支援,當然可以再加一組PROXY跟DB,不過老問題,要花到多少錢,就不是我們工程師能決定了。
發表人: ericshliao    時間: 2014-5-14 12:48 AM

用VM內建的定時同步資料,有一個風險,如果master server的檔案出了問題,損壞的檔案也同步了,到時兩台全都不能用...
最好是把作業系統、應用程式、資料庫的檔案分開來處理。


整個應用的環節中,從聯網、路由、伺服器硬體、作業系統、應用程式、資料庫,各個點都可能出問題,要做自動備援還得先想想到底想防範哪幾個節點的問題。至於做RAID,那是為了解決資料保全的問題,雖然也很重要,和樓主原先想做的自動備援其實離得比較遠了。

[ericshliao 在  2014-5-14 01:35 AM 作了最後編輯]
發表人: copson    時間: 2014-5-14 11:17 AM

哈哈 ericshliao 大大說出重點了.

當初我公司也是因為有幾台重要SERVER 要做備援機制.
後來我也是用相同的說法去說明.
把架構圖一拉出來,每個點都會再衍生新的問題.
最後的結論就是採低風險、低成本的方案做就好了.
風險雖然還是存在,但有設定KPI.
若符合KPI 就繼續維持使用.
不符合,就有數據可以跟公司再請錢做改善囉 XD




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0