Isilon: 게이트웨이 연결 상태가 Disconnected, Internal Error 401 Unauthorized response codes로 표시됨
Summary: 게이트웨이 연결 상태가 연결 끊김을 표시하고 Internal Error 401 Unauthorized 응답 코드가 표시됩니다(사용자 수정 가능).
Symptoms
이전에 작동하고 연결되었던 클러스터 Gateway Connectivity Status에 Disconnected가 표시됩니다.401 Unauthorized 잘못된 사용자 이름 및 비밀번호와 관련이 없는 보안 연결 게이트웨이에서 응답이 표시됩니다.
보안 연결 게이트웨이를 사용하는 Isilon 클러스터에서 isi esrs view 게이트웨이 연결 상태가 연결 끊김으로 표시됩니다. 구성이 이전에 올바르게 작동했습니다.
비활성화 및 재활성화 시도 isi_esrs_d 및 isi_rsapi_d 연결 복원에 도움이 되지 않습니다.
를 사용하여 구성 수정을 시도합니다. username 및 비활성화 시도 Secure Connect Gateway(--enabled=false) 구성을 다시 만들기 위해 실패합니다.
를 발행할 때도 유사한 오류가 표시됩니다. isi esrs modify --enabled==false 명령을 사용하여 수행됩니다.
Internal error:
ESRSBadCodeError: ESRS Delete Device failed. Error response code from gateway: 401, Unauthorized. Response dictionary was: {{'http_response_code': 401, 'curl_trace': "* Trying 1.2.3.4:9443...\n* TCP_NODELAY set\n* Name '1.2.3.4' family 2 resolved to '1.2.3.4' family 2\n* Local port: 0\n* Connected to 1.2.3.4 (1.2.3.4) port 9443 (#0)\n* ALPN, offering http/1.1\n* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH\n* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384\n* ALPN, server accepted to use http/1.1\n* Server certificate:\n* subject: C=US; ST=MA; L=SO; O=EMC; OU=ESRS; CN=myname\n* start date: Dec 4 12:20:29 2019 GMT\n* expire date: Dec 4 12:20:29 2039 GMT\n* issuer: C=US; ST=MA; L=SO; O=EMC; OU=ESRS; CN=myname\n* SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.\n> DELETE /esrs/v1/devices/ISILON-GW/ELMISLxxxxxxxx HTTP/1.1\r\nHost: 1.2.3.4:9443\r\nUser-Agent: PycURL/7.43.0 libcurl/7.66.0 OpenSSL/1.0.2r-fips zlib/1.2.11\r\nAccept: */*\r\nAuthorization: ISILON-GW:ELMISLxxxxxxxx:keykeykeyGYskKOwNZQg7SGOgC8=,domain=Device\r\nDate: Wed, 04 Nov 2020 19:15:47 GMT\r\n\r\n* Mark bundle as not supporting multiuse\n< HTTP/1.1 401 Unauthorized\r\n< Date: Wed, 04 Nov 2020 19:15:48 GMT\r\n< Server: Apache PivotalWebServer\r\n< Strict-Transport-Security: max-age=31536000; includeSubDomains;\r\n< Content-Security-Policy: frame-ancestors 'self'\r\n< Transfer-Encoding: chunked\r\n< \r\n* Connection #0 to host 1.2.3.4 left intact\n"}}
401 메시지에 텍스트 문자열이 포함된 경우 Invalid username and password, 이 문서는 적용되지 않습니다.
Cause
위의 응답에서 Isilon이
HTTP DELETE 명령을 사용하여 수행됩니다.
DELETE /esrs/v1/devices/ISILON-GW/ELMISLxxxxxxxx
디바이스 키는 Isilon과 보안 연결 게이트웨이 간의 통신을 인증하는 데 사용됩니다.
Authorization: ISILON-GW:ELMISLxxxxxxxx:keykeykeyGYskKOwNZQg7SGOgC8=
게이트웨이가 다시 설치되었거나 다른 이유로 디바이스 키를 분실한 경우 키를 사용하는 REST-API 인증이 실패하고
401 Unauthorized 오류.
경우에 따라 보안 연결 게이트웨이의 상태를 확인할 수 없는 경우 Dell 지원 부서에 조사를 의뢰할 수 있습니다. 게이트웨이가 다시 설치되면 디바이스 키가 손실되지만 게이트웨이가 이전 스냅샷(키가 생성되거나 업데이트되기 전)으로 롤백되는 경우에도 손실될 수 있습니다. 또한 보안 연결 게이트웨이의 디스크 공간이 부족하고 이 시간 동안 새 디바이스가 추가되는 경우 보안 연결 게이트웨이의 디바이스 키 데이터베이스를 확장할 수 없습니다.
Resolution
가장 간단한 방법이자 가장 가능성이 높은 해결 방법은 다음 명령을 실행하여 구성을 비활성화하고 새 등록과 함께 Isilon에 대한 새 디바이스 키를 생성하는 것입니다. 이 --force 플래그는 먼저 등록을 취소하기 위해 게이트웨이에 연결하지 않고 보안 연결 게이트웨이 서비스를 비활성화하도록 Isilon에 지시합니다.
isi esrs modify --enabled=false --force isi esrs modify --enabled=true --username=DellSupportEmail --password=MYPASS
이러한 명령이 작동하지 않으면 Dell 지원 에 개입하여 수동으로 키를 지우고 보안 연결 게이트웨이와 Isilon 클러스터 간의 통신을 재설정할 수 있습니다. 이 문서를 인용하는 서비스 요청을 엽니다.
숙련된 관리자는 다음 명령을 수행하여 클러스터에서 관련 서비스를 비활성화하고, 보안 연결 게이트웨이를 수동으로 비활성화하고, 클러스터 측의 기존 인증 키를 지워야 합니다.
- 실행 중인 경우 관련 서비스를 비활성화합니다. 이러한 서비스는 보안 연결 게이트웨이 연결을 위해 보안 연결 게이트웨이 서비스 및 REST-API 서비스를 실행하는 데몬을 나타냅니다. 이러한 서비스를 비활성화해도 클러스터에 대한 클라이언트 액세스에는 영향을 주지 않습니다.
isi services -a isi_esrs_d disable isi services -a isi_rsapi_d disable
- 수동으로 보안 연결 게이트웨이를 강제로 비활성화합니다.
isi_gconfig -t esrs esrs.enabled=false
- 통신에 사용 중인 키를 지웁니다.
isi_gconfig -t esrs esrs.esrs_api_key=""
NOTE: if secondary Gateway is configured, clear the API key for secondary Gateway using command below:
isi_gconfig -t esrs esrs.secondary_esrs_api_key=""
- 다음 경우에만 활성화하십시오.
rsapi서비스를 대신해 모든 주크박스 작업을 관리하는 RPC 기반 서비스를 제공합니다.
isi services -a isi_rsapi_d enable
- 일반 명령을 사용하여 보안 연결 게이트웨이 구성을 활성화합니다.
isi esrs modify --enabled=true --username=DELL-Support-Account --password=MYPASS
- REST 응답을 기다리는 명령이 제한시간을 초과하는 경우 다음 명령을 입력하십시오.
isi --timeout=600 esrs modify --enabled=true --username=DELL-Support-Account --password=MYPASS
- 명령에 여전히 오류가 표시되면 Isilon에서 새 수집을 시작하고 Dell 지원 부서에 문의하십시오.
이 단계는 Isilon과 보안 연결 게이트웨이 간의 통신을 재생성하고 다시 설정하는 데 사용됩니다.
Additional Information
주 노드에 장애가 발생하면 클러스터가 새 주 노드를 선택하고 랜딩 IP가 REST 프로토콜을 사용하여 보안 연결 게이트웨이로 업데이트됩니다. "isi_esrs_d" 및 "isi_rsapi_d" 서비스는 모두 클러스터의 모든 노드에서 실행되어야 합니다. 기본 노드는 게이트웨이 액세스 풀에 구성된 노드에 따라 선택됩니다.
기본 복제본은 로그를 검토하거나 아래 명령을 실행하여 확인할 수 있습니다.
sqlite3 /ifs/.ifsvar/modules/tardis/namespaces/esrs.registered.state.sqlite 'select value from kv_table where key == "esrs_registered_lnn";' 5
위의 예에서 기본 노드는 노드 5입니다. 이 노드의 게이트웨이 액세스 풀에서 IP 주소를 검사한 후 보안 연결 게이트웨이에서 ELM* 클러스터 라이선스에 사용 중인 IP 주소를 찾습니다. Dell 지원 담당자는 클러스터에 전화를 거는 데 사용되는 ServiceLink 보안 연결 게이트웨이 시스템에서도 이 IP 주소를 볼 수 있습니다.