Linux是學習曲線比較陡峭的學科,剛開始學習有些難度 ,入門后就相對比較輕松了。學習Linux大部分做的是運維工程師或者云計算工程師。
創(chuàng)新互聯(lián)建站基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)德陽服務(wù)器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
運維不僅僅是懂Linux就行,因為還有一大部分的Windows運維,最近看一個報道說,windows的服務(wù)器占了47.71%。嗯,向windows運維人員致敬。當然我們這篇文章不是說運維除了懂Linux,還要懂Windows,而是涉及運維的其他方方面面。
環(huán)境部署
一開始這個世界是開發(fā)的,然后才是運維的。
開發(fā)實現(xiàn)產(chǎn)品邏輯,將產(chǎn)品開發(fā)完成后,然后提交運維進行部署。此時允許就需要準備好部署環(huán)境,如部署在Linux服務(wù)器上,安裝相應(yīng)的軟件,如Apache、Nginx、tomcat、JDK、PHP、MySQL等等。你不能只裝了軟件吧,還需要看看具體是哪個版本,java 7 和java 8 的差別還是有點的,php5和php7也有些語法不兼容。把軟件都安裝好了,就可以上線了?還是不行。還需要測試吧,那就還需要部署一套測試環(huán)境。有些時候,開發(fā)環(huán)境也是需要運維來部署的。
排錯和調(diào)優(yōu)
事情從來都沒有一帆風順的。
上線沒多久,服務(wù)就502了,還不被老板罵死。盡管你有一肚子的委屈,我只是個運維,代碼不是我寫的,為什么要我來背這鍋?!委屈歸委屈,服務(wù)訪問不了了,就是運維的事。盡快定位問題,解決問題才是王道。怎么來定位問題呢?最簡單直接的辦法就是看日志,看系統(tǒng)日志,看軟件相關(guān)的日志,結(jié)合故障現(xiàn)象和經(jīng)驗,快速的進行定位和恢復(fù)。然后就是總結(jié)經(jīng)驗,吸取教訓,寫事故報告。OK,現(xiàn)在你知道,需要對系統(tǒng)環(huán)境需要進行一定的調(diào)優(yōu)操作,不再做背鍋俠。
相關(guān)技術(shù): top, vmstat, iftop, awk, sed, sar, iostat, strace, ...
備份
做最好的計劃,做最壞的打算。
前不久的gitlab刪庫事件的教訓猶在眼前,丟失了幾小時的數(shù)據(jù),雖然大部分的備份策略都失效了,但還是挽救了幾小時前的一個備份,才沒有造成更大的數(shù)據(jù)丟失和公司損失。我們需要對設(shè)備進行備份冗余,需要對數(shù)據(jù)庫進行備份及離線備份,需要對網(wǎng)站靜態(tài)進行備份冗余,需要對機房進行備用,能做到雙活,那是更好的啦。
相關(guān)技術(shù): rsync, crontab, lvm快照, mysqldump, extrabackup, 完全備份, 差異備份, 增量備份, 離線異地備份, ...
高可用和集群
沒有永垂不朽,我們不能保證硬件24小時在線,但需要保障服務(wù)24小時在線。
出現(xiàn)故障后,如果做好高可用和冗余,故障自動切換,移除故障節(jié)點,那樣也就保障了服務(wù)的實時在線。在老板和用戶不知情的情況下,悄么的把故障處理好的,KPI算是保住了,獎金也許就會有的吧。
相關(guān)技術(shù): F5, Nginx, LVS, HA-proxy, MHA, Zookeeper, 各種其他分布式集群方案, ...
監(jiān)控告警
運維工程師的第一次解放運動。
時刻擔心網(wǎng)站掛掉,一年365天、每周7天、每天24小時,時刻保持精神高度緊張,就算你是神仙都會撐不住的。我們需要一個機器來監(jiān)督其他的機器工作,我們需要解放我們自己。當有故障發(fā)生的時候,通過短信、微信、釘釘、郵件等等通知對應(yīng)的運維工程師來處理,甚至是自動切換或摘除故障節(jié)點,然后我們離線對故障節(jié)點進行問題排查。
相關(guān)技術(shù):Zabbix, Nagios, Cacti, Prometheus, open-falcon, Ganglia, sar, ...
安全和審計
狂奔在互聯(lián)網(wǎng)的康莊大道上,不過有些人是在裸奔。
不安全的網(wǎng)絡(luò)環(huán)境和服務(wù)器配置,無異于在網(wǎng)絡(luò)世界裸奔,任何人都可以窺探你的隱私。你的應(yīng)用是否做了SQL防注入?你的防火墻是否開啟?是否還在用root+密碼的方式登錄服務(wù)器?網(wǎng)站開啟了https么?是否對系統(tǒng)操作進行審計?
相關(guān)技術(shù): iptables, firewalld, waf, auditd, 各服務(wù)的正確配置, ...
自動化和DevOps
運維工程師的第二次解放運動。
偷懶是社會進步的第一動力。聰明的我們怎么會讓自己一直在重復(fù)枯燥的事情上浪費時間,裝系統(tǒng)、部署環(huán)境、發(fā)版本、批量操作,把這一切交給程序去實現(xiàn)吧,我們需要的是享受生活。
相關(guān)技術(shù): shell, python, go, rundeck, ansible, saltstack, puppet, chef, cobbler, fabric, ...
虛擬化和云服務(wù)
正在發(fā)生的一場運維革命。
這場革命的發(fā)起人是買書的亞馬遜,這家伙希望賣一切可以賣的東西,包括自己閑置的服務(wù)器資源?,F(xiàn)在國內(nèi)的阿里云和騰訊云也發(fā)展得如日中天,他們幾乎提供了運維所需要的一切,甚至可以讓一個公司不再需要運維的崗位。你需要服務(wù)器,只需要幾秒鐘,就可以創(chuàng)建一臺。你需要數(shù)據(jù)庫集群,只需要鼠標點擊幾下,就可以開通。
相關(guān)技術(shù):docker, Moby, kubernetes, Xen, CoreOS, Hyper-V, KVM, ...
Linux相當于來講不難,但想要完全掌握并非易事,需要付出足夠的時間和精力,而且涉及的內(nèi)容有很多,所以想要學好Linux,必須選擇合適的方式;如果沒有基礎(chǔ)的話,建議大家報班學習,這樣效果更好,對以后發(fā)展也更有幫助。
學習Linux步驟:
1、先了解了解基礎(chǔ)吧,找一本薄一點的,淺一點的書,了解一下什么是linux。有個基本了解即可。不建議馬上看《鳥哥的Linux私房菜》,這本書很不錯,如果你了解linux基礎(chǔ)之后再看,對你可以說是不受益匪淺都不行。沒基礎(chǔ)看《鳥哥的Linux私房菜》比較痛苦,內(nèi)容很多。
2、了解之后,在自己電腦上弄個虛擬機,裝上linux系統(tǒng)(redhat或ubuntu都行)。專攻《鳥哥的Linux私房菜》。當你把這本書攻下來時,才知道原來命令行并不可怕,自己打著打著就很長啦。
學linux最主要靠實踐,不實踐,只看書對你沒好處的哦。自己在虛擬機上慢慢玩吧,玩多了就知道咋回事啦。不懂的多找資料弄懂,弄懂之后再實踐,這才會有收獲。