Today I found that there is a strange situation, in certain mount point on my web server (Debian GNU/Linux 7.8), every process with write behavior will get messages like this (That’s the result from command touch test
):
touch: cannot touch `test’: Read-only file system
I don’t think I mount it as read-only, so I check it with(the mount point is /srv
):
$ mount | grep srv
And I got:
/dev/sdb1 on /srv type ext4 (ro,relatime,data=ordered)
Very strange … there was something wrong, could I remount it with r/w? I tried:
$ sudo mount -o remount,rw,relatime,data=ordered /srv
Hmmmm …
mount: cannot remount block device /dev/sdb1 read-write, is write-protected
Okay, seems I need to check the filesystem …
$ sudo umount /srv
$ sudo fsck.ext4 /dev/sdb1
The process didn’t take a very long time, just within few mins, and that’s the result:
e2fsck 1.42.5 (29-Jul-2012)
/dev/sdb1: recovering journal
/dev/sdb1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sdb1: 796453/122077184 files (3.8% non-contiguous), 321192367/488281498 blocks
Let’s mount it again:
$ sudo mount -o rw,relatime,data=ordered /srv
Oh, I didn’t get any error message this time, let’s check it again:
$ mount | grep srv
And … it’s good again
/dev/sdb1 on /srv type ext4 (rw,relatime,data=ordered)
Okay, nice … it’s very easy this time, I’ve got some disks with damaged partition before, event I can’t not recognize its partition type, though I fixed it, but I didn’t record the process that time, haha.