DBA線上操作要知道的那些事

2021-09-23 07:00:23 字數 1704 閱讀 3317

根據莫非定律1:「凡是可能出錯的事必定會出錯,任何乙個事件,只要具有大於零的機率,就不能夠確定它不會發生。」這句看似箴言的話,想必每個運維從業人員感觸非常深刻。本文從 dba 線上操作的角度,談談自己的看法。

工作日,dba 會處理大批工單;非工作日,dba 在時刻準備著救急。亦即,dba 每時每刻都有線上操作的需要。那麼問題來了,個人的狀態是不定的,包括心理狀態、身體狀態。時刻保證臨危不亂,這是 dba 重要的素質之一。線上故障,分秒必爭,不及時的處理、不善的操作都很有可能給公司帶來不同程度的損失。線上操作需要求穩,本文給出筆者的點滴思考。

第一,處理工單、凌晨維護、處理緊急故障之前,梳理流程,準備必要的資料。乙個優秀的 dba,不是求速度,不是求效率,而是求穩。出錯的概率低,你給別人的感覺就會比較靠譜。有經驗的 dba,線上操作就是複製貼上,寧願相信 0 和 1,也不願相信自己和別人。每次處理工單、凌晨維護,筆者都會養成乙個習慣,梳理流程,準備線上伺服器 ip 列表、需要的指令碼、有可能使用到的命令、相關的文件等等。這樣的好處是,心裡有譜,不至於慌亂。即使遇到突發狀況,也會相對從容。當然,緊急故障沒有這麼多時間給你準備,但至少也要準備常用的命令。這裡有個小建議,使用 evernote 儲存常用的命令,當然,涉及公司敏感資訊的,不能留。臨場發揮,盡可能地避免手動輸入,因為高度緊張的狀態下,輸入錯誤的概率比日常要高。於 dba 而言,輸入錯誤,帶來的災難將是毀滅性的。已經有很多類似的案例,在此不做展開。

第二,處理故障之前分析最重要。通常某個故障是不是單點的,是乙個面,是乙個鏈條。線上故障,直接受影響的就是使用者,究其原因,使用者層、接入層、邏輯層和資料層每一層都有可能有問題。處理故障之前,不是無謂的試錯,一次不行,下次依然如故的概率相當高,然後時間就這樣不知不覺地浪費了。此時應該冷靜下來,思維不能單獨盯在資料層,從整個技術鏈條考慮,這樣獲得的資訊才是最全方位的。那麼問題來了,網際網路行業工作細分,dba 很大可能沒有運算元據層之外的許可權,怎樣做到資訊相對完善,接下來就是下乙個話題。

第四,任何操作三思而後行。dba 應該把「備份重於一切4」銘記於心,修改任何配置檔案之前先備份,慎用甚至不用 rm。對於有 drop 和 truncate 的工單,再三審核和確認,避免無效操作。如果確實存在此類需求,應該首先確認是否有備份,備份是否可用。dba 應該對高危操作有明確的認識,除此之外,所有的恢復操作也需要了記於心,防患於未然。

第五,事後 review、反思、總結,形成知識庫。故障是不可控的,可能是人為,可能是程式有 bug,可能是網路故障,總之發生故障的原因千奇百怪。但故障事後的 review、反思和總結我們可以控制。針對某個特定的故障,反思處理的流程是否有優化的地方,反思基礎設施是否還有不完善的地方,反思團隊出現的問題,反思和其他部門的合作是否有問題等等,然後形成會議記錄、故障報告、故障總結,形成知識庫,定期再次 review,避免下次出現類似的問題。再者,還可以給新入職的員工參考,從真實案例中學習,這樣進步會更快。

做好乙個優秀的 dba,技術是一方面,更重要的是個人素質。比如,你需要有良好的習慣、需要有優秀的心理素質、需要有責任心和道德、需要有良好的溝通能力……這些軟實力是基石,在此基礎上,拓展技術的廣度和深度,這樣才會有更良好的發展。

回到這篇文章本身,筆者時刻都在強調軟實力。軟實力靠的是長期的積累,需要自控力不斷提高。歸根結底,任何管理本質上都是對自我的管理。

面試需要知道的那些事

1 threadpool與task?執行緒池的優點 降低資源消耗。通過重複利用已建立的執行緒降低執行緒建立和銷毀造成的消耗。提高響應速度。當任務到達時,任務可以不需要等到執行緒建立就能立即執行。提高執行緒的可管理性。執行緒是稀缺資源,如果無限制的建立,不僅會消耗系統資源,還會降低系統的穩定性,使用執...

你要知道的 程序 那些事

程序,指執行中的程式。在沒有執行緒前,程序如果阻塞,就會被掛起,即使其中有些操作並不依賴於等待的資源,仍舊不會執行。為了解決這個問題,作業系統引入了執行緒,作為程序中的一條執行流程。乙個程序包含多個執行緒,執行緒作為任務的真正執行者,有自己的暫存器和棧。同時,會和程序內其他執行緒共享虛擬記憶體等資源...

sizeof必須要知道的那些事

sizeof對於大多數人來說是即熟悉由陌生的。熟悉是指大家基本都用過,也知道sizeof是操作符不是函式 陌生就是指sizeof在計算自定義型別的時候,會涉及記憶體對齊方式,返回結果往往與我們想的大相徑庭。本文就是結合記憶體對齊方式來介紹如何求sizeof的返回值。先來做個測試,各位看官如能準確說出...