創業版伺服器互備搭建方案,二機三用法
3月2日23時55分左右,阿里雲開始出現大規模故障,位於華北地區的多家網際網路公司的IT運維人員發現多個APP和網站開始陷入卡頓。隨後一批程式設計師趕往公司加班。..... 好像不是第一次,對於網站網路問題,可以延緩一下。但是,如果是硬碟壞掉資料丟失。就無力迴天了。
一般的使用者是搞一臺生產伺服器,另外架一臺備用伺服器。看起來好像很正常,但是有時一年或更長時間備用伺服器放置無用,浪費了資源。
前段時間幫一家創業公司用2臺主機做一套簡單分散式管理。主機與資料庫分離外加上備份三種用法,並且相互同步保證生產流量訪問不卡,資料表+程式碼檔案+使用者上傳檔案要一致性。並且一旦發現通過手工切換到一臺主機上執行。即搶時間也要節省費用。
簡單說明一下:
在192.168.1.1(稱為1機)主機劃分三個區。在1機和2機都安裝nginx+php+mysql. 為了圖片清晰2機的nginx+php環境圖未完全畫出來。
1,在1機安裝nfs,將Data目錄共享到2機。這樣2機都可以管理檔案程式碼。一旦1機丟失2機的rsync同步Data區還有實時檔案存在的。還有一層作用就是我們同步開發的是Data的檔案避免衝突。rsync同步的Data區是同步的資料夾。在找不到1機時。將啟用它為生產檔案。
2,2機上的Mysql庫是線上的,為什麼不放在1機上呢。說了是網站資料與檔案分離了。效率與安生性都提高了不少。通過搭建完後原來生產伺服器使用的記憶體是32G(mysql的容量是2.1G,比較大了),經過資料與網站分離後2機都是16G,長時間監控mysql的查詢效率真比原來提高了50%。節省了成本,提高了網速的速度。
3, 2機上的Mysql是生產主庫,向1機實時共步庫。表示2機的mysql相當是熱備。多好。當然mysql的定時備分還是需要有的,這個只提一下。