var
您好,欢迎访问景安网络旗下资讯网!
运营 建站 系统 数据库 编程

首页 > 服务器维护  >【案例分析】双机热备出现“read only file system”如何解决

【案例分析】双机热备出现“read only file system”如何解决

来源:景安IDC资讯作者:server发布时间:2015-10-10点击:2394

摘要:景安的一个客户,利用两台服务器+磁盘阵列做了一个双机热备的Web系统,所有网站数据都存在磁盘阵列中,两台服务器共享一个磁盘阵列分区,在正常情况下主机挂载磁盘阵列分区提供网站服务,主机故障时备份机接管磁盘阵列分区继续提供网站服务。

摘要:景安的一个客户,利用两台服务器+磁盘阵列做了一个双机热备的Web系统,所有网站数据都存在磁盘阵列中,两台服务器共享一个磁盘阵列分区,在正常情况下主机挂载磁盘阵列分区提供网站服务,主机故障时备份机接管磁盘阵列分区继续提供网站服务。

1、案例现象

一年来双机热备用的好好的,可是突然网站无法添加数据了,不过网站还可以正常访问,服务器和磁盘阵列也没有任何警告信息。

2、解决思路

根据客户的反馈信息,景安运维人员做了如下排查:

(1)网站程序可能出现问题

(2)服务器磁盘故障

3、排查问题

首先景安运维人员通知客户的研发人员对网站程序进行排查。经过排查,并没有发现程序有问题,而在程序日志中发现了一条信息:

java.lang.RuntimeException:Cannot make directory:file:/www/data/html/2015-03-30

根据这个输出可知,程序不能创建目录,那么尝试手动创建一个目录试试,登录Web服务器,在/www/data/html目录下创建一个目录test,操作如下:

[root@localhost html]# mkdir test

mkdir:cannot creat directory 'test':Read-only file system

从这个输出信息可知,/www/data/html目录所在的磁盘分区出现了问题,通过检查发现,/www/data/html目录正是挂载的磁盘阵列分区,于是问题原因找到了。

4、解决问题

磁盘出现“read only file system”的原因有很多种,可能是文件系统数据块出现不一致导致的,也有可能是磁盘故障造成的。主流的ext3、ext4文件系统都有很强的自我修复机制,对于简单的错误,文件系统一般可自行修复,当遇到致命错误无法修复时,文件系统为了保证数据一致性和安全,会暂时屏蔽文件系统的写操作,将文件系统变为只读,进而出现了上面的“read only file system”现象。

手工修复文件系统错误的命令是fack,在修复文件系统前,最好卸载文件系统所在的磁盘分区:

[root@localhost ~]# umount/www/data

umount:/www/data:device is busy

提示无法卸载,可能这个磁盘中还有文件对应的进程在运行,检查如下:

[root@localhost ~]# fuser -m/dev/sdb1

/dev/sdb1:   8800

接着检查一下8800这个端口对应是什么进行,如下图:

【案例分析】双机热备出现“read only file system”如何解决

原来是系统的apache进程还没有停止,停止apache,成功卸载磁盘,操作如下:

[root@localhost ~]#/usr/local/apache2/bin/apachectl stop

[root@localhost ~]# umount/www/data

最后,执行修复操作,如下图:

【案例分析】双机热备出现“read only file system”如何解决

修复过程比较简单,上面省略了很多输出信息。修复的时间根据磁盘大小和文件系统损坏程度而定。如果有些数据无法修复,会提示是否删除,此时可根据情况选择。修复完成后,被删除的文件会保留在对应磁盘分区挂载点lost+found目录中。

修复完成后,执行挂载操作:

[root@localhost ~]#  mount/dev/sdb1/www/data

最后,在/www/data目录下验证是否可以成功创建文件,至此,问题圆满解决。

写在最后:“read only file system”这个问题经常发生在有大量磁盘读写操作且磁盘分区很大的环境中。


关键词: 双机热备

版权声明:本文系技术人员研究整理的智慧结晶,转载勿用于商业用途,并保留本文链接,侵权必究!

本文链接:https://www.zzidc.com:443/info/fwqwh/960.html

返回顶部