Linux系統Read-only file system,文件系統只讀排查解決方案:
文件系統只讀機制:
當文件系統自身的校驗機制發現文件系統存在問題時,為避免文件系統受到進一步的損壞,系統會把文件系統設置為只讀。
造成的原因:
一般情況是由於系統發現磁盤硬件(Riad卡,硬盤)故障或文件系統中文件被損壞后而采取的保護機制導致的。
為了保護數據不破壞分區中已有內容,Linux在掛載文件系統時會以read-only只讀方式加載。
目前已知的造成硬盤分區只讀的可能原因有:
文件系統錯誤
磁盤壞道
RAID卡故障
inode資源耗盡
IO繁忙
硬盤背板故障
硬盤線纜故障
HBA卡故障
內核相關硬件驅動bug
FW固件類問題
另:系統沒有正常關機,也會導致磁盤出現文件系統錯誤;
排查處理:
先重啟一下(一般重啟都能好,好不了就看下面的)
①、cat /proc/mounts 確認是哪個分區只讀(ro狀態的)
dmesg |grep error 看報錯信息,是I/O錯誤,還是文件系統錯誤
cat /var/log/messages 看是否有錯誤信息
②、mount -o remount,rw 掛載點
嘗試重新掛載一下,如果不行,往下
③、df -T 查看文件系統版本是ext2/3/4,使用對應的命令:
fsck.ext2/3/4 -y 設備名 (修復文件系統,取消交互)
fsck.ext2/3/4 -n 設備名 (掃描文件系統,不執行操作)
注:fsck掃描文件系統時一定要在單用戶模式、修復模式或把設備umount后進行,不然可能會導致文件損壞、丟失。掃描正常運行中的系統,會造成系統文件損壞。