赞
踩
Input/out error
message输出日志太乱了,这里不放图
现象:重启一下好了,过一段时间后又出问题了。磁盘解决是在磁盘好的状态下处理的,不好的情况下不太好操作,前提是你要知道具体有哪些服务在读取该磁盘。
附图:
我的是磁盘/dev/mapper/mpathbp1 挂载到/public
解决方法:首先要卸载磁盘,卸载磁盘的话需要先停止在该磁盘读写数据的进程。然后再进行磁盘修复,磁盘检查,无问题后重新挂载。
1.停止所有进程,用lsof命令:
lsof /public
这里建议先看查看是哪些用户,再切换到该用户下去杀死进程。还有就是如果有程序停止的stop命令,建议执行stop命令停止程序,这样防止有程序会出现异常。
我这里有samba服务,nfs服务,还有interface,model用户下有进程:
/etc/init.d/smb stop #停止smaba
/etc/init.d/nfs stop #停止nfs服务
切换到interface下:
pkill -U interface
切换到model用户下:
pkill -U model
通用方法:当然如果你对服务器上的程序很多不了解,不知道怎么关闭,可以执行kill 命令直接杀死进程:
lsof /public/ |awk '{print $2}' |grep -v PID |xargs kill -9
2.卸载磁盘:
umount /dev/mapper/mpathbp1
这里如果出现磁盘无法卸载,正在繁忙busy状态,100%是还有进程没清理干净,依旧在使用磁盘。因为这是linux系统的规则,不允许卸载还再使用的磁盘,防止数据出现不一致或者丢失的情况。
3.磁盘修复:
xfs_repair /dev/mapper/mpathbp1
一直等待完成即可。
4.磁盘检查:
xfs_check /dev/mapper/mpathbp1;echo $?
输出是0的话就表示没问题
5.挂载磁盘:
source /etc/rc.local
因为我的mount挂载命令已经写在了开启启动文件里面,所以直接加载下启动文件即可,你们还是mount /dev/mapper/mpathbp1 /public也行。
6.检查读写是否有问题,没有问题的话恢复服务,把哪些杀死的服务再次起来
/etc/init.d/smb start
/etc/init.d/nfs start
等等
到这里就完成了。
我这有smb,nfs,所以还需要检查其他服务器的挂载情况,都给它挂上。之后就没有出现该问题了。
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。