摘要:通常發(fā)生該問(wèn)題的場(chǎng)景有二一云主機(jī)和宿主機(jī)繁忙,云主機(jī)的請(qǐng)求得不到及時(shí)的響應(yīng),從而產(chǎn)生磁盤(pán)錯(cuò)誤,為了保護(hù)磁盤(pán)數(shù)據(jù)會(huì)分區(qū)為只讀二云主機(jī)被強(qiáng)制關(guān)機(jī),導(dǎo)致磁盤(pán)出現(xiàn)文件系統(tǒng)錯(cuò)誤故障。
本文由作者朱益軍授權(quán)網(wǎng)易云社區(qū)發(fā)布。
背景
維護(hù)巡檢云主機(jī)時(shí),發(fā)現(xiàn)有一臺(tái)運(yùn)行redis的云主機(jī)狀態(tài)顯示維護(hù)中,登錄該實(shí)例查看,系統(tǒng)盤(pán)變成readonly。本文簡(jiǎn)單分析該問(wèn)題出現(xiàn)原因,并為運(yùn)維人員提供常見(jiàn)處理方法及建議。
故障分析
查看云主機(jī)dmesg信息發(fā)現(xiàn),系統(tǒng)運(yùn)行過(guò)程中python進(jìn)程發(fā)生segfault,隨后vda(云主機(jī)配置virtio-blk,故盤(pán)符顯示為vda)系統(tǒng)盤(pán)I/O error。
[8349644.226151] Clock: inserting leap second 23:59:60 UTC
[8744049.152007] The scan_unevictable_pages sysctl/node-interface has been disabled for lack of a legitimate use case. If you have one, please send an email to linux-mm@kvack.org.
[42731185.176179] end_request: I/O error, dev vda, sector 12590864
[42731185.468491] EXT4-fs error (device vda1): __ext4_get_inode_loc:3697: inode #403168: block 1573613: comm updatedb.mlocat: unable to read itable block
[42731185.471307] Aborting journal on device vda1-8.
[42731185.472359] journal commit I/O error
[42731185.473183] EXT4-fs error (device vda1): ext4_journal_start_sb:327: Detected aborted journal
[42731185.474761] EXT4-fs (vda1): Remounting filesystem read-only
[42731185.588205] EXT4-fs (vda1): Remounting filesystem read-only
[42731185.750067] end_request: I/O error, dev vda, sector 12590872
[42731185.751578] EXT4-fs error (device vda1): __ext4_get_inode_loc:3697: inode #403173: block 1573614: comm updatedb.mlocat: unable to read itable block
[42817852.384073] EXT4-fs (vda1): error count since last fsck: 4
[42817852.384077] EXT4-fs (vda1): initial error at time 1517610339: __ext4_get_inode_loc:3697: inode 403168: block 1573613
[42817852.384081] EXT4-fs (vda1): last error at time 1517610340: __ext4_get_inode_loc:3697: inode 403173: block 1573614
[42904359.904061] EXT4-fs (vda1): error count since last fsck: 4
[42904359.904065] EXT4-fs (vda1): initial error at time 1517610339: __ext4_get_inode_loc:3697: inode 403168: block 1573613
[42904359.904069] EXT4-fs (vda1): last error at time 1517610340: __ext4_get_inode_loc:3697: inode 403173: block 1573614
[42990867.424056] EXT4-fs (vda1): error count since last fsck: 4
[42990867.424060] EXT4-fs (vda1): initial error at time 1517610339: __ext4_get_inode_loc:3697: inode 403168: block 1573613
[42990867.424064] EXT4-fs (vda1): last error at time 1517610340: __ext4_get_inode_loc:3697: inode 403173: block 1573614
基本可確定是業(yè)務(wù)把系統(tǒng)盤(pán)寫(xiě)壞了。通常發(fā)生該問(wèn)題的場(chǎng)景有二:
一、云主機(jī)和宿主機(jī)IO繁忙,云主機(jī)的IO請(qǐng)求得不到及時(shí)的響應(yīng),從而產(chǎn)生磁盤(pán)IO錯(cuò)誤,為了保護(hù)磁盤(pán)數(shù)據(jù)會(huì)remount分區(qū)為只讀;
二、云主機(jī)被強(qiáng)制關(guān)機(jī),導(dǎo)致磁盤(pán)出現(xiàn)文件系統(tǒng)錯(cuò)誤故障。
故障處理
通常的解決方法是重啟系統(tǒng)以root用戶(hù)進(jìn)入單用戶(hù)模式,運(yùn)行fsck.ext3 –y /dev/vda(如果是ext4使用fsck.ext4修復(fù)),/dev/vda是系統(tǒng)/根分區(qū)。修復(fù)完reboot進(jìn)入系統(tǒng)。以debian系統(tǒng)為例:
1、重啟系統(tǒng),grub菜單會(huì)出現(xiàn)正常啟動(dòng)和修復(fù)模式(recovery mode)啟動(dòng)兩個(gè)菜單項(xiàng),選擇修復(fù)模式啟動(dòng);
2、進(jìn)入修復(fù)模式,運(yùn)行fsck工具修復(fù);
3、重啟進(jìn)入正常模式啟動(dòng)。
注意:
1、運(yùn)維人員在重啟云主機(jī)之前盡量先收集一些關(guān)鍵的日志,如/var/log下面的一些日志、dmesg等,有條件也要收集宿主機(jī)的日志;
2、fsck是Linux內(nèi)核自帶工具,它不僅可以對(duì)文件系統(tǒng)進(jìn)行掃描,還能修正文件系統(tǒng)的一些問(wèn)題。fsck掃描文件系統(tǒng)時(shí)一定要在單用戶(hù)模式、修復(fù)模式或把設(shè)備umount后進(jìn)行。建議在單用戶(hù)模式下運(yùn)行。如果掃描正常運(yùn)行中的系統(tǒng),會(huì)造成系統(tǒng)文件損壞,需要root權(quán)限執(zhí)行。
建議與思考
1、當(dāng)前開(kāi)發(fā)要定位問(wèn)題,需要申請(qǐng)宿主機(jī)權(quán)限等流程,無(wú)法及時(shí)上去定位;
2、當(dāng)前云主機(jī)的日志收集功能尚不完善,呈現(xiàn)的日志比較雜、亂、實(shí)用性不高,需要適當(dāng)進(jìn)行修改調(diào)整。另外,運(yùn)維人員也不知道要收集哪些日志可支撐開(kāi)發(fā)定位;
開(kāi)發(fā)正在考慮開(kāi)發(fā)一個(gè)一鍵式日志收集工具,集成到版本中,定期采集系統(tǒng)數(shù)據(jù)并歸檔,或者在發(fā)生故障時(shí),由運(yùn)維先收集分析,再交給開(kāi)發(fā)定位,這樣效率會(huì)高一些。
更多網(wǎng)易技術(shù)、產(chǎn)品、運(yùn)營(yíng)經(jīng)驗(yàn)分享請(qǐng)?jiān)L問(wèn)網(wǎng)易云社區(qū)。
文章來(lái)源: 網(wǎng)易云社區(qū)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/25323.html
摘要:執(zhí)行容器內(nèi)部運(yùn)行的執(zhí)行工作作為容器的執(zhí)行驅(qū)動(dòng),負(fù)責(zé)創(chuàng)建容器運(yùn)行命名空間,負(fù)責(zé)容器資源使用的統(tǒng)計(jì)與限制,負(fù)責(zé)容器內(nèi)部進(jìn)程的真正運(yùn)行等。典型的在啟動(dòng)后,首先將設(shè)置為進(jìn)行一系列檢查然后將其切換為供用戶(hù)使用。 在https://segmentfault.com/a/11... 容器,隔離,云的概述。這篇對(duì)其中用途廣泛的docker,k8s做詳細(xì)介紹,并給出云搭建的生態(tài)環(huán)境體系。 docker ...
摘要:執(zhí)行容器內(nèi)部運(yùn)行的執(zhí)行工作作為容器的執(zhí)行驅(qū)動(dòng),負(fù)責(zé)創(chuàng)建容器運(yùn)行命名空間,負(fù)責(zé)容器資源使用的統(tǒng)計(jì)與限制,負(fù)責(zé)容器內(nèi)部進(jìn)程的真正運(yùn)行等。典型的在啟動(dòng)后,首先將設(shè)置為進(jìn)行一系列檢查然后將其切換為供用戶(hù)使用。 在https://segmentfault.com/a/11... 容器,隔離,云的概述。這篇對(duì)其中用途廣泛的docker,k8s做詳細(xì)介紹,并給出云搭建的生態(tài)環(huán)境體系。 docker ...
摘要:為了滿(mǎn)足在更多復(fù)雜場(chǎng)景科研攻堅(jiān)時(shí),對(duì)于超高性能算力高速網(wǎng)絡(luò)傳輸海量數(shù)據(jù)存儲(chǔ)的更高需求,再次發(fā)力,于近日推出了為科研量身定制的新一代超算產(chǎn)品,并將正式更名為云極高性能計(jì)算以下簡(jiǎn)稱(chēng)。科研是科技創(chuàng)新的基礎(chǔ),而高性能計(jì)算則是科研的基石。隨著數(shù)字化走向縱深,科研教育進(jìn)入信息化時(shí)代。在科研項(xiàng)目的推進(jìn)過(guò)程中,往往會(huì)面對(duì)復(fù)雜的數(shù)據(jù)密集型計(jì)算任務(wù),例如仿真、數(shù)據(jù)建模、渲染等大量運(yùn)算場(chǎng)景。此時(shí)如果使用單一的通用...
摘要:為了滿(mǎn)足在更多復(fù)雜場(chǎng)景科研攻堅(jiān)時(shí),對(duì)于超高性能算力高速網(wǎng)絡(luò)傳輸海量數(shù)據(jù)存儲(chǔ)的更高需求,再次發(fā)力,于近日推出了為科研量身定制的新一代超算產(chǎn)品,并將正式更名為云極高性能計(jì)算以下簡(jiǎn)稱(chēng)??蒲惺强萍紕?chuàng)新的基礎(chǔ),而高性能計(jì)算則是科研的基石。隨著數(shù)字化走向縱深,科研教育進(jìn)入信息化時(shí)代。在科研項(xiàng)目的推進(jìn)過(guò)程中,往往會(huì)面對(duì)復(fù)雜的數(shù)據(jù)密集型計(jì)算任務(wù),例如仿真、數(shù)據(jù)建模、渲染等大量運(yùn)算場(chǎng)景。此時(shí)如果使用單一的通用...
閱讀 2694·2021-09-28 09:36
閱讀 2312·2021-09-07 09:58
閱讀 1571·2019-08-26 13:53
閱讀 1347·2019-08-23 17:53
閱讀 3114·2019-08-23 15:34
閱讀 1922·2019-08-23 15:34
閱讀 2941·2019-08-23 12:04
閱讀 3799·2019-08-23 10:56