·服務(wù)器出現(xiàn)異常,報錯502
我們提供的服務(wù)有:成都網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、固安ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的固安網(wǎng)站制作公司
·然后查看服務(wù)器發(fā)現(xiàn)服務(wù)器卡死
·這里服務(wù)器卡死我們強(qiáng)制重啟服務(wù)器先進(jìn)入服務(wù)器才能查看到問題所在
·進(jìn)入之后首先用 df -h 命令查看磁盤使用情況
·如果看到有使用100%的那么就是這個磁盤滿了,我們在查看那個東西占用了我們的磁盤,在服務(wù)器查找100M以上的大文件看看有哪些 使用?find / -size +100M |xargs ls -lh 命令查找 發(fā)現(xiàn)有個日志文件居然有22G,把他刪掉,再次df -h 查看 發(fā)現(xiàn)僅僅降低了1%,那么我們再刪其他沒用的大文件,刪了之后發(fā)現(xiàn)還是沒有用,查看進(jìn)程 ps -ef 查看有沒有進(jìn)程堵塞的,果然查出來了,nginx有三個堵塞進(jìn)程占用我15G 使用 kill -9 進(jìn)程號 刪除對應(yīng)的進(jìn)程號,到了這里磁盤使用率已經(jīng)降下來了,那么我們再去查看回收站,刪除回收站的東西。這就差不多了,再次 df -h 查看
前幾天在廣州參加植物病毒學(xué)會議,一邊聽會一邊開著TeamViewer遠(yuǎn)程連接實(shí)驗室裝有l(wèi)inux系統(tǒng)的工作站跑程序干活。有一天下午發(fā)現(xiàn)TeamViewer顯示服務(wù)器離線,原來是因為施工導(dǎo)致停電。Anyway, 不重要,發(fā)微信讓小青兒給我重啟服務(wù)器,結(jié)果發(fā)現(xiàn)重啟不了,大概就是這個界面。
怎么著都進(jìn)不去圖形界面,簡而言之,工作站重啟不了了。索性不管了,好好聽報告,心想回到福州再收拾工作站?;氐礁V莸谝患戮褪亲聛碇貑⒐ぷ髡?,發(fā)現(xiàn)無論怎么折騰都進(jìn)不去系統(tǒng)。
雖然圖形界面進(jìn)不去,好在還能夠在命令行下進(jìn)行操作。當(dāng)看到 /bioinfor ,這個存放目錄的路徑下啥都沒有的時候,這可是我所有的數(shù)據(jù)?。∪绻@個盤里的數(shù)據(jù)沒了,各個合作者還不得把我手撕了。想到這里,冷汗差點(diǎn)下來了。
于是開始尋找解決方法。
首先得想辦法進(jìn)入系統(tǒng),在反復(fù)地 sudo reboot 都無法進(jìn)入系統(tǒng)之后,通過 df -h 也看不到/dev/sda(也就是掛載到/bioinfor路徑的磁盤)信息。然后猜測是不是因為磁盤以及分區(qū)表之類出現(xiàn)了錯誤導(dǎo)致不能進(jìn)入系統(tǒng)。通過 sudo vi /etc/fstab 將除了系統(tǒng)安裝盤之外的所有硬盤的掛載信息全部注釋掉,再 reboot , 這時候果然可以進(jìn)入圖形界面系統(tǒng)了。但依然看不到 /bioinfor 盤下的數(shù)據(jù)。能夠開機(jī)就讓我放心了很多。通過 gparted 工具,能夠看到/dev/sda硬盤里used space大概是1.7T,還剩下1.9T左右,這就表示我的數(shù)據(jù)還在。試圖通過 sudo umount /dev/sda 先取消掛載,再重新 sudo mount /dev/sda /bioinfor 掛載到/bioinfor路徑,結(jié)果報錯。
報錯信息顯示:
搜索網(wǎng)頁發(fā)現(xiàn),有一個哥們經(jīng)歷了跟我一樣的遭遇, 意外斷電造成mount掛載硬盤報錯 。所以,這次事故是因為意外斷電,基本實(shí)錘了。
但到底什么是superblock呢?
繼續(xù)搜索,直到讀到一篇技術(shù)文章 linux操作系統(tǒng)故障處理,ext4文件系統(tǒng)超級快損壞修復(fù) 。本文可以忽略,但這篇技術(shù)文章得認(rèn)真讀讀。里面講解了磁頭,磁道,柱面,扇區(qū),以及硬盤容量等等概念,以及最重要的inode和block,Superblock(超級塊)概念。
既然報錯提示Superblock出了問題,那我們就應(yīng)該從這里入手。linux系統(tǒng)提供了一個磁盤命令 fsck 來嘗試對設(shè)備進(jìn)行修復(fù)。但可惜,用這個命令的時候,都會提醒你,應(yīng)該安裝最新的 fsck 工具包。
提示如下:
根據(jù)這篇文章 E2FSCK: how to handle the “metadata_csum” error by advancing the e2fsck version beyond default installed version 的提示,需要安裝1.43X的 e2fsck , 安裝方法小結(jié)如下。
檢驗一下是否更新成功:
能夠看到已經(jīng)更新到1.43.5版本。
安裝完之后,開始對磁盤進(jìn)行修復(fù),命令如下:
一般都能修復(fù)完畢,然后可以再進(jìn)行取消掛載或者重新掛載的操作。看到數(shù)據(jù)都還完好無缺地在電腦上,還處于后怕的我趕緊掏出移動硬盤進(jìn)行原始數(shù)據(jù)的備份。
本次debug結(jié)束
這篇技術(shù)日志對讀者可參考性并不高,是因為應(yīng)用場合實(shí)在是少,(試想誰會天天斷電呢),但還是有一些體會和感悟:
在Linux系統(tǒng)下卸載設(shè)備時,經(jīng)常會遇到“Device is busy”的提示,報錯的原因通常是由于待卸載磁盤正在使用,導(dǎo)致無法直接卸載,需要降當(dāng)前使用數(shù)據(jù)盤的進(jìn)程殺掉,才能卸載。如果貿(mào)然強(qiáng)行刪除,可能會導(dǎo)致數(shù)據(jù)丟失或設(shè)備損壞。需要使用fuser命令查找和刪除占用的程序。
例如:無法卸載的設(shè)備為/dev/vdd1,運(yùn)行以下命令:
PS: 如果bash在使用此磁盤,會發(fā)現(xiàn)bash退出了,新開bash 并再次查看fuser -mv /dev/vdd1
確認(rèn)是否還有占用進(jìn)程。
找到PID對應(yīng)的進(jìn)程或者服務(wù),然后殺死或者停止相應(yīng)服務(wù)即可。
此案例中即使使用上述所有操作刪除占用的進(jìn)程,但還是提示磁盤busy,使用kill去殺進(jìn)程,發(fā)現(xiàn)進(jìn)程號一直在變化,驚覺可能是某個服務(wù)進(jìn)程一直在運(yùn)行,使用fuser -m -v /dev/vdd1 去查看詳細(xì)的進(jìn)程信息,發(fā)現(xiàn)是docker服務(wù)一直在占用。
解決方案:停止docker服務(wù)
分享名稱:linux磁盤報錯命令,linux 檢查磁盤錯誤
文章網(wǎng)址:http://aaarwkj.com/article22/dssjijc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、品牌網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、企業(yè)建站、微信小程序、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)