실패 중 디스크, 누락된 디스크 및 “failed was” 상태 문제 해결

기사: 100040994
마지막 발행: 2017-11-09
등급: 0 1
제품: InfoScale & Storage Foundation

문제

이 문서에는 vxdisk에서 보고되는 것과 같은 “failed” 또는 “failed was” 상태의 문제 해결을 위한 절차가 포함되어 있습니다.

오류 메시지

# vxdisk -o alldgs list
DEVICE         TYPE            DISK         GROUP        STATUS
disk_0       auto:cdsdisk    -            (vxfendg)    online
disk_1       auto:cdsdisk    -            (vxfendg)    online
disk_2       auto:cdsdisk    -            (vxfendg)    online
disk_3       auto:cdsdisk    datadg01     datadg       online
disk_4       auto            -            -            error
disk_5       auto:cdsdisk    datadg03     datadg       online
disk_6       auto:cdsdisk    datadg04     datadg       online
disk_7       auto:cdsdisk    -            (sambadg)    online
disk_8       auto:cdsdisk    -            -            online
disk_9       auto:cdsdisk    -            -            online
sda          auto:none       -            -            online invalid
-            -         datadg02     datadg       failed was:disk_4

솔루션

목차



1. 소개
2. "failed” 디스크와 "failing" 디스크 비교
3. 디스크 그룹 구성에 대한 긴급 백업 만들기
4. 디스크가 vxvm.exclude에 의해 제외되었습니까?
5. 디스크가 다른 논리 Volume Manager 솔루션에 의해 덮어쓰여졌습니까?
6. 디스크를 다시 연결할 수 있는지 확인
7. 운영 체제에서 디스크를 읽을 수 있는지 확인
8. 디스크에 대한 경로가 실행 중지되었습니까?
9. Vxconfigrestore를 사용하여 디스크 그룹 구성 복원
10. UDID 및 디스크 ID를 사용하여 디스크 그룹 구성을 수동으로 복원
11. 볼륨 재시작



 

1. 소개

(맨 위로 이동)


이 문서에는 vxdisk에서 보고되는 것과 같은 “failed” 또는 “failed was” 상태의 문제 해결을 위한 절차가 포함되어 있습니다.

"failed" 상태는 더 이상 액세스할 수 없는 디스크의 레코드입니다. 이는 디스크에서 발생한 지속적인 I/O 오류로 인해 운영 체제에서 디스크를 읽을 수 없게 되어 발생하는 경우가 많습니다. 또한 Veritas 전용 영역 내에 손상이 발생했기 때문일 수도 있습니다.

전용 영역은 Veritas가 디스크, 볼륨, 하위 디스크 및 플렉스 등의 디스크 그룹에 관한 레코드를 보관하는 디스크의 부분입니다. 이는 사용자 데이터를 포함한 실제 볼륨을 포함하고 있는 공용 영역과 대조될 수 있습니다.




 

2. "failed" 디스크와 "failing” 디스크 비교

(맨 위로 이동)


"failed" 상태는 “failing” 상태와 혼동되어서는 안 됩니다. 이 문서는 주 vxdisk에 의해 보고되는 것과 같은 “failed” 상태를 설명합니다. “failing” 상태의 문제 해결에 대한 정보는 https://www.veritas.com/support/ko_KR/article.000034531을 참조하십시오.




3. 디스크 그룹 구성에 대한 긴급 백업 만들기

(맨 위로 이동)


추가 사항을 변경하기 전에, vxconfigbackup을 사용해 영향을 받는 디스크 그룹에 남아 있는 디스크의 전용 영역의 긴급 백업을 만듭니다.

Vxconfigbackup은 해당 볼륨 내에 포함된 실제 데이터를 백업하지 않습니다. 대신 디스크 자체에 대한 일부 정보와 함께 디스크에 있는 Veritas 전용 영역 구성 데이터베이스를 백업합니다. 구성 데이터베이스는 디스크 그룹, 볼륨 구조, 플렉스 및 하위 디스크에 어떤 디스크가 포함되어 있는지에 대한 정보를 보관합니다.

vxconfigbackup을 사용할 수 없다면, vxprivutil을 사용해 구성 데이터베이스의 사본을 덤프할 수 있습니다.
 


구문 및 예를 포함한 vxconfigbackup 및 vxprivutil에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다.

"vxconfigbackup 및 vxprivutil을 사용하여 Veritas 전용 영역의 디스크 그룹 구성 백업”
https://www.veritas.com/support/ko_KR/article.000087431


 

 

4. 디스크가 vxvm.exclude에 의해 제외되었습니까?

(맨 위로 이동)


/Etc/vx/vxvm.exclude는는 제외되는 경로, 컨트롤러 및 제품 목록을 유지 관리합니다. 디스크 또는 관련 경로 또는 컨트롤러가 이 파일에 나열되어 있는지 확인하십시오.

“exclude_all"의 값이 1이면 모든 장치가 제외됩니다.


그림 1 - /etc/vx/vxvm.exclude의 기본 콘텐츠

 

exclude_all 0
paths
#
controllers
#
product
#
 

 



5. 디스크가 다른 논리 Volume Manager 솔루션에 의해 덮어쓰여졌습니까?

(맨 위로 이동)


vxdisk가 "LVM" 또는 "ZFS"라는 단어를 포함하는 디스크 유형을 보여주는 경우 해당 디스크는 다른 논리 Volume Manager(LVM) 솔루션에 의해 덮어쓰여졌을 수 있습니다. 또한 SAN 조닝(zoning) 관련 문제가 있어 디스크가 잘못된 시스템에 나타나도록 했을 수도 있습니다. 추가로 변경하기 전에 디스크가 또 다른 시스템으로 조닝(zoning)되지 않는 것을 확인하십시오.

디스크를 다시 원래의 Veritas 디스크 그룹으로 가져오려면 우선 해당 디스크를 다른 LVM 솔루션의 제어로부터 제거한 후 vxdisksetup을 사용해 Veritas에 대해 초기화해야 합니다. LVM 솔루션의 제어로부터 디스크를 제거하는 방법에 대한 정보는 해당 공급업체 설명서를 참조하십시오.




6. 디스크를 다시 연결할 수 있는지 확인

(맨 위로 이동)
 
 

Vxreattach는 원래의 미디어 이름을 복원하고 디스크를 다시 디스크 그룹에 다시 연결하는 데 사용됩니다. 일반적으로 디스크 상태가 “온라인”인 경우에만 사용할 수 있습니다(그림 2 참조).

"-c" 인수를 사용해 vxreattach를 실행하여 디스크가 디스크 그룹에 다시 연결될 수 있는지 확인합니다.


그림 2 - "-c" 인수와 함께 vxreattach를 사용해 다시 연결하는 것이 가능한지 확인


구문:

vxreattach -c <disk_media_name>


일반적인 출력의 예:

# vxreattach -c disk_4
datadg datadg02

이 경우, "datadg"는 vxdisk에 의해 표시되는 것과 같이 디스크 그룹의 이름이며 "datadg02"는 디스크 미디어의 이름입니다.

# vxdisk -o alldgs list
DEVICE       TYPE           DISK        GROUP        STATUS
disk_0       auto:cdsdisk   -            (vxfendg)   online
disk_1       auto:cdsdisk   -            (vxfendg)   online
disk_2       auto:cdsdisk   -            (vxfendg)   online
disk_3       auto:cdsdisk   datadg01     datadg      online
disk_4       auto:cdsdisk   -            (datadg)    online
disk_5       auto:cdsdisk   datadg03     datadg      online
disk_6       auto:cdsdisk   datadg04     datadg      online
disk_7       auto:cdsdisk   -            (sambadg)   online
disk_8       auto:cdsdisk   -            -           online
disk_9       auto:cdsdisk   -            -           online
sda          auto:none      -            -           online invalid
-            -         datadg02     datadg       failed was:disk_4

 




vxreattach -c가 오류 없이 디스크 그룹 및 디스크 미디어 이름을 반환하는 경우 디스크 다시 연결을 진행하십시오(그림 3). 다시 연결할 수 없는 경우에는 V-5-2-238 오류가 표시됩니다.


그림 3 - vxreattach를 사용하여 디스크 그룹에 디스크를 다시 연결


구문:

vxreattach -br <disk_media_name>


일반적인 출력의 예:

# vxreattach -br disk_4
 

Notice that vxdisk now shows a disk media name, "datadg02," for disk_4.

# vxdisk -o alldgs list

DEVICE       TYPE           DISK        GROUP        STATUS
disk_0       auto:cdsdisk   -            (vxfendg)   online
disk_1       auto:cdsdisk   -            (vxfendg)   online
disk_2       auto:cdsdisk   -            (vxfendg)   online
disk_3       auto:cdsdisk   datadg01     datadg      online
disk_4       auto:cdsdisk   datadg02     datadg      online
disk_5       auto:cdsdisk   datadg03     datadg      online
disk_6       auto:cdsdisk   datadg04     datadg      online
disk_7       auto:cdsdisk   -            (sambadg)   online
disk_8       auto:cdsdisk   -            -           online
disk_9       auto:cdsdisk   -            -           online
sda          auto:none      -            -           online invalid

 




7. 운영 체제에서 디스크를 읽을 수 있는지 확인

(맨 위로 이동)


기본 OS 명령을 사용해 해당 OS가 디스크 레이블을 포함한 디스크를 읽을 수 있는지 확인합니다.

 

  • 디스크 레이블을 읽으려면 prtvtoc, fdisk, lspv 또는 diskinfo 등의 명령을 사용합니다.
  • 디스크에서 블록을 읽으려면 dd를 사용합니다.

Veritas는 OS 장치 드라이버에 의존하여 디스크와 통신합니다. OS가 디스크를 읽을 수 없으면 Veritas도 디스크를 읽을 수 없습니다. 디스크에 레이블이 없거나 레이블이 손상된 경우에는 Veritas가 해당 디스크를 인식하지 못합니다. 이러한 단계를 완료하면 디스크 가동 중단의 원인을 확인하는 데 도움이 됩니다.
 


구문 및 예를 포함한 자세한 내용은 다음 문서에서 확인할 수 있습니다.

"OS에서 디스크를 읽을 수 있는지 확인”
https://www.veritas.com/support/ko_KR/article.000087435




8. 디스크에 대한 경로가 실행 중지되었습니까?

(맨 위로 이동)

 

vxdmpadm을 사용하여 디스크 경로의 상태를 확인할 수 있습니다(그림 4).

Veritas는 심각하거나 지속적인 I/O 오류가 발생할 경우 경로를 실행 중지합니다. 디스크의 모든 경로가 실행 중지되면 서버가 볼륨을 읽거나 쓸 수 없게 됩니다. 경로가 실행 중지되었다면 "vxdmp" 또는 "scsi"에 의해 보고되는 이벤트 syslog에서 I/O 오류가 있는지 검토하십시오.

“vxdmpadm enable"을 사용하여 경로를 다시 실행할 수 있지만 vxdmp가 scsi 조회를 사용하여 5분 간격으로 경로 상태를 자동으로 평가해야 합니다. 조회에 성공하면 경로가 자동으로 다시 실행됩니다. 이 간격이 지나도 경로가 계속 실행 중지 상태라면 I/O 오류가 여전히 탐지되고 있을 가능성이 있으므로 추가적인 조사가 필요합니다. 디스크 그룹이 실행 중지되거나 vxesd가 중지되면 경로가 자동으로 다시 실행되지 않습니다. 실행 중지된 경로에 대한 대응으로 “vxmpadm gettune”을 사용하여 볼 수 있는 DMP 조정을 통해 vxdmp의 동작을 수정할 수 있습니다.
 


참고: syslog에 vxdmp가 I/O 오류의 원인이라고 표시될 수도 있지만, 대개 vxdmp 자체가 원인은 아닙니다. Veritas는 OS 장치 드라이버에 의존하여 디스크와 통신합니다. I/O 오류가 발생하면 장치 드라이버를 통해 Veritas에 보고됩니다. Vxdmp는는 장치 드라이버를 통해 전달 받은 오류를 보고하며 해당 이벤트에 대한 대응으로 경로를 실행 중지할 수도 있습니다.



그림 4 - vxdmpadm에 의해 보고된 바와 같이 실행 중지된 경로의 예


구문:

vxdmpadm getsubpaths


예:

# vxdmpadm getsubpaths

NAME         STATE[A]   PATH-TYPE[M] DMPNODENAME  ENCLR-NAME   CTLR  
======================================================================
sdm          ENABLED(A)   -          disk_0       disk         c8    
sdp          ENABLED(A)   -          disk_0       disk         c3    
sdb          ENABLED(A)   -          disk_1       disk         c8    
sdc          ENABLED(A)   -          disk_1       disk         c3    
sdq          ENABLED(A)   -          disk_2       disk         c8    
sdt          ENABLED(A)   -          disk_2       disk         c3    
sdd          ENABLED(A)   -          disk_3       disk         c8    
sdf          ENABLED(A)   -          disk_3       disk         c3    
sdi          DISABLED      -          disk_4       disk         c8   
sdl          DISABLED      -          disk_4       disk         c3   
sde          ENABLED(A)   -          disk_5       disk         c8    
sdh          ENABLED(A)   -          disk_5       disk         c3   
sdk          ENABLED(A)   -          disk_6       disk         c8   
sdn          ENABLED(A)   -          disk_6       disk         c3   
sdr          ENABLED(A)   -          disk_7       disk         c8   
sdu          ENABLED(A)   -          disk_7       disk         c3   
sdg          ENABLED(A)   -          disk_8       disk         c8   
sdj          ENABLED(A)   -          disk_8       disk         c3   
sdo          ENABLED(A)   -          disk_9       disk         c8   
sds          ENABLED(A)   -          disk_9       disk         c3   
sda          ENABLED(A)   -          sda          disk  c2   

 

 



9. vxconfigrestore를 사용하여 디스크 그룹 구성 복원

(맨 위로 이동)

vxreattach가 가능하지 않은 경우 vxconfigrestore를 사용해 디스크 그룹을 복구합니다.

Vxconfigrestore는 볼륨 내부에 포함된 실제 데이터를 복원하지 않습니다. 디스크의 전용 영역에 위치한 Veritas 구성 데이터베이스만을 복원합니다. 구성 데이터베이스는 디스크 그룹, 볼륨 구조, 플렉스 및 하위 디스크에 어떤 디스크가 포함되어 있는지에 대한 정보를 보관합니다.


구문 및 예를 포함한 vxconfigrestore에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다.

"vxconfigrestore를 사용하여 디스크 그룹 구성을 복원”
https://www.veritas.com/support/ko_KR/article.000087440

 



10. UDID 및 디스크 ID를 사용하여 디스크 그룹 구성을 수동으로 복원

(맨 위로 이동)

vxconfigrestore가 가능하지 않은 경우 디스크를 복원하는 또 다른 방법은 디스크의 UDID 또는 디스크 ID 속성을 전용 영역 구성 데이터베이스에 포함된 레코드와 비교하는 것입니다.
 

 


구문 및 예를 포함한 UDID 및 디스크 ID 비교에 대한 자세한 내용은 다음 문서에서 확인할 수 있습니다.

“UDID 또는 디스크 ID를 사용하여 디스크 그룹 구성을 수동으로 복원
https://www.veritas.com/support/ko_KR/article.000087441




11. 볼륨 재시작

(맨 위로 이동)


원래 디스크가 디스크 그룹에 다시 추가되면 볼륨을 복구하기 위해 추가적인 단계를 수행해야 할 수도 있습니다. vxprint를 사용하여 현재 상태를 확인할 수 있습니다(그림 5).

  • 미러링된 볼륨의 경우:
    • 최소한 하나의 플렉스가 가동 중단으로 인한 영향을 받지 않은 경우 다른 플렉스는 볼륨에 다시 연결되었을 때 다시 동기화되어야 합니다.  이 프로세스를 시작하려면 vxrecover를 사용해야 할 수도 있습니다(그림 6).
    • 모든 플렉스가 가동 중단으로 인한 영향을 받았다면 최근의 업데이트가 포함된 플렉스가 어느 것인지 확인하기 위해 각 플렉스를 수동으로 검토해야 할 수도 있습니다.

경고: 미러링된 볼륨을 그냥 강제로 시작하지 마십시오. 이렇게 하면 오래 되었거나 손상된 블록을 포함하는 플렉스가 최신 데이터를 포함하는 플렉스를 덮어쓰게 될 수도 있습니다. 최신 미러 플렉스를 수동으로 확인하는 절차는 다음 문서에서 확인할 수 있습니다.

"어떤 미러 플렉스에 가장 최신 데이터가 있는지 수동으로 확인한 후 다시 동기화”
https://www.veritas.com/support/ko_KR/article.000087709


  • 미러링되지 않은 볼륨의 경우:
    • 디스크를 다시 디스크 그룹에 추가한 후 vxvol을 사용하여 볼륨을 수동으로 재시작해야 할 수도 있습니다(그림 5).



그림 5 - vxprint를 사용하여 볼륨의 상태 확인


구문:

vxprint -g <disk_group> -ht


일반적인 출력의 예:

이 경우, vxprint가 볼륨 "vol1"이 실행 중지된 상태임을 보여줍니다. 플렉스 상태가 "IOFAIL"이며, 이는 볼륨에 지속적인 I/O 중단이 발생했음을 나타냅니다. 관련 디스크를 디스크 그룹에 다시 추가한 후 vxvol을 사용하여 해당 볼륨을 수동으로 재시작해야 합니다.


#vxprint -g datadg -ht

dg datadg       default      default  1000     1336573086.38.Server101

dm datadg01     disk_3       auto     65536    2027264  -
dm datadg02     disk_4       auto     65536    2027264  -
dm datadg03     disk_5       auto     65536    2027264  -
dm datadg04     disk_6       auto     65536    2027264  -

v  locks        -            ENABLED  ACTIVE   102400   SELECT    -        fsgen
pl locks-01     locks        ENABLED  ACTIVE   102400   CONCAT    -        RW
sd datadg04-01  locks-01     datadg04 0        102400   0         disk_6   ENA

v  vol1         -            DISABLED ACTIVE   6010880  SELECT    -        fsgen
pl vol1-01      vol1         DISABLED IOFAIL   6010880  CONCAT    -        RW
sd datadg01-01  vol1-01      datadg01 0        2027264  0         disk_3   ENA
sd datadg02-01  vol1-01      datadg02 0        2027264  2027264   disk_4   ENA
sd datadg03-01  vol1-01      datadg03 0        1956352  4054528   disk_5   ENA

 




그림 6 - vxvol을 사용하여 볼륨을 시작하고 vxprint를 사용하여 볼륨 상태의 변경 사항 검토


구문:

vxvol -f <disk_group> -fa startall


일반적인 출력의 예:

# vxvol -g datadg -fa startall


Vxprint가 이제 해당 볼륨이 시작되었음을 보여줍니다.

#vxprint -g datadg -ht
dg datadg       default      default  1000     1336573086.38.Server101

dm datadg01     disk_3       auto     65536    2027264  -
dm datadg02     disk_4       auto     65536    2027264  -
dm datadg03     disk_5       auto     65536    2027264  -
dm datadg04     disk_6       auto     65536    2027264  -

v  locks        -            ENABLED  ACTIVE   102400   SELECT    -        fsgen
pl locks-01     locks        ENABLED  ACTIVE   102400   CONCAT    -        RW
sd datadg04-01  locks-01     datadg04 0        102400   0         disk_6   ENA

v  vol1         -            ENABLED  ACTIVE   6010880  SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   6010880  CONCAT    -        RW

sd datadg01-01  vol1-01      datadg01 0        2027264  0         disk_3   ENA
sd datadg02-01  vol1-01      datadg02 0        2027264  2027264   disk_4   ENA
sd datadg03-01  vol1-01      datadg03 0        1956352  4054528   disk_5   ENA

 




그림 7 - vxrecover를 사용하여 볼륨의 복구를 완료하거나 재동기화 시작


구문:

vxrecover -sb <volume>


일반적인 출력의 예:

# vxrecover -sb vol1


Vxprint가 이제 "vol1"이 "ACTIVE.” 상태임을 보여줍니다.

# vxprint -g datadg -ht
dg datadg       default      default  10000    1336408747.34.Server101

dm datadg01     disk_3       auto     65536    2027264  -
dm datadg02     disk_4       auto     65536    2027264  -
dm datadg03     disk_5       auto     65536    2027264  -
dm datadg04     disk_6       auto     65536    2027264  -

v  locks        -            ENABLED  ACTIVE   102400   SELECT    -        fsgen
pl locks-01     locks        ENABLED  ACTIVE   102400   CONCAT    -        RW
sd datadg04-01  locks-01     datadg04 0        102400   0         disk_6   ENA

v  vol1         -            ENABLED  ACTIVE   102400   SELECT    -        fsgen
pl vol1-01      vol1         ENABLED  ACTIVE   102400   CONCAT    -        RW
sd datadg01-01  vol1-01      datadg01 0        102400   0         disk_3   ENA
pl vol1-02      vol1         ENABLED  ACTIVE   102400   CONCAT    -        RW
sd datadg04-02  vol1-02      datadg04 102400   102400   0         disk_6   ENA
pl vol1-03      vol1         DISABLED ACTIVE   102400   CONCAT    -        RW
sd datadg03-01  vol1-03      datadg03 0        102400   0         disk_5   ENA

 

 

키워드: failed, failing, failed disk, failed disks, failing disk, failed disks

이 내용이 도움이 되었습니까?