이 문서는 이해를 돕기위해 KB1030246을 한글로 번역한 것입니다. (VMware 한국 GSS L3 Tech. Support)
증상
- vCenter Server에서 netstat 명령을 실행하면 그 결과에서 많은 수의 8085포트가 사용되고 있는 것을 나타냅니다.
- 예를 들면:
- H:\>netstat -an | find ":80" |find /c "ESTAB"
268 - H:\>netstat -an | find ":80" |find /c "TIME_"
3746 - H:\>netstat -an | find ":8085 " | find /c "4924"
2 - C:\Documents and Settings\Administrator>netstat -an | find ":8085 " | find "4924"
TCP 127.0.0.1:4924 127.0.0.1:8085 ESTABLISHED
TCP 127.0.0.1:8085 127.0.0.1:4924 ESTABLISHED
- H:\>netstat -an | find ":80" |find /c "ESTAB"
- vpxd.log에서 다음과 같은 메세지가 나타납니다.:
vpxd-19.log:2010-11-10T17:20:37.359-08:00 [10180 error 'HttpConnectionPool'] [ConnectComplete] Connect error Only one usage of each socket address (protocol/network address/port) is normally permitted.
vpxd-19.log:2010-11-10T17:20:37.359-08:00 [10584 error 'Default' opID=4c7bcb32] [VpxdClientAdapter] Got vmacore exception: Only one usage of each socket address (protocol/network address/port) is normally permitted.
port-availability check-ports
목적
이 문서는 vCenter Server에서 8085포트에 관한 정보를 제공하는 것입니다.
해결방안
C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter 디렉토리에서proxy.xml 의 내용을 보면, 8085포트에 대한 설정을 확인할 수 있습니다.:
<e id="5">
<_type>vim.ProxyService.LocalServiceSpec</_type>
<accessMode>httpsWithRedirect</accessMode>
<port>8085</port>
<serverNamespace>/sdk</serverNamespace>
</e>
이것은 8085포트가 vCenter Server로 연결되는 모든 SDK연결에 사용되는 것을 의미하고, vCenter Server SDK기반으로 개발된 모든 스크립트와 vSphere Client가 이 포트를 사용하는 것을 의미합니다.
vCenter Server로 연결하는 스크립트 또는 어플리케이션이 많은 경우, 많은 수의 포트가 TIME_WAIT상태에 있는 것을 볼 수 있습니다. 이것은 윈도우즈가 소켓을 재사용을 위해 활용하기 이전에 TIME_WAIT상태로 일정시간(Maximum Segment Lifetime의 두 배, 4분) 유지하기 때문에 정상적인 것입니다.
기본적으로, vCenter Server는 3976개의ephemeral포트[1]를 사용합니다. 이것들을 모두 사용하게 되면, 한계값을 증설할 수 있습니다.
더 많은 로컬 포트들이 가용하도록 하려면:
- 레지스터리 편집기를 엽니다. (Regedt32.exe).
- 아래 레지스터리 키를 찹습니다.:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters - Parameters에서 오른쪽 마우스 클릭을 하고 New DWORD Value를 선택합니다.
- Name에 “MaxUserPort”를 입력하고, 65534 (십진수) 를 Value에 입력한 후 OK를 클릭합니다.
Note: “MaxUserPort”의 기본값은 5000 (십진수)입니다.윈도우즈 서버 2003의 최대값은 65534 (십진수)입니다. - 레지스터리 편집기를 닫습니다.
- 시스템을 재시작하여 새로운 설정을 적용합니다.
윈도우즈 서버 2008에서의 포트 범위에 대한 설명은 아래 문서를 참조합니다.
http://support.microsoft.com/kb/929851
[1] Ephemeral ports: TCP/IP통신에서 Client 소프트웨어에 할당되는 port의 범위. 1,024 ~ 4,999(3,976개)의 포트를 사용하도록 BSD UNIX에서 구현됨. 윈도우즈 비스타 및 이후버전 윈도우즈 운영체제에서 변경되기 전까지 그대로 적용.