Linux 文件系統(tǒng)只讀問題分析指引
問題分析思路
在 Linux 服務(wù)器使用過程中,可能會(huì)出現(xiàn)文件系統(tǒng)只讀的情況,該類問題的一般分析思路如下:
檢查 /etc/fstab 配置,查看是否對(duì)磁盤進(jìn)行了掛載。
檢查當(dāng)前實(shí)際掛載的磁盤狀態(tài)是否正確。
通過 fsck 等工具檢查文件系統(tǒng)狀態(tài)。
檢查當(dāng)前實(shí)際掛載的磁盤狀態(tài)是否正確
通過如下命令查看當(dāng)前系統(tǒng)磁盤掛載的情況
cat /proc/mounts

在 Ubuntu 或者 Debian 系統(tǒng)下檢查 barrier 的設(shè)置情況
注:只讀的情況例如執(zhí)行命令 touch 1.txt 系統(tǒng)報(bào)錯(cuò)read only
1、輸入命令 more /ets/fstab
如果是如下狀態(tài)的

這個(gè)需要將只讀磁盤那一行的 default 替換成 barrier=0
2、將磁盤卸載,重新掛載:
例如:上述截圖中的例子,操作方法:
sed -n '/xvdb1/p' /etc/fstab | sed 's/defaults/barrier=0/g'

然后輸入
umount /www
mount -a
檢查 /etc/fstab 內(nèi)容是否正確
檢查 /etc/fstab 內(nèi)容是否正確,是否正確掛載系統(tǒng)磁盤。
檢查磁盤狀態(tài)是否正常
可以通過 fsck 等手段,磁盤狀態(tài)是否正常。
創(chuàng)建文件報(bào)錯(cuò) Read-only file system
問題現(xiàn)象
服務(wù)器內(nèi)創(chuàng)建文件時(shí)報(bào)錯(cuò):Read-only file system
問題原因
該問題一般都是相應(yīng)的目錄下或者是父目錄沒有權(quán)限所致,但是查看并沒有發(fā)現(xiàn)問題。mount 查看掛載情況發(fā)現(xiàn) mtab 文件報(bào)錯(cuò)沒有權(quán)限,是只讀的狀態(tài)。

處理辦法
分析過程:
1、使用 fsck 命令進(jìn)行修復(fù)下文件系統(tǒng)發(fā)現(xiàn)文件系統(tǒng)沒有任何錯(cuò)誤。
2、 查看發(fā)現(xiàn) fstab 文件中掛載出現(xiàn)錯(cuò)誤,導(dǎo)致文件系統(tǒng)沒有掛載,只是進(jìn)行掛載數(shù)據(jù)盤,導(dǎo)致的這個(gè)錯(cuò)誤。

如果是存在fstab的備份文件的話,直接覆蓋修復(fù)即可。如果沒有這個(gè)文件,建議直接回滾之前正確時(shí)間點(diǎn)的系統(tǒng)盤快照,修復(fù)這個(gè) fstab 的文件。