在軟體開發領域當中,前端、後端開發我們一般比較熟,但運維工程師是做什麼的,很多人都不太了解。真的是只是維護工作嗎?今天我們就介紹一下 運維工程師 到底是做什麼呢
一、保障業務長期穩定執行
出一點點差錯,使用者就要投訴了。
1、業務跑在什麼上面?
**伺服器一般是apache,nginx,tomcat等。但是真正跑通流程還需要mysql資料庫來儲存使用者密碼及其它。很多程式都要php的解析,所以lnmp、lamp(即nginx、apache、mysql、php)環境部署是必須掌握的技能。
2、業務出了問題怎麼及時知道?
這就需要監控軟體來郵件或簡訊來通知你,常用的有zabbix,nagios等。報警發郵件,也得乙個郵件程式呀,sendmail或postfix。
3、在家裡收到報警,但伺服器是內網ip,怎麼也得解決問題吧?
在公司搭建openvpn或pptp或openswan,在家裡通過vpn撥入內網,24小時解決問題…唉,半夜爬起來解決問題也沒工資。
二、保障資料安全可靠
出一點點差錯,領導要找你喝茶了。
1、有時需要手動改資料庫內容?
所以要會基本的mysql資料庫增刪查改命令。
2、萬一資料庫伺服器硬體壞了怎麼辦?
需要有個備庫以備不時之需,所以需要mysql主從複製。
3、資料庫要還原怎麼辦?
所以需要在crond中定期全備mysql資料,以便還原使用。如果要還原到指定時間點,還要學會mysql增量備份與恢復。
4、如果是使用者上傳的或檔案伺服器壞了怎麼辦?
定時備份可能還不夠,需要使用rsync加inotify來實時備份。以便任一時刻主伺服器壞掉,也能保障所有有備份可以用來恢復。
5、小心黑客,要增加伺服器安全性?
ssh輕易不能讓外人訪問,那麼就設定只允許公司的ip或跳板機ip訪問,這些都通過iptables來控制。
三、大效能
1、越來越多的使用者來訪問我們的**,一台web伺服器抗不住了怎麼辦?
那就需要多台web伺服器來負擔,但多台伺服器之間怎麼進行負載均衡呢,這就需要用到nginx反向**或lvs+keepalived或haproxy+heartbeat了。
5、運營商是個大難題,他們之間的頻寬好像很小,聯通ip訪問我電信**怎麼就這麼慢呢?
這時可以使用bind自建乙個dns伺服器,把**的dns記錄指向自建dns伺服器上,配置好解析規則,以後聯通ip解析到聯通**上,
電信ip解析到電信**上,體驗就會好很多啦。
四、自動化
終極目標:跑死機器,閒死人。
1、公司新買100臺伺服器,公司竟然就1個移動光碟機,這裝系統得到什麼時候?
使用kickstart或cobbler來網路遠端自動安裝系統吧。
2、每次裝完機要優化很多內容,什麼檔案描述符、埠、軟體安裝啊,手動操作不累死去?
趕緊學會shell,將解放非常多的工作量。
3、系統裝完後登陸要輸入密碼,這麼多台啊?
使用expect吧,自動讀取提示來輸入密碼,並執行命令。
4、要批量把新**發布到線上伺服器,怎麼辦?
使用saltstack或puppet或ansible吧,絕對爽歪歪。
五、其他
1、搭整套測試環境需要5臺伺服器,但公司窮的只有一台空閒伺服器?
學會xen或kvm或docker吧,虛擬出多台伺服器,就能解決資源問題了。特別是docker,強烈推薦,以後某個研發人員讓你部署一套新環境,分分鐘幫他解決。
2、研發人員的**控制,許可權控制,總要運維人員管呀?
svn或git,這個是肯定要有的。
運維工程師的工作
一般來說,運維工程師分為兩種,桌面運維和系統運維。桌面運維有時候也叫網路運維,主要是負責辦公電腦的組裝 維護等,一般也會負責印表機 投影儀 企業內網之類的管理,工作內容比較繁雜。隨身帶幾個u盤是必須的,隨時準備裝系統,畢竟沒有什麼是重啟解決不了的嘛,如果還是不行,那就重灌系統,哈哈。待遇方面,一般比...
運維工程師
運維工程師主要工作是做什麼?由這兩句話推演運維工程師要學些什麼 一 保障業務長期穩定執行 出一點差錯,使用者就要投訴了 1 業務跑在什麼上面?伺服器一般是apache,nginx,tomcat等。但是真正跑通流程還需要nysql資料庫來儲存使用者密碼和其他。很多程式都要php的解析,所以,lnmp ...
運維工程師
環境能夠磨練乙個人的意志和能力 linux運維即linux系統執行維護工程師,是集合網路 系統 資料庫 開發 安全工作於一身的複合型人才。運維指的是網際網路運維,通常屬於技術部門,與研發 測試 系統管理同為網際網路產品技術支撐的4大部門,這個劃分在國內和國外以及大小公司間都會多少有一些不同。對 進行...