RecoverPoint for Virtual Machine: 확장 환경에서 init와 오류 상태 간의 정합성 보장 그룹 루프
Summary: RecoverPoint for Virtual Machine: 확장 환경에서 init와 오류 상태 간의 정합성 보장 그룹 루프
Symptoms
해당 없음 확장 환경에서
init와 오류 상태 간의 정합성 보장 그룹 루프 DRU(Data Replication Unavailable)를 유발합니다.
로그에서 발견된 증상:
ESX splitter logs:
아래 로그는 /vmfs/volumes/vsan:5xxxxxxxxxx-dxxxxxxxxxxxxxxx 읽기가 실패했음을 나타내므로 VSAN의 모든 RPVS 볼륨이 제거됩니다.
spl_esx_discover_RPvStorage_clusters_in_datastore: /vmfs/volumes/vsan:5xxxxxxxxxxxxxxxxxx-dxxxxxxxx 디렉토리를 읽지 못함, 상태 시간 초과
update_rpvs_db가 반환됨: LUN 1이 마지막 디바이스 보기에서 검색되지 않음 업데이트
RPVS_ClusterLuns_removeLunInfo: lun=1(이름 RPVS_Lun00001.vmdk)에 대해 호출됩니다. 클러스터 ID=2xxxxxxxxxxxx
update_rpvs_db: LUN 12가 마지막 디바이스 보기에서 검색되지 않았습니다. 업데이트
RPVS_ClusterLuns_removeLunInfo: LUN=12(이름 RPVS_Lun00012.vmdk)에 대해 호출됩니다. 클러스터 ID=2xxxxxxxxxxx
update_rpvs_db: LUN 13이 마지막 디바이스 보기 업데이트에서 검색되지 않았습니다...
* RPVS 검색 프로세스가 성공하므로 모든 RPVS 볼륨이 다시 추가됩니다.
parse_vmdk_file: /vmfs/volumes/vsan:5xxxxxxxxxxxxxxxx/RPvStorage/4xxxxxxxxxxx/RPVS_Lun00001.vmdk
파일로 호출됨 parse_vmdk_file: capacity=12000000, thinLun=0, flat_filename=RPVS_Lun00001-flat.vmdk, rawguid=0x6xxxxxxxxxxxxxxxxxx
RPVS_ClusterLuns_addLunInfo: LUN 1 추가, 클러스터 4xxxxxxxxxxxxxxxxxxxx parse_vmdk_file: /vmfs/volumes/vsan:5xxxxxxxxxxxxxx-dxxxxxxxx/RPvStorage_23d5fb88838940xxx_010/RPVS_Lun00012.vmdk 파일로 호출됨parse_vmdk_file: capacity=524288000, thinLun=0, flat_filename=RPVS_Lun00012-flat.vmdk, rawguid=0x6xxxxxxxxxxxx RPVS_ClusterLuns_addLunInfo: LUN 12, 클러스터 2xxxxxxxxxxxxxxx
* RPVS 검색 프로세스에 오랜 시간이 걸렸음을 나타내는 로그
CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 32585607마이크로초, 대기열의 명령 수: 11 CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 33277695마이크로초, 대기열의 명령 수: 11 CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 35834242마이크로초, 대기열의 명령 수: 11 CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 36488014마이크로초, 대기열의 명령 수: 11 CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 37767728마이크로초, 대기열의 명령 수: 11 CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 49355575마이크로초, 대기열에 있는 명령 수: 11 CommandExecuterBase_v_handleCommands_i: cmd 0x417fdde35040, cmd-execute>(CommandRPVSDiscovery), 실행 시간 109257427마이크로초, 대기열에 있는 명령 수: 19
모든 RP4VM 버전에 영향을 받습니다.
Cause
ESX Splitter는 매 t_rpvsDiscoveryPeriodicTimerInterval마다 RPVS 볼륨(저널 및 리포지토리)을 검색합니다(기본값: 30)초.
검색은 /vmfs/volumes/를 읽고 그 안의 각 디렉토리를 탐색하여 RPVS_LunXXXXX.vmdk
를 찾는 방식으로 수행됩니다. RPVS 볼륨은 /vmfs/volumes/<datastore>/<cluster=id/에> 상주합니다. VSAN 환경에서는 /vmfs/volumes/vsan:<vsan-id>/<cluster=id>/
에 상주합니다. /vmfs/volumes/ 내의 디렉토리 읽기가 실패하면(시간 초과, 일시적 오류 등) 장애가 발생한 디렉토리의 모든 RPVS 볼륨이 제거됩니다.
이후의 실행에서 rpvs 검색 프로세스가 RPVS_LunXXXXX.vmdk를 읽고 찾는 데 성공하면 해당 RPVS 볼륨이 다시 추가됩니다.
이것이 CG가 Error와 Init 사이에서 반복되는 이유입니다.
이 문제는 VSAN에서 많은 수의 호스트가 동시에 /vmfs/volumes/ 아래의 디렉토리를 읽는 경우 확대됩니다.
Resolution
클러스터의 각 ESX 호스트에서 t_rpvsDiscoveryPeriodicTimerInterval
의 스플리터 조정 값을 180초에서 600초 사이의 임의 값으로 업데이트하고 kdriver를 재시작합니다.
ESX Splitter Tweak은 /etc/kdriver/tweak/tweak.params.splitter 또는 /etc/config/emc/rp/kdriver/tweak/tweak.params.splitter에서 찾을 수 있습니다
.
해결 방법:
현재 Dell EMC 엔지니어링 팀에서 이 문제를 조사하고 있습니다. 영구 수정 작업이 진행 중입니다. Dell EMC 고객 지원 센터 또는 서비스 담당자에게 연락하여 지원을 요청하고 이 솔루션 ID를 참조하십시오.