可能导致磁盘IO ERROR 的原因:
遇到过的问题:
1. 这个外挂的磁盘不存在了。
2. 这个磁盘在Openstack中存在,但是在Instance中识别不到sudo fdisk -l|grep vd。
3. 这个磁盘对应的阵列空间不够了
使用使用 dmesg|grep sd 或 dmesg|grep error 查看下,获得有详细报错信息:
解决办法:
1. 重启机器
2. 如果重启服务以后,磁盘还是不对,可以重新挂载磁盘:
*sudo umount /data
如果出现:
umount: /data: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)
说明有进程在用该盘
搜索相关进程:
sudo lsof | grep -E "/data|/opt"
kill掉相关的进程
*sudo umount /data
*sudo xfs_repair /dev/vdb
*sudo su切换到root用户下面,执行cat /etc/rc.local里面的命令重新挂盘:
blkid | grep -v /dev/vda | awk '{print $1}' | head -1 | sed 's/://g' | xargs -i mount {} /data
(blkid命令对查询设备上所采用文件系统类型进行查询)
mount --bind /data/ygomi/ /opt/ygomi/
(我们可以通过mount --bind命令来将两个目录连接起来,mount --bind命令是将前一个目录挂载到后一个目录上,
所有对后一个目录的访问其实都是对前一个目录的访问)
mount --bind /data/largeScaleTest/ /opt/largeScaleTest/
. 其他的解决办法
对于: xxx .: Input/output error 可能是硬件损坏,也可能是文件系统损坏,我们可以通过一下命令进行查看
dmesg |grep err
Linux - 标准输入(input)输出(output)错误(error) 详解
输出包含两种类型: 一种是程序的运行结果(标准输出), 一种是状态和错误信息(标准错误).
标准输出(standard output)和 标准错误(standard error), 默认是连接至屏幕;
标准输入(standard input) 默认是连接至键盘;
可以使用IO重定向(redirection), 改变输入, 输出的发送位置;