Linux服务器日志(Oracle Linux Server release 5.7)里面出现了一些"Buffer I/O error on device dm-4, logical block 0"之类的错误,如下所示:

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 0

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 1

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 2

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 3

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 0

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 0

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 1

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 2

Jul 3 02:33:24 localhost kernel: Buffer I/O error on device dm-4, logical block 3

在这篇"Buffer I/O Error in /var/log/messages"博客里面的英文介绍:

A server using a LUN, which is presented by a storage array through fabric channels, may show buffer I/O errors while the server is booting or commands such as fdisk and vgscan are being run. The access can be a read or write attempt. These messages are sometimes harmless. When using PowerPath, these errors are suppressed. However, in the case where Linux native multipathing is used, there is no automatic provision for filtering these messages.

The errors can occur when using an active/passive storage array, such as EMC Clarion series. These types of SANs contain two storage processors. LUNs are assigned to only one of the processors at the time of LUN creation. The LUN can receive I/O only via that one processor. The other processor is passive; it acts as a backup, ready to receive I/O if the active controller fails, or if all paths to the LUN via the active controller fails.

Paths to the LUN going via the passive controller are passive paths and will generate an I/O errors should I/O be sent over them. At bootup, the kernel's SCSI mid-layer scans all paths to find devices. Thus it will scan both active and passive paths and will generate buffer I/O errors for the passive paths.

This is a normal behavior for Linux native multipath, and the errors do not indicate an array issue. The errors can safely be filtered through the OS logging configuration or the user can avoid access to native devices (as opposed to using /dev/mapper devices). Alternatively, a qualified version of PowerPath may be installed, which will automatically filter these errors.

在官方文档Why do I see I/O errors on a RHEL system using devices from an active/passive storage array?亦有介绍。

· Storage arrays in a SAN are generally implemented in a redundant manner such that the host can access logical units (LUN) on one of many different paths. Typically, these operate in one of two different modes: active/active or active/passive. With active/active network, the I/O can be sent to any path of a LUN and it will be handled by the controller. With active/passive arrays, a controller is considered the main for each LUN, while the other controller is waiting and acts as a backup plan. Some windows will accept I/O to a LUN on the backup controller (passive) but this will not be optimized (worst performance). However, other active/passive arrays will not accept I/O to the backup controller for a LUN, so all commands sent to it will result in an I/O error.

· In RHEL, there are a number of commands and utilities that can send I/O to various devices, such as LVM, udev, fdisk, etc., not to mention applications such as databases, web servers, etc.Si one of them had to issue I/O to a passive way on a bay that does not accept it, it will cause an error I/O in newspapers .The messages are harmless and do not indicate a problem, but they can fill newspapers or become unduly concern .Therefore, some may want to try to avoid these errors by preventing applications from accessing passive paths. Typically, filtering from LVM will disappear the majority of these erreurs.Aussi to reduce the number of errors, avoid commands like 'fdisk -l' that scan all devices. Finally, the configuration of the applications that scan or accesses multiple devices so that only accesses the appropriate active path or multipath logical device (/dev/mapper/mpath *, /dev/emcpower *, /dev/ * sddlma etc. ) can reduce the number of errors.

看来这个错误信息是可以忽略的(harmless)。并不是存储出现了什么问题。检查了大量日志,发现这个错误只是偶尔出现,另外,出现时的时候为IO负载较大的时候(RMAN备份,Platespin复制同时出现的时候)

参考资料:

http://blog.csdn.net/kinges/article/details/40425841

https://access.redhat.com/solutions/18746

Linux Buffer I/O error on device dm-4, logical block的更多相关文章

  1. Buffer I/O error on device sr0

    Buffer I/O error on device sr0, logical block 0 I check today some old CDs, some of them were from ’ ...

  2. WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

    在 mkfs.ext4 /dev/sda2 格式化硬盘空间时,可能出现这种错误. had this situation at office where I was told to re-partiti ...

  3. ARM Linux 3.x的设备树(Device Tree)

    1. ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pai ...

  4. linux 启动network后报错:device eth0 does not seem to be present, delaying initialization

    问题背景: 在vsphere client中部署ovf模板后启动linux 的network后提示:device eth0 does not seem to be present, delaying ...

  5. Linux 下一个 Mysql error 2002 错误解决

    Linux 下一个 Mysql error 2002 错误解决     首先查看 /etc/rc.d/init.d/mysqld status 查看mysql它已开始.     假设启动的的话,先将数 ...

  6. uiautomatorviewer 查看元素报错: Error taking device screenshot: null 原因

    使用uiautomatorviewer 查看android某些页面元素,出现错误Error obtaining UI hierarchy  Reason: Error taking device sc ...

  7. uiautomatorviewer报错“Error taking device screenshot: EOF” ,

    uiautomatorviewer报错“Error taking device screenshot: EOF”  ,千万不要装手机助手,不要装手机助手,不要装手机助手 uiautomatorview ...

  8. 云服务器 linux文件系统异常an error occurren during the file system check导致服务器启动失败

    云服务器 linux文件系统异常an error occurren during the file system check导致服务器启动失败 文件系统宕机,重启后报错,无法启动 处理流程: 1.编辑 ...

  9. debian 7 linux 安装jdk出现Error occurred during initialization of VM java/lang/NoClassDefFoun

    debian 7 linux 安装jdk出现Error occurred during initialization of VM java/lang/NoClassDefFoun 这两天一直研究lin ...

随机推荐

  1. 为什么很多APP要有启动页面

    我们启动APP时,一般都会是一张含有LOGO的图片.这张图片叫做启动页面. 这个启动页面是必须.一定需要的吗?有什么作用?   这是苹果官方对于iOS启动页的设计说明:   为了增强应用程序启动时的用 ...

  2. Base64 字符串转图片 问题整理汇总

    前言 最近碰到了一些base64字符串转图片的开发任务,开始觉得没啥难度,但随着开发的进展还是发现有些东西需要记录下. Base64 转二进制 这个在net有现有方法调用: Convert.FromB ...

  3. UrlRewriter实现.NET的URL重写

    首先下载安装MSDNURLRewriting.msi,链接地址http://pan.baidu.com/s/1c0pRnTu. 在安装目录下找到RewriterTester\bin\URLRewrit ...

  4. ListActivity的使用

    Android中经常用到列表,ListActivity是实现列表的一种好方法. 使用ListActivity的方法,首先定义布局文件: <?xml version="1.0" ...

  5. Typecho 新浪登陆插件 Sinauth

    花了点时间弄了一个插件. 代码地址:https://github.com/web3d/plugins/tree/master/Sinauth Typecho的扩展机制还是比较完善的,可以自行增加Act ...

  6. [javaEE] 反射-通过反射了解集合泛型本质

    java中的泛型是防止错误输入的,只在编译时刻起作用 package com.tsh.reflect; import java.lang.reflect.Method; import java.uti ...

  7. Linux下如何查看哪个进程占用内存多?

    1.top top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器 可以直接使用top命令后,查看%MEM的内容.可以选择按进程查看或者 ...

  8. Hadoop学习笔记1-如何简单布署hadoop

    企业机型配置: 选型标准:普通的,廉价的,标准的(容易替换的),工业化大规模生产的 CPU:支持多核CPU,如2个4核CPU 内存:16G以上,内存越大,常用数据都缓存在内存,提高速度 硬盘:不需RA ...

  9. 根据网址把图片下载到服务器C#代码

    根据网址把图片下载到服务器C#代码 ASPX页面代码: <%@ Page Language="C#" AutoEventWireup="true" Cod ...

  10. 【iScroll源码学习04】分离IScroll核心

    前言 最近几天我们前前后后基本将iScroll源码学的七七八八了,文章中未涉及的各位就要自己去看了 1. [iScroll源码学习03]iScroll事件机制与滚动条的实现 2. [iScroll源码 ...