1. 前言
本文主要讲解怎么解决Linux LVM I/O报错,/dev/sdf: read failed after 0 of 4096 at 0: Input/output error
Logical volume management 逻辑卷管理(LVM)是一种存储虚拟化,它为系统管理员提供了比传统分区更灵活的磁盘存储空间管理方法。这种类型的虚拟化工具位于操作系统上的设备驱动程序堆栈中。它的工作原理是将物理卷(pv)分成物理区段(PEs)。PEs被映射到逻辑区段(LEs),然后这些逻辑区段被合并到卷组(vg)中。这些组被链接到逻辑卷(lv)中,这些逻辑卷充当虚拟磁盘分区,可以通过使用LVM进行管理。
我们大多数人在进行系统管理活动时都会遇到下面提到的错误,这主要与我们在unix/Linux服务器上使用的可移动存储介质有关。
怎么解决Linux LVM I/O报错
出现这种情况的原因可能是在没有清理关闭/卸载或从LV卸载磁盘的情况下删除磁盘/LUN。
/dev/sdf: read failed after 0 of 4096 at 0: Input/output error
/dev/sdf: read failed after 0 of 4096 at 3298534817792: Input/output error
/dev/sdf: read failed after 0 of 4096 at 3298534875136: Input/output error
/dev/sdf: read failed after 0 of 4096 at 4096: Input/output error
/dev/sdk: read failed after 0 of 4096 at 0: Input/output error
/dev/sdk: read failed after 0 of 4096 at 6442385408: Input/output error
/dev/sdk: read failed after 0 of 4096 at 6442442752: Input/output error
/dev/sdk: read failed after 0 of 4096 at 4096: Input/output error
2. 解决方案
1)检查哪个逻辑卷组有问题,运行“vgscan”命令。
- vgscan
2)找出与该卷组关联的逻辑卷。
3)逻辑卷lv设置为不激活:
记得对应的lv逻辑卷名称
- lvchange -an <lv-name>
4) 卷组设置为不激活:
- vgchange -an
5)再次使用vgscan命令扫描卷组
- vgscan
6)现在激活卷组
- vgchange -ay
7)再次运行lvscan命令,错误应该会消失了。
- lvscan
8)现在可以激活特定LV名 Logical Volume 名称
- lvchange -ay <lv-name>
Linux LVM I/O报错解决方案
注意:在某些情况下,如果我们想再次使用同样的存储设备,它被移除不干净,但它在连接后仍然会出现错误,那么我们需要手动拆卸可移动设备一段时间,然后重新连接,然后按照上面的步骤进行操作。
3. 结论
通过本文,应该有可能解决Linux LVM I/O报错了,比如出现/dev/sdf: read failed after 0 of 4096 at 0: Input/output error这样的错误提示。
Linux LVM I/O报错解决结论