【运维囧事】运维的苦乐之旅
? ?人生就是一段充滿苦與樂的旅程,在人生當中有痛苦也有歡樂,痛苦不一定是負面的,有的時候還會使你進步,增強應變能力。對一般人而言,人生一定要是快樂的才是有意義的,可是你仔細想想,有誰不是因為挫折而更加的堅強呢?走過運維的風風雨雨,與大家一起回憶其中的苦樂甘甜,那何嘗不是一段段激情燃燒的歲月呢,記載著你我成長的故事。。。。。
一、不要輕易地放棄
? ?運維中時常會面臨各種各樣的挑戰和難題,很多時候感覺自己快陷入絕境了,很多時候靜下心來思考問題又能出現偉大的轉機。任何時候都不要輕易地放棄,也許你只要再深入一步看到問題的某個細節,事情并沒有你想象的那么復雜。
? ?一臺AIX生產服務器上裝有DB2數據庫,由于開發人員的誤操作,造成一個重要表的被刪除,需要進行恢復。為了安全,不能在生產環境的數據庫上進行操作,需要放到測試環境進行恢復。問了一下開發人員,表被刪除的時間為5月31日下午8點35分左右,現在已是晚間9點05分了,距離事故發生時間點已過去半個小時,根據安全等級規定需要在兩個小時內進行恢復。這種狀況的恢復是典型的前滾恢復,需要使用完整的數據庫備份和日志相結合,然后將數據庫或者被選擇的表空間恢復到某個特定時間點。如果從備份時刻起到發生故障時的所有日志文件都可以獲得的話,則可以恢復到日志上涵蓋到的任意時間點。
? ?首先檢查了一下數據庫的備份情況,上周日有一個完整備份,從完整備份到故障點的所有日志都完好的存在,心里總算松了一口氣,看來問題似乎很好恢復。
接下來在測試環境找一臺與生產環境DB2數據庫版本一致的AIX小機,把完整數據庫備份和相應日志傳輸過來。(注:不同的數據庫版本,物理日志格式不一樣,在做恢復的時候容易報SQL2547錯誤,從而不能前滾日志)從生產環境傳輸到測試環境的完整備份和日志,大家還要注意修改文件的屬主和權限,以避免無法讀取的錯誤。
? ?緊接著,進行完整備份恢復,并前滾日志到指定時間點,一切都很正常順利。然后告知開發人員進行檢查,過了一會,開發人員反饋說沒有查到數據,仍然是刪除后的狀態。這回有點納悶了,怎么可能會沒有,時間已過去了半個小時,真是讓人著急啊。旁邊的電話響個不停,聽的人腦袋都要炸了。接著又將前滾日志的時間點提前了半小時再恢復,還是沒有數據,這時有開發說可以手工錄入丟失的283條數據,難道要放棄數據恢復么?心里糾結的七上八下,但是我腦中閃過一個念頭,不能輕易放棄,也許是我們遺漏了某個細節。于是靜下心來思考了幾分鐘,心里突然有點懷疑,會不會是兩個小機的時間不一致啊,因為前滾時用的是local time
? ?立即檢查兩個小機的時間
? ?Sun Jun ?4 15:43:47 BEIST 2013 ?(生產機時間)
? ?Sun Jun ?4 15:44:01 CDT 2013 ? ? (測試機時間)
? ?注意紅色部分,BEIST和CDT并不是同一個時區,BEIST與CDT之間相差8個小時。因為時區的不一致導致時間不統一,所以出現了問題。立即修改了測試機的時區并同步了一下時間,再來一次恢復,果然數據有了,表也恢復了,一切OK
細節決定成敗,遇事一定要冷靜沉著,問題面前不要輕易的說放棄。
二、直面問題---解決與發現
? ?運維當中,我們通常會面臨解決不完的問題,身為救火隊員的你可能天天吃力不討好,被無數投訴和報表弄得疲憊不堪……面對問題關鍵的是我們的心態,是積極應對還是消極拖延,這關乎到我們的工作和存在的價值。
? ?大多數時候,運維人員都在進行著簡單重復的工作,且很難得到最終用戶的肯定。曾有人用“窮忙族”形容運維工程師,工位上不見人影,一坐下電話不斷,是不是你該解決的問題都有人來找你。這樣的場景,大家應該都有體會。不管你接手的問題是復雜還是簡單,我們首要的心態就是面對問題解決問題,而不是抱怨與逃避。做運維時,有時候很怕接到自己搞不定的問題,害怕客戶投訴也擔心自己出丑丟面子。一次接到一任務,要求幫客戶排除一新上數據庫服務器網卡不穩定的問題,這類問題大家一般都往網絡上想,但經過網絡部工程師檢測網絡設備、網卡和千兆網線都說沒問題,最后就推到系統部,讓查到底是什么原因。其他人都覺得這問題不好辦,索性推脫了。當經理最后問到我時,我知道不能再推了,硬著頭皮說讓我看看,我覺得不是什么大問題。心里雖然打著鼓,但知道只能直面問題往前沖了,管他呢拼一把,大不了就是出回丑丟回面子。問明事情的緣由“原來是近期新上的DB SERVER服務器,在壓測中發現網卡很不穩定,壓力測試剛剛進行十幾分鐘后,服務器反應就變得非常慢,PING的時候經常丟包而且SSH連接也時斷時續”,剛開始我以為是高并發時導致的db server無響應,可是看了一下CPU、內存和硬盤IO,發現都沒有達到較高值,甚至比我們的預警值低很多,而且監測也表明DB服務器剩余資源很充裕!真是比較奇怪,那么引起網卡不穩定的原因到底是什么呢?
? ?接著我又向相關工程師了解了一下情況,知道這臺DB服務器是雙機熱備中的一臺服務器,前幾天剛做的2組千兆網卡綁定。據工程師說綁定前也做過壓測,沒有出現這樣的問題。難道是綁定設置的哪個環節出問題了?于是我決定從千兆網卡綁定進行詳細檢查。依次檢查了“ifcfg-bond0、ifcfg-bond1文件沒有問題,又檢查了ifcfg-eth0、ifcfg-eth1、ifcfg-eth2、ifcfg-eth3文件還是沒有問題,再接著檢查modprobe.conf配置文件也很正常,最后檢查了rc.local文件,發現BOND0和BOND1文件中綁定的網卡有誤,造成一個IP地址對應兩個不同的MAC地址,顯然會造成網絡的延遲和不穩定,這就跟以往的ARP***比較像。最后終于發現了問題的癥結,成功解決了問題,為自己也為團隊贏得了好評和榮譽。
? ?在一次次的解決問題當中,我們不僅在積累處理不同問題的經驗,更重要的是我們在得到客戶的認可和好的工作評價。所以不要怕問題,每個問題正是你的機會,發現并善于解決問題,我們也會得到客戶的肯定和個人的成長。
要記住,老板需要的,是會解決問題的人。成功青睞的,也是勇于解決問題的人。
三、唯有學習,才能不斷提升自己
? ?作為一名運維工程師,通常需要掌握的知識比較雜,學習起來也感覺比較苦與累。
? ?首先熟悉網絡,對網絡常用的負載均衡技術和分層架構要熟悉,結合網站的內容發布、管理及靜態化技術、動靜分離方案,對主流網絡設備的配置和冗余應用比較熟悉,并熟悉高并發下的網絡壓力管理和流量控制。
? ?其次熟悉服務器的批量部署。相信許多企業里都有自動化運維的需求,如批量安裝服務器、批量裝應用、批量傳文件、批量監控等等,網上也有N多相關的管理軟件,開源的如Nagios、Cacti、zabbix、zenoss監控,Cfengine、cobbler、Puppet統一部署管理軟件,商業的就更多。它們都很強大,當然也各有利弊,需要結合自己企業的業務應用去具體調整和配置。
? ?再次就是熟悉數據庫的集群和后端存儲架構。通常數據庫和存儲都是整個IT架構中比較核心的東西,數據庫的性能和高并發下的穩定對企業來講是非常重要的,它直接關系到用戶的體驗和價值轉化。還有存儲的性能將直接影響IO,影響讀寫的速度。作為一個運維工程師尤其需要對系統的性能、容錯、并發等有獨到的認識與解決辦法。還有就是需要對技術發展趨勢有很高的敏感性和預見能力,能不斷推進運維管理水平的進步并提升運維的價值。
? ?作為運維工程師,要想有更大的發展,不僅要懂技術也更需要懂管理,建立流程規范的IT服務和支持,并實現行之有效的持續改善和對機制進行監控。運維上,好的管理制度和方法需要貫徹和堅持,如果不善于管理和監督,很難保證好的運維體系能運作下去,這對運維工作也會產生波動和影響。當然運維工程師也需要具有領導能力與團隊協作技能,能在關鍵時候對技術的選擇作出及時、有效的決定,來把握問題解決的方向。
? ?學習中的苦與樂都是相對的。以苦為苦,只能使我們消沉;不以苦為苦,就會使我們無視自己的不足;化苦為樂,則可能使我們在學習和工作中取得超常的成就。
? ?苦盡甘來,耕耘時的苦是為了收獲時的樂。運維的路上,有風有雨,更有我們的堅持,讓我們苦樂相隨!
【博客話題】 人在囧途之“運維囧”正在進行,歡迎大家參與,分享你運維工作中的囧事、趣事、經驗談!
詳情查看:http://51ctotopic.blog.51cto.com/2009463/1254338
總結
以上是生活随笔為你收集整理的【运维囧事】运维的苦乐之旅的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Exception from HRESU
- 下一篇: 数据库的应用详解三
