明明白白你的Linux服務(wù)器——故障篇
原創(chuàng)在Linux/unix服務(wù)器的維護過程中,遇到各種各樣的問題;有的嚴重,有的很好解決,有的解決過程我就記錄下來與大家分享下,希望能給大家?guī)韼椭?/p>
51CTO特別推薦:明明白白你的Linux服務(wù)器
故障一、
今天早上來的第一件事,就是檢查昨天晚上剛剛重新安裝的一臺64位的CentOS 5.5服務(wù)器,那臺服務(wù)器是四塊硬盤作的二個RAID1,一個專用于OS,一個用于data,
在安裝系統(tǒng)的過程中,為了不損失數(shù)據(jù),data分區(qū)我碰也碰過,今天用root進系統(tǒng)后,我用mount /dev/mapper/ddf1_datap1 /data進行掛載,很順利的掛載上去了,結(jié)果進去用ll命令一看,我靠,文件全出錯了,都不正常了,嚇我一跳,data分區(qū)里有的數(shù)據(jù)很重要,特別是mysql數(shù)據(jù)庫,我問了下同事,同事也不是太清楚什么回事,我突然想起,這個是不是沒正確掛載的原因,所以將其寫進/etc/fstab里,如
/dev/mapper/ddf1_datap1 /data ext3 defaults 0 0
大家別小看defaults選項,這個默認會作許多事情的,reboot后一切正常,虛驚一場,特此記錄工作心得,希望也給大家?guī)韼椭?;最后是將所有的?shù)據(jù)備份后再仔細的fsck一遍,確認無誤再進行掛載。
故障二、
故障描述:我們的jail母機192.168.21.36,因root的shell設(shè)置成的bash,而其依賴的庫文件libintl.so.8發(fā)生丟失,導(dǎo)致了root不能登陸,具體報障如下:
/libexec/ld-elf.so.1: Shared object "libintl.so.8" not found, required by "bash"
Connection to 192.168.21.36 closed.
解決方法如下:
1.用單用戶模式進入系統(tǒng);
2.掃描磁盤(此步非做不可,而且是安全的)
fsck -y
3.將文件系統(tǒng)重新掛載
mount -a
4.將root的默認shell切換到sh
chsh -s sh
重啟后一切正常
故障三、
在某臺工作機上,不小心刪除了GRUB所在的分區(qū)怎么辦?今天閑來無事,不小心刪除了grub所在的分區(qū)/dev/hdb8,因為裝的是windows2003和Centos5.3雙系統(tǒng),搞得連windows也進不了,想想看這已經(jīng)是第二次犯錯了。因為我的工作機上沒有光驅(qū)和軟驅(qū)(以前本著經(jīng)濟的原則配置的),上次是借別人的光驅(qū),難道這次又要借,不行,我一定要自己想辦法搞定了。花了不少時間把我的臺電酷閃8G的優(yōu)盤量產(chǎn)成了USB-CDROM+USB-HDD雙啟動的優(yōu)盤,工作機居然不支持,暈。天寒地凍的,難道真要出門,忽然想起了,工作站支持網(wǎng)絡(luò)引導(dǎo),呵呵,那就應(yīng)該有辦法了。請出心愛的網(wǎng)刻軟件MaxDOS_71PXE_G115.exe,以下為實驗步驟截圖:
搞定后原以為萬事大吉了,發(fā)現(xiàn)一啟動還是回到了gub報錯狀態(tài),呵呵,看來還要想心思;不選擇"克隆結(jié)束后重啟計算機",這樣就能回到Dos界面下,選擇一款MBR修復(fù)軟件,diskgen或spfdisk即可;或直接fdisk/mbr;其實還有個辦法也可行:在“grub>”提示符后輸入:“rootnoverify (hd0,0)” 回車將第一塊硬盤(hd0)的第一個分區(qū)(0)設(shè)為根分區(qū)/root設(shè)備,但不加載文件系統(tǒng);在“grub>”提示符后輸入:“chainloader +1” 回車,將啟動引導(dǎo)權(quán)轉(zhuǎn)交給當前分區(qū)的首扇區(qū)(Windows系統(tǒng)所在分區(qū)的首扇區(qū))。
其實,這只是一個很簡單的、常遇見的grub錯誤,只要有dos引導(dǎo)盤即可,但關(guān)鍵是我的工作機比較老,即無光驅(qū)、軟驅(qū),連U盤引導(dǎo)也不支持,如果網(wǎng)絡(luò)引導(dǎo)也不支持的話,可以用第二種辦法嘗試(或者強大的Linux命令dd)。修復(fù)后重啟,故障排除;將以上步驟記錄下,方便下次犯錯時能迅速排障和重溫習(xí)下網(wǎng)絡(luò)Ghost。
故障四、
有臺同事在處理Linux服務(wù)器時,他移走了一塊硬盤,然后就直接啟動紅帽RHEL5,發(fā)現(xiàn)進了Emergency模式,焦急中他連忙跑過來找我;我第一句就是問他:你改動了硬件沒,他說他移走了硬盤后就直接啟動了,不是跟windows2003一樣嘛,有什么問題?我都無語了,沒辦法 ,耐心跟他講解 linux下/etc/fatab的作 用及語法,最后告訴他可以在Emergency模式下輸入root密碼進入此模式,然后用mount –o remount,rw /將/分區(qū)設(shè)置成可讀寫,編輯/etc/fatab,將移除的硬盤用#號屏蔽掉后重啟服務(wù)器,故障解除。
故障五、
FreeBSD下的某臺jail虛擬機,可能發(fā)生了程序錯誤形成了死循環(huán),在不停的寫某個文件,導(dǎo)致/usr占滿,此時Nagios狂報警;這時候 需要快速將其抓取出來,這時候可以先新建 一個測試文件 touch test ,然后 用命令find / -newer test,為了證明其通用性,我特的選擇了FreeBSD服務(wù)器
……
以上僅僅只是我遇到的形形色色的各種Linux/unix服務(wù)器故障之一二而已,我總結(jié)了下平時Linux/unix應(yīng)該注意的事項:
①服務(wù)器中最容易壞掉的是風(fēng)扇,如果是電信機房要注意檢查;如果是自己內(nèi)網(wǎng)服務(wù)器機房,平時注意將溫度控制在19度以下即可;
②DELL的機器的RAID卡放電和充電都是正?,F(xiàn)象,如果有Nagios報警也是正常的;
③有時間就多巡視下機房,檢查下服務(wù)器的硬盤燈指示情況;
④注意網(wǎng)線不要松脫 了,不然你使用Heartbeat的服務(wù)器就很麻煩了;
⑤平時如果有時間和機會,可以作一些關(guān)于Keepalived和Heartbeat的模擬故障實驗,保證其高可用性。
⑥虛心學(xué)習(xí)網(wǎng)絡(luò)相關(guān)方面的知識和疑難問題,有時絕大多數(shù)的問題是網(wǎng)絡(luò)方面引起來的;另外,電信一般會封掉80端口的,就不要在這些問題上糾結(jié)了。
遇到服務(wù)器故障時,一定要膽大心細,謹慎操作,因為有時是線上環(huán)境,稍有不慎就灰飛煙滅了,多總結(jié)多思考,這樣才能成長得更快。
【編輯推薦】


2020-11-18 09:25:39




