歡迎您光臨本站 註冊首頁

linux伺服器集群運維經驗

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

5000 以上的伺服器節點,包括各種應用,我和同事共同維護大約2500 的伺服器,主要包括一些視頻cdn,直播視頻cdn,webcdnp2p伺服器.

以下是自己在運維工作中的一點經驗和看法,希望對大家有所幫助

1. 伺服器型號的區分,為以後的統一化和標準化作硬體上的準備,很多人忽視這一點,其實如果這一點做得好會使後面的運維工作輕鬆很多,根據應用我們主要把伺服器分為3中,cpu密集型,主要用於大量計算應用,比如p2p;內存密集型,用於cache類應用,比如

squid,varnish緩存伺服器;磁碟密集型,用於大存儲類應用,比如視頻存儲伺服器,hadoop日誌存儲集群.

2. 系統的的自動安裝,主要有kickstartcobbler

3.

統一的yum源和定製化的rpm包, 並集成至yum源站,為後續的環境初始化做軟體上的準備

4. 構建專屬於自己的內網

DNS

5. 標準化的統一的命名方式(標準化基礎),便於使用puppet管理,並且減少操作的錯誤,如果每個機器的hostname都為localhost,那將是一個多麼可怕的事...在我們的生產環境中主要使用下面這種命名方式

機房

-主業務-應用程序-IP后兩位-公司域名,這樣一眼就可以看出是哪台伺服器,應用於什麼業務,報警也可以直接定位.

6.自動化的配置管理和環境部署工具:puppet,puppet的模塊編寫要盡量減少模塊直接的耦合度,並使用

class繼承的方式來減少運維的工作量,定製化的facter變數會使軟體的配置環境更加靈活,由於puppet暫時不支持群集,在實際應用中需要部署多套,根據經驗,1500台左右的serverpuppet會出現性能問題.

7. 強大有效的監控系統,在生產環境中我們使用了zabbix proxy zabbix master的群集結構,zabbix可以實現有效的系統和應用級別的監控,應用監控同時也使用了ppmon來實現多點監控.

選擇zabbix有一個最大的好處,就是監控數據是存放在資料庫中的,這樣就可以利用資料庫中的數據做很多操作,比如可以分析一段時間內伺服器的各個性能指標,查看伺服器的資源利用率,可以對數據進行聚合操作,從而分析全網的指標,比如總的流量,總的

http code分佈情況.

8. 日誌收集伺服器群集 qos分析系統,構建 有效的日誌收集系統可以有效地對用戶的訪問數據進行整合和分析,可以快速的分析qos,對應重要的節點我們採用本地分析並導入

mongodb,導入zabbix的方式,非重要節點則直接將日誌打包壓縮,通過ftp上傳至hadoop數據倉庫集群中.

9. 構建冗餘的結構,消除單點,在生成環境中對於一些重要節點都採用keepalived-ha的方案來提高冗餘度.對於

resin,php等應用伺服器則在前端使用nginx做反向代理,同時nginx使用keepalived-ha

10. 自動化的代碼分發系統,主要是controltier svn的使用,可以方便快速地部署代碼.

以上是自己的一點經驗,歡迎大家來拍磚.

本文出自 「菜菜光的博客」 博客,請務必保留此出處http://1662935.blog.51cto.com/1652935/846177


[火星人 ] linux伺服器集群運維經驗已經有741次圍觀

http://coctec.com/docs/linux/show-post-45797.html