實(shí)際情況:
測(cè)試環(huán)境與生產(chǎn)環(huán)境centos7服務(wù)器同時(shí)出現(xiàn)了該情況齐疙,即通過(guò)df -h與du -sh /*統(tǒng)計(jì)出的結(jié)果相差很大。
測(cè)試環(huán)境:
生產(chǎn)環(huán)境:
可以看到實(shí)際使用的磁盤量與df統(tǒng)計(jì)值都有很大的差異。直接導(dǎo)致的結(jié)果就是磁盤使用量會(huì)在未來(lái)的某一天達(dá)到100%笼踩,而實(shí)際已用的磁盤卻很少穷娱,最終磁盤無(wú)法使用,必須重做系統(tǒng)才行······想想都可怕菠剩。
按照網(wǎng)上的絕大部分說(shuō)法是易猫,在日志文件正在被寫入時(shí),執(zhí)行了刪除文件操作具壮,導(dǎo)致文件一直被占用准颓,無(wú)法釋放」准耍可以通過(guò)lsof |grep deleted命令來(lái)查看是哪個(gè)進(jìn)程占用的攘已,然后kill掉該進(jìn)程,文件所占用的資源就會(huì)被釋放怜跑,磁盤空間也自然釋放了样勃。
如果像網(wǎng)上說(shuō)的這么簡(jiǎn)單就好了吠勘,網(wǎng)上的都是人云亦云。我停掉了所有的應(yīng)用峡眶,重啟了服務(wù)器剧防,通過(guò)lsof |grep deleted查看是沒(méi)有任何內(nèi)容的情況下,磁盤情況就是上面的那樣辫樱。根本不像網(wǎng)上說(shuō)的峭拘,還有應(yīng)用占用著,釋放了就可以了狮暑。啥也沒(méi)有鸡挠,就是統(tǒng)計(jì)結(jié)果不一樣,咋整搬男?都不知道從哪入手解決這個(gè)問(wèn)題拣展。
于是我開始尋求幫助,問(wèn)牛逼的同事缔逛,問(wèn)網(wǎng)課的老師备埃,問(wèn)技術(shù)群,結(jié)果都是無(wú)功而返译株。其實(shí)這個(gè)問(wèn)題我已經(jīng)遇到過(guò)幾次了瓜喇,一直都想排查出結(jié)果,但是每次都是花了很多時(shí)間歉糜,鎩羽而歸乘寒。這不,昨天又花了1天的時(shí)間匪补,也還是沒(méi)有解決這個(gè)問(wèn)題伞辛,內(nèi)心非常沮喪。
但是夯缺,一切都沒(méi)有那么糟糕蚤氏,昨晚我回家正是沮喪之時(shí),我的一位開發(fā)同事聯(lián)系我說(shuō)原因找到了踊兜,是因?yàn)榉磸?fù)的刪除文件導(dǎo)致的磁盤產(chǎn)生碎片竿滨,占用了磁盤空間所致,通過(guò)清理磁盤碎片的方式捏境,就可以解決這個(gè)問(wèn)題于游。聽到這個(gè)好相信,我都興奮的不行了垫言。于是按他所說(shuō)的贰剥,我上網(wǎng)找到了關(guān)于xfs文件系統(tǒng)碎片整理的文章,具體如下:
參考文章:
https://blog.csdn.net/scaleqiao/article/details/47122329
雖然這是2015年寫的文章筷频,但是真的解決了我本次遇到的問(wèn)題蚌成。感謝本篇文章的作者前痘!
大家在執(zhí)行下面的命令之前,一定要確保備份了環(huán)境中的重要應(yīng)用和數(shù)據(jù)担忧,以防萬(wàn)一芹缔。確認(rèn)無(wú)誤后,再執(zhí)行如下涵妥。
執(zhí)行:
yum install xfsdump
yum install xfslibs-dev
yum install xfsprogs
查看/dev/sdc1的碎片情況:
xfs_db -c frag -r/dev/mapper/cl-root
返回結(jié)果:
[root@devhadoop228 /]# xfs_db -c frag -r
/dev/mapper/cl-root
actual 109661, ideal95641, fragmentation factor 12.78%
Note, this number islargely meaningless.
Files on this filesystemaverage 1.15 extents per file
?可以看到乖菱,碎片占用率是12.78%
整理碎片:
xfs_fsr /dev/mapper/cl-root
再次統(tǒng)計(jì),df -h與du -sh /*就一致了蓬网。本次是在另外一臺(tái)遇到相同情況的服務(wù)器上做的試驗(yàn),可以看到鹉勒,兩種統(tǒng)計(jì)方式統(tǒng)計(jì)結(jié)果相同了:
問(wèn)題也就完美解決了帆锋,原來(lái)是磁盤碎片占用造成的df統(tǒng)計(jì)結(jié)果大。這才是問(wèn)題的根本原因G荻睢>庀帷!
另外脯倒,也要真心的感謝我的同事实辑,能換角度思考問(wèn)題,既然不是lsof能解決的問(wèn)題藻丢,就換角度想會(huì)不會(huì)是文件系統(tǒng)的問(wèn)題剪撬,進(jìn)而找到了解決的方案。這也是我要學(xué)習(xí)他的地方悠反,我查了一天都沒(méi)有查出來(lái)残黑,他只查了一會(huì),就能解決問(wèn)題斋否,也確實(shí)是厲害梨水!
怎么樣,我是不是眾多解決方案中的一股清流茵臭!希望當(dāng)各位朋友遇到跟我一樣的情況下疫诽,可以看到我的這篇文章,并且通過(guò)上述方法真的能解決這個(gè)問(wèn)題旦委,也算是我沒(méi)有白折騰奇徒,希望可以幫助到大家!I缰ぁ逼龟!