怎么解决Linux LVM I/O报错

 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报错

怎么解决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报错

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报错

Linux LVM I/O报错解决结论