문제
이 문서에는 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"는 vxdisk에 의해 표시되는 것과 같이 디스크 그룹의 이름이며 "datadg02"는 디스크 미디어의 이름입니다. # vxdisk -o alldgs list |
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 |
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의 동작을 수정할 수 있습니다.
그림 4 - vxdmpadm에 의해 보고된 바와 같이 실행 중지된 경로의 예
구문: vxdmpadm getsubpaths 예: # vxdmpadm getsubpaths NAME STATE[A] PATH-TYPE[M] DMPNODENAME ENCLR-NAME CTLR |
9. vxconfigrestore를 사용하여 디스크 그룹 구성 복원
(맨 위로 이동)
vxreattach가 가능하지 않은 경우 vxconfigrestore를 사용해 디스크 그룹을 복구합니다.
Vxconfigrestore는 볼륨 내부에 포함된 실제 데이터를 복원하지 않습니다. 디스크의 전용 영역에 위치한 Veritas 구성 데이터베이스만을 복원합니다. 구성 데이터베이스는 디스크 그룹, 볼륨 구조, 플렉스 및 하위 디스크에 어떤 디스크가 포함되어 있는지에 대한 정보를 보관합니다.
"vxconfigrestore를 사용하여 디스크 그룹 구성을 복원”
https://www.veritas.com/support/ko_KR/article.000087440
10. UDID 및 디스크 ID를 사용하여 디스크 그룹 구성을 수동으로 복원
(맨 위로 이동)
vxconfigrestore가 가능하지 않은 경우 디스크를 복원하는 또 다른 방법은 디스크의 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 |
그림 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 |
그림 7 - vxrecover를 사용하여 볼륨의 복구를 완료하거나 재동기화 시작
구문: vxrecover -sb <volume> 일반적인 출력의 예: # vxrecover -sb vol1 Vxprint가 이제 "vol1"이 "ACTIVE.” 상태임을 보여줍니다. # vxprint -g datadg -ht |
키워드: failed, failing, failed disk, failed disks, failing disk, failed disks