運(yùn)維避免系統(tǒng)故障的10項(xiàng)技巧!

老凱運(yùn)維
老凱運(yùn)維
從某種意義上講、運(yùn)維是一門經(jīng)驗(yàn)的學(xué)科、是一門試錯(cuò)的學(xué)科。沒有做過的東西、總是會(huì)給你不期而遇的痛擊,請保護(hù)現(xiàn)場,讓變更有回頭的機(jī)會(huì)。

系統(tǒng)故障,對于DBA或是運(yùn)維人員來說,都是心中永遠(yuǎn)的痛。而避免故障的原則卻是殊途同歸,現(xiàn)列如下,與君共勉。

一、變更要能回滾、現(xiàn)在同樣的環(huán)境測試過

佛說:每次創(chuàng)傷、都是一次成熟,這便是運(yùn)維人員的真實(shí)寫照。

從某種意義上講、運(yùn)維是一門經(jīng)驗(yàn)的學(xué)科、是一門試錯(cuò)的學(xué)科。沒有做過的東西、總是會(huì)給你不期而遇的痛擊,請保護(hù)現(xiàn)場,讓變更有回頭的機(jī)會(huì)。

二、對破壞性的操作謹(jǐn)慎小心

什么是破壞性的操作?

比如:對Oracle而言:truncate table_name、delete table_name、drop table_name,這些語句執(zhí)行起來輕松簡單也愜意極了、但記??!即便數(shù)據(jù)可被回滾、代價(jià)也是非常大!

對Linux而言:rm-r所有當(dāng)前及其子目錄的所有數(shù)據(jù)都將被刪除。經(jīng)歷過這種故障的人、大多會(huì)給rm上個(gè)別名。

alias rm='rm-i'

同理,cp和mv也可以有同樣的選項(xiàng):

alias cp='cp-i'

alias mv='mv-i'

三、設(shè)置好命令提示

在操作之前、先理清你所在的是主庫、備庫?當(dāng)前目錄?哪個(gè)schema?session?時(shí)間?

比如:對Oracle來講:

[plain]view plaincopy

idle>set sqlprompt'RAC-node1-primary 10g>>'

RAC-node1-primary 10g>>

當(dāng)然、你也可以在glogin.sql里面設(shè)置。

對于Linux而言、bash環(huán)境的提醒可設(shè)置PS1來知道當(dāng)前目錄、登陸用戶名和主機(jī)信息等;

四、備份并驗(yàn)證備份的有效性

人非圣賢、豈能無過?是機(jī)器總有計(jì)劃內(nèi)或計(jì)劃外崩潰的一天。怎么辦?備份?。?!

備份的學(xué)問很大、按照不同的維度可以分:冷備和熱備;實(shí)時(shí)和非實(shí)時(shí);物理和邏輯。OLTP 7*24在線業(yè)務(wù)、DB就需要有實(shí)時(shí)熱備。這樣就可以了嗎?

如果開發(fā)人員的一個(gè)不帶任何條件的delete誤刪所有數(shù)據(jù),此時(shí)你除了實(shí)時(shí)、還需要有非實(shí)時(shí)的備份、把DB從邏輯錯(cuò)誤中恢復(fù)出來。

備份有了、可以高忱無憂了嗎?不行!尚須驗(yàn)證備份的有效性。一個(gè)總有那么幾次、備份無法保證100%恢復(fù),簡單的驗(yàn)證就是找個(gè)空庫恢復(fù)出來。

五、對生產(chǎn)環(huán)境永保敬畏之心

會(huì)計(jì)人員在從業(yè)之前、都有個(gè)職業(yè)操守的訓(xùn)練。同理、這也應(yīng)該是運(yùn)維人員進(jìn)入行業(yè)首先需要具備的素養(yǎng)。

比如:

于Oracle而言、你可以跑一個(gè)RDA巡檢DB的健康狀況;

于Linux而言、是否有password aging、隔離外網(wǎng)等。

六、交接和休假最容易出故障,變更請謹(jǐn)慎

接手別人的工作要一而再、再而三的確認(rèn)變更方案。請教人并不見得就是能力不行的表現(xiàn);

休假前最好各種可以做好的事情,最好能夠準(zhǔn)備一份文檔,指明在什么情況下怎么做和聯(lián)系哪些人;

在別人放假的時(shí)候接手工作,“能拖則拖”,實(shí)在需要執(zhí)行:必須不厭其煩的跟原運(yùn)維者確認(rèn)各個(gè)操作細(xì)節(jié)。

七、搭建報(bào)警、及時(shí)獲取出錯(cuò)信息;搭建性能監(jiān)控、預(yù)測趨勢

運(yùn)維人員賴于生存的工具就是報(bào)警和監(jiān)控。

報(bào)警可以讓你及時(shí)知道系統(tǒng)出現(xiàn)了什么異常、以便及時(shí)跟進(jìn)、把故障扼殺于搖籃;

監(jiān)控可以讓你了解系統(tǒng)的歷史性能信息、以歷為鑒、可以知興替嘛、早做優(yōu)化。

報(bào)警和優(yōu)化是衣寬帶水的好兄弟、相鋪相成、互相促進(jìn)。

八、自動(dòng)切換需謹(jǐn)慎

比如:Oracle存儲(chǔ)級(jí)的HA方案:Data Guard,主庫提交了一筆訂單,結(jié)果發(fā)生了switchover,這筆訂單沒有同步到備庫,那么賣家損失了一個(gè)銷售單、對客戶、對公司都是損失。

九、仔細(xì)一點(diǎn),偏執(zhí)一點(diǎn),檢查、檢查、再檢查

有這么一個(gè)人:

他在做一個(gè)變更的時(shí)候,會(huì)先提前一兩周發(fā)送郵件并電話手機(jī)通知相關(guān)人;

在測試機(jī)上寫好腳本,召集大家review操作步驟和腳本;

測試完成以后拷貝到生產(chǎn)環(huán)境;

錄對應(yīng)機(jī)器,“打開,關(guān)閉,打開,關(guān)閉”該腳本;

跟相關(guān)人員再次確認(rèn)執(zhí)行的操作、順序、時(shí)間點(diǎn),可能的影響和回滾是否都準(zhǔn)備好了;

行前還要退出這個(gè)機(jī)器,然后再登錄進(jìn)去,“打開,關(guān)閉”腳本;

后才在后臺(tái)運(yùn)行腳本,同時(shí)在另外一個(gè)窗口登錄著,隨時(shí)ps和查看結(jié)果輸出。

期間姿勢端正,呼吸急促而均勻,眼神凝重。操作的人不覺得累,倒是一邊學(xué)習(xí)的人很累。

十、簡單即是美

這有點(diǎn)禪的意境、和GNU/Linux的思想不謀而合。

我們總是面臨各種誘惑:新的系統(tǒng)架構(gòu),新的更智能的命令和工具,最新的硬件平臺(tái),功能更全的HA軟件…你可以在線下安裝,測試,怎么做都行。但是如果想要在生產(chǎn)環(huán)境下使用起來、請三思!!

能夠使用系統(tǒng)內(nèi)置命令的話,就不用考慮其他要專門下載安裝的軟件了

腳本本身就能完成的功能,就沒有必要專門找一個(gè)功能豐富的軟件來做

Linux本身自帶的字符界面比那些復(fù)雜的圖形界面要簡潔方便……

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論