找到最早來源: ITSS實訓基地 ,釋出於:2017-05-05
原作者不詳
聽說你精通運維?Apache、Nginx、tomcat、vmstat、iftop、awk、sed、sar、iostat、LVS、HA-proxy、MHA、Zookeeper、Zabbix、Nagios、Cacti、Prometheus、shell、python、go、rundeck、ansible、saltstack、puppet、chef、cobbler、fabric、docker、Moby, kubernetes 瞭解一下?
我們這篇文章不是說運維除了懂Linux,還要懂Windows,而是涉及運維的其他方方面面。
環境部署
一開始這個世界是開發的,然後才是運維的。
開發實現產品邏輯,將產品開發完成後,然後提交運維進行部署。此時允許就需要準備好部署環境,如部署在Linux伺服器上,安裝相應的軟體,如Apache、Nginx、tomcat、JDK、PHP、MySQL等等。你不能只裝了軟體吧,還需要看看具體是哪個版本,java 7 和java 8 的差別還是有點的,php5和php7也有些語法不相容。把軟體都安裝好了,就可以上線了?還是不行。還需要測試吧,那就還需要部署一套測試環境。有些時候,開發環境也是需要運維來部署的。
排錯和調優
事情從來都沒有一帆風順的。
上線沒多久,服務就502了,還不被老闆罵死。儘管你有一肚子的委屈,我只是個運維,程式碼不是我寫的,為什麼要我來背這鍋?!委屈歸委屈,服務訪問不了了,就是運維的事。儘快定位問題,解決問題才是王道。怎麼來定位問題呢?最簡單直接的辦法就是看日誌,看系統日誌,看軟體相關的日誌,結合故障現象和經驗,快速的進行定位和恢復。然後就是總結經驗,吸取教訓,寫事故報告。OK,現在你知道,需要對系統環境需要進行一定的調優操作,不再做背鍋俠。
相關技術: top, vmstat, iftop, awk, sed, sar, iostat, strace, …
備份
做最好的計劃,做最壞的打算。
前不久的gitlab刪庫事件的教訓猶在眼前,丟失了幾小時的資料,雖然大部分的備份策略都失效了,但還是輓救了幾小時前的一個備份,才沒有造成更大的資料丟失和公司損失。我們需要對裝置進行備份冗餘,需要對資料庫進行備份及離線備份,需要對網站靜態進行備份冗餘,需要對機房進行備用,能做到雙活,那是更好的啦。
相關技術: rsync, crontab, lvm快照, mysqldump, extrabackup, 完全備份, 差異備份, 增量備份, 離線異地備份, …
高可用和叢集
沒有永垂不朽,我們不能保證硬體24小時線上,但需要保障服務24小時線上。
出現故障後,如果做好高可用和冗餘,故障自動切換,移除故障節點,那樣也就保障了服務的實時線上。在老闆和使用者不知情的情況下,悄麼的把故障處理好的,KPI算是保住了,獎金也許就會有的吧。
相關技術: F5, Nginx, LVS, HA-proxy, MHA, Zookeeper, 各種其他分散式叢集方案, …
監控告警
運維工程師的第一次解放運動。
時刻擔心網站掛掉,一年365天、每週7天、每天24小時,時刻保持精神高度緊張,就算你是神仙都會撐不住的。我們需要一個機器來監督其他的機器工作,我們需要解放我們自己。當有故障發生的時候,透過簡訊、微信、釘釘、郵件等等通知對應的運維工程師來處理,甚至是自動切換或摘除故障節點,然後我們離線對故障節點進行問題排查。
相關技術:Zabbix, Nagios, Cacti, Prometheus, open-falcon, Ganglia, sar, …
安全和審計
狂奔在網際網路的康莊大道上,不過有些人是在裸奔。
不安全的網路環境和伺服器配置,無異於在網路世界裸奔,任何人都可以窺探你的隱私。你的應用是否做了SQL防註入?你的防火牆是否開啟?是否還在用root+密碼的方式登入伺服器?網站開啟了https麼?是否對系統操作進行審計?
相關技術: iptables, firewalld, waf, auditd, 各服務的正確配置, …
自動化和DevOps
運維工程師的第二次解放運動。
偷懶是社會進步的第一動力。聰明的我們怎麼會讓自己一直在重覆枯燥的事情上浪費時間,裝系統、部署環境、發版本、批次操作,把這一切交給程式去實現吧,我們需要的是享受生活。
相關技術: shell, python, go, rundeck, ansible, saltstack, puppet, chef, cobbler, fabric, …
虛擬化和雲服務
正在發生的一場運維革命。
這場革命的發起人是買書的亞馬遜,這傢伙希望賣一切可以賣的東西,包括自己閑置的伺服器資源。現在國內的阿裡雲和騰訊雲也發展得如日中天,他們幾乎提供了運維所需要的一切,甚至可以讓一個公司不再需要運維的崗位。你需要伺服器,只需要幾秒鐘,就可以建立一臺。你需要資料庫叢集,只需要滑鼠點選幾下,就可以開通。
相關技術:docker, Moby, kubernetes, Xen, CoreOS, Hyper-V, KVM, …
●編號174,輸入編號直達本文
●輸入m獲取文章目錄
Linux學習
更多推薦《18個技術類公眾微信》
涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。