如何讓Linux系統(tǒng)管理變得更輕松?
“救火隊員、緊迫感”,絕大多數(shù)系統(tǒng)管理員都這樣形容他們的工作,這絕對是真的,他們大部分時間都在解決問題,剛教會一個MM接收郵件,銷售部的打印機(jī)又被卡住了,不久又發(fā)現(xiàn)服務(wù)器的硬盤出了問題,我們身邊的系統(tǒng)管理員就這樣忙碌地度過他們的每一天。在經(jīng)歷了長期的折磨后,一些系統(tǒng)管理員變聰明了,他們開始利用各種工具和技術(shù)幫助自己完成一些任務(wù),本文就來揭秘一下讓系統(tǒng)管理工作變得更輕松的技巧。
我要介紹的這些技術(shù)都很基礎(chǔ),但不要笑我,作為“救火隊員”的你應(yīng)該和我一樣認(rèn)真對待這些技術(shù)。
首先,我們來看看消極系統(tǒng)管理員的工作態(tài)度:
● 這工作太煩了。
●只想做自己能做的事情。
那么有什么辦法消除這種痛苦呢?首先,系統(tǒng)管理員應(yīng)擁有一套好的工具箱,好的工具就像金子,不管你是自己編譯,還是下載或購買,必須要有精良的武器裝備。其次,做好一切準(zhǔn)備工作,不要干應(yīng)急的事情,應(yīng)急工作會讓你的生活充滿驚慌,甚至影響到你的親人,并可能讓你的脾氣暴躁,聽我的,避免臨時抱佛腳,像童子軍一樣做好準(zhǔn)備吧。第三,善用別人的成果,好好利用在你之前別人做好的成果,如使用其它項目的代碼,不要重新發(fā)明車輪,當(dāng)然,你也應(yīng)該記錄下你的工作點滴,你也會成為前輩的。第四,思考,思考,再思考,如果你不善于思考,工作就不可能變得更輕松。
◇硬件
硬件是系統(tǒng)管理員做事的基礎(chǔ),因此確保硬件運(yùn)行正常很重要,我們繼承了以往的系統(tǒng),如果不這樣它們就只能慢慢等死,如果你不喜歡某個系統(tǒng),或它的問題太多,***借此機(jī)會關(guān)掉,這樣的系統(tǒng)你扭住不放對你的組織是沒有任何好處的,下面是和硬件相關(guān)的一些其它提示:
●實施熄燈管理。
●如果你使用惠普服務(wù)器可通過iLO,如果是戴爾服務(wù)器則通過DRAC,如果是Sun服務(wù)器則通過LOM,它們都允許你遠(yuǎn)程連接到服務(wù)器,獲得一個控制臺窗口,可遠(yuǎn)程重啟服務(wù)器,或進(jìn)行遠(yuǎn)程診斷,它們的價值是無法估量的,我知道惠普服務(wù)器默認(rèn)是帶有iLO的,無論如何,遠(yuǎn)程控制功能是購買服務(wù)器時必須考慮的一個功能。
●如果你不能遠(yuǎn)程訪問服務(wù)器,你可以使用一臺舊電腦和一些X10設(shè)備自己DIY一個,但如果你不是極客,顯然這對你來說太難了。
RAID
RAID不是殺蟲劑,而是一種廉價冗余磁盤陣列,你的服務(wù)器至少會支持RAID-1(一對磁盤,鏡像),除非你在做Hadoop,RAID對磁盤故障有一定的承受能力,如果某塊磁盤壞掉,不至于要從頭開始搭建系統(tǒng)。
冗余
從冗余電源到冗余網(wǎng)絡(luò)接口卡,從來沒有人因做了一些冗余而被解雇的。
◇虛擬化和云
不必對虛擬化或云感到害怕,如果你的應(yīng)用程序可以遷移到虛擬機(jī)或云端,應(yīng)該認(rèn)真考慮,你看你因此遠(yuǎn)離曾讓你頭痛的硬件問題。
但虛擬化和云并不是***的,將應(yīng)用程序部署到這些平臺之前,***仔細(xì)測試一下。
消除硬件方面的問題后,你就可以把精力放在服務(wù)上了,不用在凌晨2點再往數(shù)據(jù)中心趕了。
◇更聰明的軟件
有許多不同的工具可以讓你的工作變得更加簡單,幫助你為你的組織提供更好的服務(wù)質(zhì)量,如果你覺得某些工具不適合你,可以尋找一些替代品。
監(jiān)控
如果你還沒有建立一套監(jiān)控系統(tǒng),應(yīng)立即著手創(chuàng)建,這樣你可以遠(yuǎn)程了解數(shù)據(jù)中心的運(yùn)轉(zhuǎn)情況,這類工具實在是太多了,如Nagios,Hobbit或Groundwork,一個個地嘗試吧,總有一個適合你,如果你現(xiàn)在的監(jiān)控系統(tǒng)不好用,那用它們來代替吧。
自動化安裝
準(zhǔn)備機(jī)器是我們系統(tǒng)管理員的例行工作之一,如果你還在手工處理,那你就Out了,并且也容易引入錯誤。
Kickstart
談到自動化安裝時,Kickstart可能是Linux世界的事實標(biāo)準(zhǔn),Red Hat和Ubuntu家族都支持它,它很靈活,可擴(kuò)展性也很好,我自己多年來就一直在使用它。
Preseed
Preseed是Debian以及基于Debian的發(fā)行版使用的,包括Ubuntu,它的功能相當(dāng)強(qiáng)大,但文檔需要加強(qiáng)。
鏡像
通過使用鏡像軟件,如Ghost,G4U或Acronis可以克隆一個系統(tǒng),我發(fā)現(xiàn),如果你的硬件平臺多樣化,這個方法比自動化安裝還要快,但管理多平臺的鏡像將成為管理員頭疼的問題。
不管你使用哪種自動化安裝方法,***花點時間開啟PXE網(wǎng)絡(luò)啟動,這樣你就不需要安裝介質(zhì)了。
軟件包
無論何時,下載和使用與平臺對應(yīng)的軟件包格式,如果沒有現(xiàn)成的,那么你應(yīng)該學(xué)習(xí)如何創(chuàng)建軟件包,那樣可以節(jié)省許多安裝和調(diào)試時間,然后做一次系統(tǒng)鏡像。
如果你不熟悉軟件包創(chuàng)建技術(shù),你可能需要從CheckInstall開始創(chuàng)建RPM,Debian包或Slackware tar包。
◇配置管理
版本控制
不管你使用Subversion,Mercurial,CVS還是商業(yè)產(chǎn)品,如Perforce,都應(yīng)該將配置文件放入版本控制系統(tǒng)的倉庫中,實現(xiàn)版本化控制,花點時間為每個主機(jī)建立目錄樹,并將它們的配置文件上傳進(jìn)去,如果你像軟件一樣對待你的配置文件,更新配置后如果出現(xiàn)問題,你還有機(jī)會進(jìn)行回滾。
為了使管理變得容易,你可以創(chuàng)建一個元數(shù)據(jù)包,將所有配置都打包進(jìn)去,也實行版本控制,也許開始實施時會感到很復(fù)雜,但它的確能幫你消除許多可能的操作錯誤。
配置自動化
前面我們提到創(chuàng)建元數(shù)據(jù)包,如果全部靠手工來處理是不現(xiàn)實的,其實有很多工具可以使用,如Puppet,Chef或Cfengine,這些工具將會真正推送和強(qiáng)制配置你的服務(wù)器,但它們需要一種完全不同的思維和行動方式,并且需要花時間測試。
不管怎樣,你的配置信息都應(yīng)該是可控制的,在故障排除期間將會感受到它的好處。
備份
備份是你***一道防線,不管怎樣,你應(yīng)準(zhǔn)備一套良好的備份策略,并確保它得到嚴(yán)格執(zhí)行。有了備份,你可以利用備份資源執(zhí)行恢復(fù)操作。只有一種情況你不需要備份,那就是系統(tǒng)沒有數(shù)據(jù)值得備份,你可以使用kickstart從一個裸機(jī)安裝一個新系統(tǒng)。無論如何,數(shù)據(jù)庫服務(wù)器是需要備份的。
可供選擇的備份軟件很多,你可以逐個嘗試,直到找到你滿意的。
◇小結(jié)
***我想說的是,提前做好準(zhǔn)備總是有益的,有條件***實現(xiàn)彈性或冗余架構(gòu),盡量讓操作自動化,將你的時間放在那些更重大的項目上,你的組織也會從這些穩(wěn)定的系統(tǒng)獲益,你也不用擔(dān)心會被解雇。缺少障礙的環(huán)境會變得敏捷起來,你的日常工作將會變得井井有條,你的生活也會因此而充滿陽光。