【人在營運囧途_04】逃離故障的十條營運工作經驗總結 【人在營運囧途_03】20個Linux系統內建監視工具: w和pshttp://www.bkjia.com/os/201303/199396.html 故障、於 DBA、於 營運人員 都是 心中永遠的痛、而避免故障的原則卻是殊途同歸 現列如下、與君共勉 ㈠ 變更要能復原、先在同樣的環境測試過 佛說:每次創傷、都是一次成熟、這便是營運人員的真實寫照 從某種意義上講、營運是一門經驗的學科、是一門試錯的學科 沒有做過的東西、總是會給你不期而遇的痛擊 請保護現場、讓 變更 有回頭的機會 ㈡ 對破壞性的操作謹慎小心 什麼是破壞性的操作哩? 比如: 對 Oracle 而言:truncate table_name、delete table_name、drop table_name 這些語句執行起來輕鬆簡單也愜意極了、但記住!即便資料可被復原、代價也是非常大! 對 Linux 而言:rm -r 所有當前及其子目錄的所有資料都將被刪除 經曆過這種故障的人、大多會給 rm 上個別名 alias rm='rm -i' 同理、cp 和 mv 也可以有同樣的選項: alias cp='cp -i' alias mv='mv -i' ㈢ 設定好命令提示 在操作之前、先理清你所在的是主庫、備庫?目前的目錄?哪個 schema?session?時間? 比如: 對 Oracle 來講:[plain] idle> set sqlprompt 'RAC-node1-primary@10g>>' RAC-node1-primary@10g>> 當然、你也可以在 glogin.sql 裡面設定 對於 Linux 而言、bash 環境的提醒可設定 PS1 來知道目前的目錄、登陸使用者名稱和主機資訊等 ㈣ 備份並驗證備份的有效性 人非聖賢、豈能無過?是機器總有計劃內或計劃外崩潰的一天 怎麼辦?備份!!! 備份的學問很大、按照不同的維度可以分:冷備和熱備;即時和非即時;物理和邏輯 OLTP 7*24 線上業務、DB 就需要有即時熱備 這樣就可以了嗎? 如果開發人員的一個不帶任何條件的 delete 誤刪所有資料 所以、此時你除了即時、還需要有非即時的備份、把 DB 從邏輯錯誤中恢複出來 備份有了、可以高忱無憂了嗎? 不行!尚須驗證備份的有效性 一個總有那麼幾次、備份無法保證 100% 恢複 簡單的驗證就是找個空庫、恢複出來 ㈤ 對生產環境永保敬畏之心 會計人員在從業之前、都有個職業操守的訓練 同理、這也應該是營運人員進入行業首先需要具備的素養 比如: 於 Oracle 而言、你可以跑一個 RDA 巡檢 DB 的健康情況 於 Linux 而言、是否有 password aging、隔離外網等 ㈥ 交接和休假最容易出故障、變更請謹慎 接手別人的工作要一而再,再而三的確認變更方案。請教人並不見得就是能力不行的表現 休假前最好各種可以做好的事情,最好能夠準備一份文檔,指明在什麼情況下怎麼做和聯絡哪些人 在別人放假的時候接手工作,“能拖則拖”,實在需要執行:必須不厭其煩的跟原營運者確認各個操作細節 ㈦ 搭建警示、及時擷取出錯資訊;搭建效能監控、預測趨勢 營運人員賴於生存的工具就是 警示和監控 警示可以讓你及時知道系統出現了什麼異常、以便及時跟進、把故障扼殺於搖籃 監控可以讓你瞭解系統的曆史效能資訊、以曆為鑒、可以知興替嘛、早做最佳化 警示和最佳化是衣寬頻水的好兄弟、相鋪相成、互相促進 ㈧ 自動卻換需謹慎 比如、Oracle 儲存級的HA方案:Data Guard 主庫提交了一筆訂單、結果發生了 switchover、這筆訂單沒有同步到備庫 那麼、賣家損失了一個銷售單、對客戶、對公司都是損失 ㈨ 仔細一點,偏執一點,檢查,檢查,再檢查 有這麼一個人: ① 他在做一個變更的時候,會先提前一兩周發送郵件並電話手機通知相關人 ② 在測試機上寫好指令碼,召集大家 review 操作步驟和指令碼 ③ 測試完成以後拷貝到生產環境 ④ 登入對應機器,“開啟,關閉,開啟,關閉”該指令碼 ⑤ 跟相關人員再次確認執行的操作,順序,時間點,可能的影響和復原是否都準備好了 ⑥ 執行前還要退出這個機器,然後再登入進去,“開啟,關閉”指令碼 ⑦ 最後才在後台運行指令碼,同時在另外一個視窗登入著,隨時ps和查看結果輸出 期間姿勢端正,呼吸急促而均勻,眼神凝重。操作的人不覺得累,倒是一邊學習的人很累 ㈩ 簡單即是美 這有點禪的意境、和 GNU/Linux 的思想不謀而合 我們總是面臨各種誘惑: 新的系統架構,新的更智能的命令和工具,最新的硬體平台,功能更全的HA軟體...等 你可以線上下安裝,測試,怎麼搞都行。但是如果想要在生產環境下使用起來、請三思!! 能夠使用系統內建命令的話,就不用考慮其他要專門下載安裝的軟體了 指令碼本身就能完成的功能,就沒有必要專門找一個功能豐富的軟體來做 linux本身內建的字元介面比那些複雜的圖形介面要簡潔方便 ...... ...... 最後祝大家營運工作一帆風順,多福多壽,不出故障 %>_<%