2022-09-13

Linux 運(yùn)維工程師的 6 類好習(xí)慣和 23 個(gè)教訓(xùn)

從事運(yùn)維三年半宵蛀,遇到過(guò)各式各樣的問(wèn)題软棺,數(shù)據(jù)丟失,網(wǎng)站掛馬莱褒,誤刪數(shù)據(jù)庫(kù)文件浴栽,黑客攻擊等各類問(wèn)題荒叼。

今天簡(jiǎn)單整理一下,分享給各位小伙伴典鸡。

一被廓、線上操作規(guī)范

1. 測(cè)試使用

當(dāng)初學(xué)習(xí)Linux的使用,從基礎(chǔ)到服務(wù)到集群萝玷,都是在虛擬機(jī)做的嫁乘,雖然老師告訴我們跟真機(jī)沒(méi)有什么差別,可是對(duì)真實(shí)環(huán)境的渴望日漸上升球碉,不過(guò)虛擬機(jī)的各種快照卻讓我們養(yǎng)成了各種手賤的習(xí)慣蜓斧,以致于拿到服務(wù)器操作權(quán)限時(shí)候,就迫不及待的想去試試睁冬,記得上班第一天挎春,老大把root密碼交給我,由于只能使用putty豆拨,我就想使用xshell直奋,于是悄悄登錄服務(wù)器嘗試改為xshell+密鑰登錄,因?yàn)闆](méi)有測(cè)試施禾,也沒(méi)有留一個(gè)ssh連接脚线,所有重啟sshd服務(wù)器之后,自己就被擋在服務(wù)器之外了拾积,幸好當(dāng)時(shí)我備份了sshd_config文件殉挽,后來(lái)讓機(jī)房人員cp過(guò)去就可以了,幸虧這是一家小公司拓巧,不然直接就被干了……慶幸當(dāng)年運(yùn)氣比較好斯碌。

第二個(gè)例子是關(guān)于文件同步的,大家都知道rsync同步很快肛度,可是他刪除文件的速度大大超過(guò)了rm -rf,在rsync中有一個(gè)命令是傻唾,以某目錄為準(zhǔn)同步某文件(如果第一個(gè)目錄是空的,那么結(jié)果可想而知)承耿,源目錄(有數(shù)據(jù)的)就會(huì)被刪除冠骄,當(dāng)初我就是因?yàn)檎`操作,以及缺乏測(cè)試加袋,就目錄寫反了凛辣,關(guān)鍵是沒(méi)有備份……生產(chǎn)環(huán)境數(shù)據(jù)被刪了

沒(méi)備份,大家自己想后果吧职烧,其重要性不言而喻扁誓。

2. Enter前再三確認(rèn)

關(guān)于rm -rf / var 這種錯(cuò)誤,我相信手快的人蚀之,或者網(wǎng)速比較慢的時(shí)候蝗敢,出現(xiàn)的幾率相當(dāng)大

當(dāng)你發(fā)現(xiàn)執(zhí)行完之后,你的心至少是涼了半截足删。

大家可能會(huì)說(shuō)寿谴,我按了這么多次都沒(méi)出過(guò)錯(cuò),不用怕失受,我只想說(shuō)

當(dāng)出現(xiàn)一次你就明白了讶泰,不要以為那些運(yùn)維事故都是在別人身上,如果你不注意贱纠,下一個(gè)就是你峻厚。

3. 切忌多人操作

我在的上一家公司,運(yùn)維管理相當(dāng)混亂谆焊,舉一個(gè)最典型的例子吧惠桃,離職好幾任的運(yùn)維都有服務(wù)器root密碼。

通常我們運(yùn)維接到任務(wù)辖试,都會(huì)進(jìn)行簡(jiǎn)單查看如果無(wú)法解決辜王,就請(qǐng)求他人幫忙,可是當(dāng)問(wèn)題焦頭爛額的時(shí)候罐孝,客服主管(懂點(diǎn)linux)呐馆,網(wǎng)管,你上司一起調(diào)試一個(gè)服務(wù)器莲兢,當(dāng)你各種百度,各種對(duì)照汹来,完了發(fā)現(xiàn)续膳,你的服務(wù)器配置文件,跟上次你修改不一樣了收班,然后再改回來(lái)坟岔,然后再谷歌,興沖沖發(fā)現(xiàn)問(wèn)題摔桦,解決了社付,別人卻告訴你,他也解決了邻耕,修改的是不同的參數(shù)……這個(gè)鸥咖,我就真不知道哪個(gè)是問(wèn)題真正的原因了,當(dāng)然這還是好的兄世,問(wèn)題解決了啼辣,皆大歡喜,可是你遇到過(guò)你剛修改的文件碘饼,測(cè)試無(wú)效熙兔,再去修改發(fā)現(xiàn)文件又被修改的時(shí)候呢?真的很惱火,切忌多人操作艾恼。

4. 先備份后操作

養(yǎng)成一個(gè)習(xí)慣住涉,要修改數(shù)據(jù)時(shí),先備份钠绍,比如.conf的配置文件

另外舆声,修改配置文件時(shí),建議注釋原選項(xiàng)柳爽,然后再?gòu)?fù)制媳握,修改

再者說(shuō),如果第一個(gè)例子中磷脯,有數(shù)據(jù)庫(kù)備份蛾找,那rsync的誤操作不就沒(méi)事了吧

所以說(shuō)丟數(shù)據(jù)庫(kù)非一朝一夕,隨便備份一個(gè)就不用那么慘赵誓。

二打毛、涉及數(shù)據(jù)

1. 慎用rm -rf

網(wǎng)上的例子很多,各種rm -rf /俩功,各種刪除主數(shù)據(jù)庫(kù)幻枉,各種運(yùn)維事故……

一點(diǎn)小失誤就會(huì)造成很大的損失。如果真需要?jiǎng)h除诡蜓,一定要謹(jǐn)慎熬甫。

2. 備份大于一切

本來(lái)上面都有各種關(guān)于備份,但是我想把它劃分在數(shù)據(jù)類再次強(qiáng)調(diào)蔓罚,備份非常之重要哇

我記得我的老師說(shuō)過(guò)一句話椿肩,涉及到數(shù)據(jù)何種的謹(jǐn)慎都不為過(guò)

我就職的公司有做第三方支付網(wǎng)站和網(wǎng)貸平臺(tái)的

第三方支付是每?jī)蓚€(gè)小時(shí)完全備份一次瞻颂,網(wǎng)貸平臺(tái)是每20分鐘備份一次

我不多說(shuō)了,大家自己斟酌吧

3. 穩(wěn)定大于一切

其實(shí)不止是數(shù)據(jù)郑象,在整個(gè)服務(wù)器環(huán)境蘸朋,都是穩(wěn)定大于一切,不求最快扣唱,但求最穩(wěn)定,求可用性

所以未經(jīng)測(cè)試团南,不要再服務(wù)器使用新的軟件噪沙,比如nginx+php-fpm,生產(chǎn)環(huán)境中php各種掛啊

重啟下就好了吐根,或者換apache就好了正歼。

4. 保密大于一切

現(xiàn)在各種艷照門漫天飛,各種路由器后門拷橘,所以說(shuō)局义,涉及到數(shù)據(jù),不保密是不行的冗疮。

三萄唇、涉及安全

1. ssh

  • 更改默認(rèn)端口(當(dāng)然如果專業(yè)要黑你,掃描下就出來(lái)了)
  • 禁止root登錄
  • 使用普通用戶+key認(rèn)證+sudo規(guī)則+ip地址+用戶限制
  • 使用hostdeny類似的防爆里破解軟件(超過(guò)幾次嘗試直接拉黑)
  • 篩選/etc/passwd中l(wèi)ogin的用戶
  • 2. 防火墻

    防火墻生產(chǎn)環(huán)境一定要開术幔,并且要遵循最小原則另萤,drop所有,然后放行需要的服務(wù)端口诅挑。

    3. 精細(xì)權(quán)限和控制粒度

    能使用普通用戶啟動(dòng)的服務(wù)堅(jiān)決不使用root四敞,把各種服務(wù)權(quán)限控制到最低,控制粒度要精細(xì)拔妥。

    4. 入侵檢測(cè)和日志監(jiān)控

    使用第三方軟件忿危,時(shí)刻檢測(cè)系統(tǒng)關(guān)鍵文件以及各種服務(wù)配置文件的改動(dòng)

    比如,/etc/passwd,/etc/my.cnf,/etc/httpd/con/httpd.con等;

    使用集中化的日志監(jiān)控體系没龙,監(jiān)控/var/log/secure铺厨,/etc/log/message,ftp上傳下載文件等報(bào)警錯(cuò)誤日志;

    另外針對(duì)端口掃描兜畸,也可以使用一些第三方軟件努释,發(fā)現(xiàn)被掃描就直接拉入host.deny。這些信息對(duì)于系統(tǒng)被入侵后排錯(cuò)很有幫助咬摇。有人說(shuō)過(guò)伐蒂,一個(gè)公司在安全投入的成本跟他被安全攻擊損失的成本成正比,安全是一個(gè)很大的話題

    也是一個(gè)很基礎(chǔ)的工作肛鹏,把基礎(chǔ)做好了逸邦,就能相當(dāng)?shù)奶岣呦到y(tǒng)安全性恩沛,其他的就是安全高手做的了

    四、日常監(jiān)控

    1. 系統(tǒng)運(yùn)行監(jiān)控 好多人踏入運(yùn)維都是從監(jiān)控做起缕减,大的公司一般都有專業(yè)24小時(shí)監(jiān)控運(yùn)維雷客。系統(tǒng)運(yùn)行監(jiān)控一般包括硬件占用率 常見的有,內(nèi)存桥狡,硬盤搅裙,cpu,網(wǎng)卡裹芝,os包括登錄監(jiān)控部逮,系統(tǒng)關(guān)鍵文件監(jiān)控 定期的監(jiān)控可以預(yù)測(cè)出硬件損壞的概率,并且給調(diào)優(yōu)帶來(lái)很實(shí)用的功能

    2. 服務(wù)運(yùn)行監(jiān)控 服務(wù)監(jiān)控一般就是各種應(yīng)用嫂易,web兄朋,db,lvs等怜械,這一般都是監(jiān)控一些指標(biāo) 在系統(tǒng)出現(xiàn)性能瓶頸的時(shí)候就能很快發(fā)現(xiàn)并解決颅和。

    3. 日志監(jiān)控 這里的日志監(jiān)控跟安全的日志監(jiān)控類似,但這里一般都是硬件缕允,os峡扩,應(yīng)用程序的報(bào)錯(cuò)和警報(bào)信息 監(jiān)控在系統(tǒng)穩(wěn)定運(yùn)行的時(shí)候確實(shí)沒(méi)啥用,但是一旦出現(xiàn)問(wèn)題障本,你又沒(méi)做監(jiān)控有额,就會(huì)很被動(dòng)了

    五、性能調(diào)優(yōu)

    1. 深入了解運(yùn)行機(jī)制

    其實(shí)按一年多的運(yùn)維經(jīng)驗(yàn)來(lái)說(shuō)彼绷,談?wù){(diào)優(yōu)根本就是紙上談兵巍佑,但是我只是想簡(jiǎn)單總結(jié)下,如果有更深入的了解寄悯,我會(huì)更新萤衰。在對(duì)軟件進(jìn)行優(yōu)化之前,比如要深入了解一個(gè)軟件的運(yùn)行機(jī)制猜旬,比如nginx和apache脆栋,大家都說(shuō)nginx快,那就必須知道nginx為什么快洒擦,利用什么原理椿争,處理請(qǐng)求比apache,并且要能跟別人用淺顯易懂的話說(shuō)出來(lái)熟嫩,必要的時(shí)候還要能看懂源代碼秦踪,否則一切以參數(shù)為調(diào)優(yōu)對(duì)象的文檔都是瞎談。

    2. 調(diào)優(yōu)框架以及先后

    熟悉了底層運(yùn)行機(jī)制,就要有調(diào)優(yōu)的框架和先后順序椅邓,比如數(shù)據(jù)庫(kù)出現(xiàn)瓶頸柠逞,好多人直接就去更改數(shù)據(jù)庫(kù)的配置文件,我的建議是景馁,先根據(jù)瓶頸去分析板壮,查看日志,寫出來(lái)調(diào)優(yōu)方向合住,然后再入手绰精,并且數(shù)據(jù)庫(kù)服務(wù)器調(diào)優(yōu)應(yīng)該是最后一步,最先的應(yīng)該是硬件和操作系統(tǒng)透葛,現(xiàn)在的數(shù)據(jù)庫(kù)服務(wù)器都是在各種測(cè)試之后才會(huì)發(fā)布的

    適用于所有操作系統(tǒng)茬底,不應(yīng)該先從他入手。

    3. 每次只調(diào)一個(gè)參數(shù)

    每次只調(diào)一個(gè)參數(shù)获洲,這個(gè)相比大家都了解,調(diào)的多了殿如,你就自己就迷糊了贡珊。

    4. 基準(zhǔn)測(cè)試

    判斷調(diào)優(yōu)是否有用,和測(cè)試一個(gè)新版本軟件的穩(wěn)定性和性能等方面涉馁,就必須要基準(zhǔn)測(cè)試了门岔,測(cè)試要涉及很多因素

    測(cè)試是否接近業(yè)務(wù)真實(shí)需求這要看測(cè)試人的經(jīng)驗(yàn)了,相關(guān)資料大家可以參考《高性能mysql》第三版相當(dāng)?shù)暮?/p>

    我的老師曾說(shuō)過(guò)烤送,沒(méi)有放之四海皆準(zhǔn)的參數(shù)寒随,任何參數(shù)更改任何調(diào)優(yōu)都必須符合業(yè)務(wù)場(chǎng)景

    所以不要再谷歌什么什么調(diào)優(yōu)了,對(duì)你的提升和業(yè)務(wù)環(huán)境的改善沒(méi)有長(zhǎng)久作用

    六帮坚、運(yùn)維心態(tài)

    1. 控制心態(tài)

    很多rm -rf /data都在下班的前幾分鐘妻往,都在煩躁的高峰,那么你還不打算控制下你的心態(tài)么

    有人說(shuō)了试和,煩躁也要上班讯泣,可是你可以在煩躁的時(shí)候盡量避免處理關(guān)鍵數(shù)據(jù)環(huán)境

    越是有壓力,越要冷靜阅悍,不然會(huì)損失更多好渠。

    大多人都有rm -rf /data/mysql的經(jīng)歷,發(fā)現(xiàn)刪除之后节视,那種心情你可以想象一下拳锚,可是如果沒(méi)有備份,你急又有什么用寻行,一般這種情況下霍掺,你就要冷靜想下最壞打算了,對(duì)于mysql來(lái)說(shuō),刪除了物理文件抗楔,一部分表還會(huì)存在內(nèi)存中棋凳,所以斷開業(yè)務(wù),但是不要關(guān)閉mysql數(shù)據(jù)庫(kù)连躏,這對(duì)恢復(fù)很有幫助剩岳,并使用dd復(fù)制硬盤,然后你再進(jìn)行恢復(fù)

    當(dāng)然了大多時(shí)候你就只能找數(shù)據(jù)恢復(fù)公司了入热。

    試想一下拍棕,數(shù)據(jù)被刪了,你各種操作勺良,關(guān)閉數(shù)據(jù)庫(kù)绰播,然后修復(fù),不但有可能覆蓋文件尚困,還找不到內(nèi)存中的表了蠢箩。

    2. 對(duì)數(shù)據(jù)負(fù)責(zé)

    生產(chǎn)環(huán)境不是兒戲,數(shù)據(jù)庫(kù)也不是兒戲事甜,一定要對(duì)數(shù)據(jù)負(fù)責(zé)谬泌。不備份的后果是非常嚴(yán)重的。

    3. 追根究底

    很多運(yùn)維人員比較忙逻谦,遇到問(wèn)題解決就不會(huì)再管了掌实,記得去年一個(gè)客戶的網(wǎng)站老是打不開,經(jīng)過(guò)php代碼報(bào)錯(cuò)

    發(fā)現(xiàn)是session和whos_online損壞邦马,前任運(yùn)維是通過(guò)repair修復(fù)的贱鼻,我就也這樣修復(fù)了,但是過(guò)了幾個(gè)小時(shí)滋将,又出現(xiàn)了

    反復(fù)三四次之后邻悬,我就去谷歌數(shù)據(jù)庫(kù)表莫名損壞原因:一是myisam的bug,二是mysqlbug随闽,三是mysql在寫入過(guò)程中

    被kill拘悦,最后發(fā)現(xiàn)是內(nèi)存不夠用,導(dǎo)致OOM kill了mysqld進(jìn)程

    并且沒(méi)有swap分區(qū)橱脸,后臺(tái)監(jiān)控內(nèi)存是夠用的础米,最后升級(jí)物理內(nèi)存解決。

    4. 測(cè)試和生產(chǎn)環(huán)境

    在重要操作之前一定要看自己所在的機(jī)器添诉,盡量避免多開窗口屁桑。

    作者:易道云控

    鏈接:http://www.reibang.com/p/dd7ac88efacb

    來(lái)源:簡(jiǎn)書

    著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)栏赴,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處蘑斧。

    ?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
    • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子竖瘾,更是在濱河造成了極大的恐慌沟突,老刑警劉巖,帶你破解...
      沈念sama閱讀 206,482評(píng)論 6 481
    • 序言:濱河連續(xù)發(fā)生了三起死亡事件捕传,死亡現(xiàn)場(chǎng)離奇詭異惠拭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)庸论,發(fā)現(xiàn)死者居然都...
      沈念sama閱讀 88,377評(píng)論 2 382
    • 文/潘曉璐 我一進(jìn)店門职辅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人聂示,你說(shuō)我怎么就攤上這事域携。” “怎么了鱼喉?”我有些...
      開封第一講書人閱讀 152,762評(píng)論 0 342
    • 文/不壞的土叔 我叫張陵秀鞭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我扛禽,道長(zhǎng)锋边,這世上最難降的妖魔是什么? 我笑而不...
      開封第一講書人閱讀 55,273評(píng)論 1 279
    • 正文 為了忘掉前任旋圆,我火速辦了婚禮,結(jié)果婚禮上麸恍,老公的妹妹穿的比我還像新娘灵巧。我一直安慰自己,他們只是感情好抹沪,可當(dāng)我...
      茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
    • 文/花漫 我一把揭開白布刻肄。 她就那樣靜靜地躺著,像睡著了一般融欧。 火紅的嫁衣襯著肌膚如雪敏弃。 梳的紋絲不亂的頭發(fā)上,一...
      開封第一講書人閱讀 49,046評(píng)論 1 285
    • 那天噪馏,我揣著相機(jī)與錄音麦到,去河邊找鬼。 笑死欠肾,一個(gè)胖子當(dāng)著我的面吹牛瓶颠,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播刺桃,決...
      沈念sama閱讀 38,351評(píng)論 3 400
    • 文/蒼蘭香墨 我猛地睜開眼粹淋,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起桃移,我...
      開封第一講書人閱讀 36,988評(píng)論 0 259
    • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤屋匕,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后借杰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體过吻,經(jīng)...
      沈念sama閱讀 43,476評(píng)論 1 300
    • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
      茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
    • 正文 我和宋清朗相戀三年第步,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疮装。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
      茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
    • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡粘都,死狀恐怖廓推,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情翩隧,我是刑警寧澤樊展,帶...
      沈念sama閱讀 33,712評(píng)論 4 323
    • 正文 年R本政府宣布,位于F島的核電站堆生,受9級(jí)特大地震影響专缠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜淑仆,卻給世界環(huán)境...
      茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
    • 文/蒙蒙 一涝婉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蔗怠,春花似錦墩弯、人聲如沸。這莊子的主人今日做“春日...
      開封第一講書人閱讀 30,264評(píng)論 0 19
    • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至桥温,卻和暖如春引矩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背侵浸。 一陣腳步聲響...
      開封第一講書人閱讀 31,486評(píng)論 1 262
    • 我被黑心中介騙來(lái)泰國(guó)打工旺韭, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掏觉。 一個(gè)月前我還...
      沈念sama閱讀 45,511評(píng)論 2 354
    • 正文 我出身青樓茂翔,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親履腋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子珊燎,可洞房花燭夜當(dāng)晚...
      茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

    推薦閱讀更多精彩內(nèi)容

    • 運(yùn)維工程師學(xué)習(xí)路線 運(yùn)維工程師在前期是一個(gè)很苦逼的工作惭嚣,在這期間可能干著修電腦、掐網(wǎng)線悔政、搬機(jī)器的活晚吞,顯得沒(méi)地位!時(shí)...
      pilot1123閱讀 108評(píng)論 0 0
    • 人們?cè)谌粘I钪须y免會(huì)遇到一些意外谋国,那么大家又對(duì)救護(hù)安全知識(shí)知多少呢槽地?下面給大家介紹幾種常見的意外情況急救小知識(shí)。...
    • 疫情仍在蔓延芦瘾。 打開網(wǎng)捌蚊,每天都有新的數(shù)據(jù)產(chǎn)生。 搶口罩搶維C的 搶米搶面的 搶酒精消毒液的 搶護(hù)目鏡的 紫外線燈的...
      青絲宛若墨閱讀 164評(píng)論 0 0
    • 科技型中小企業(yè)認(rèn)定條件 科技型中小企業(yè)申報(bào)基本條件 (一)在中國(guó)境內(nèi)(不包括港近弟、澳缅糟、臺(tái)地區(qū))注冊(cè)的居民企業(yè)。 (二...
      hb2262閱讀 66評(píng)論 0 0
    • 接昨天祷愉,業(yè)主群里窗宦,被罩不翼而飛的故事。如果二鳄,業(yè)主群里一邊倒的罵人赴涵,并曬出監(jiān)控視頻,認(rèn)定了農(nóng)村的老太太就是小偷订讼。這是...
      池恩琛閱讀 95評(píng)論 0 0