커피닉스, 시스템 엔지니어의 쉼터
  FreeBSD에서 HDD fail일 때 에러메시지에 대해 작성일 : 2004/10/01 23:21
 
  • 글쓴이 : 좋은진호 ( http://coffeenix.net/ )
  • 조회수 : 10116
     
    제  목 : FreeBSD에서 HDD fail일 때 에러메시지에 대해
    글쓴이 : 좋은진호(truefeel, http://coffeenix.net/ )
    글쓴날 : 2004.09.30(목)

    다음은 dmesg 명령을 했을 때 결과이다.

     
    spec_getpages:(#da/0x20005) I/O read failure: (error=6) bp 0xde8b9244 vp 0xf980a900
                   size: 7168, resid: 7168, a_count: 7060, valid: 0x0
                   nread: 0, reqpage: 0, pindex: 0, pcount: 2
    spec_getpages:(#da/0x20005) I/O read failure: (error=6) bp 0xde8b9244 vp 0xf980a900
                   size: 7168, resid: 7168, a_count: 7060, valid: 0x0
                   nread: 0, reqpage: 0, pindex: 0, pcount: 2
     


    1) 위의 에러 메시지 중에 #da/0x20005 는 device명으로 /dev 디렉토리에서 major, minor number를 >보고
       어떤 HDD가 fail인지 알 수 있다.
       ls -l /dev/da* 로 확인해보면 /dev/da0s1f 파티션에서 난 에러임을 알 수 있다.

     
      crw-r-----  2 root  operator   13, 0x00020002  6 30 22:13 /dev/da0s1
      crw-r-----  2 root  operator   13, 0x00020000  6 30 22:13 /dev/da0s1a
      crw-r-----  2 root  operator   13, 0x00020001  6 30 22:13 /dev/da0s1b
      crw-r-----  2 root  operator   13, 0x00020002  6 30 22:13 /dev/da0s1c
      crw-r-----  2 root  operator   13, 0x00020003  6 30 22:13 /dev/da0s1d
      crw-r-----  2 root  operator   13, 0x00020004  6 30 22:13 /dev/da0s1e
      crw-r-----  2 root  operator   13, 0x00020005  6 30 22:13 /dev/da0s1f
      ... 생략 ...
     


    2) error=6는 에러 번호로 /usr/src/sys/sys/error.h 에 정의되어 있다.
       자주 나오는 에러 코드는 5, 6, 22 정도

     
    #define EIO             5               /* Input/output error */
    #define ENXIO           6               /* Device not configured */
    #define EINVAL          22              /* Invalid argument */
     


    참고로 /usr/src/sys/miscfs/specfs/spec_vnops.c 파일을 보라.


    커피닉스, 시스템 엔지니어의 쉼터 / URL : http://coffeenix.net/board_view.php?bd_code=515