본문 바로가기

개발노트/Exception Note

[vSphere] 이미 삭제한 vCenter Server - 라이센스, 메타데이터 문제 : LDAP을 이용한 에러 처리

서버 운영을 가상으로 이전하기 위해 vCenter Server, ESXi 등등을 설치하고 설정하는 등등의 작업을 했었는데, 예전에 테스트용으로 vCenter Server(Windows Server 기반)와 vCenter Server Appliance(SuSe Linux 기반) 둘 다 설치하였는데 테스트를 마치고 운영으로 돌리기 위해 vCenter Server(Windows Server 기반)을 삭제하였는데 메타데이터 정보가 남아있어서 성가신 경고메시지가 계속 출력되어 없애기 위해 2.5일정도 탐색한 끝에 찾아낸 방법을 정리.

- 라이센스 관련 : 가장 좋은 방법은 라이센스가 만료되기 전에 라이센스 문제를 해결하는 것.

20170412 Trouble Shoot vCenter Server 관련 : LDAP을 이용한 에러 처리

  • 1. “vSphere Client에서 내부 오류가 발생했습니다. 세부 정보 : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.” 오류 메시지

  • 2. “하나 이상의 vCenter Server에 연결할 수 없습니다.”  경고 메시지

  • 3. 이미 삭제한 vCenter Server 에 대한 “평가판 라이센스” 경고(만료) 메시지



개요

문제

  • 1. vCenter Server Appliance 를 vSphere Web Client 가 아니라 vSphere Client (C#) 프로그램을 이용하여 접속할 경우 “vSphere Client에서 내부 오류가 발생했습니다. 세부 정보 : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.” 메시지가 나오며 오류가 발생함



  • 2. vSphere Web Client로 vCSA(vCenter Server Appliance : SuSe Linux 기반) 접속 시, 이미 삭제한 vCenter Server (Windows Server 기반)의 정보가 남아 있어, “하나 이상의 vCenter Server에 연결할 수 없습니다. https://<이미삭제한vCenterServer IP>/sdk” 라는 메시지가 출력되며 경고 메시지 출력됨

  • 3. 이미 삭제한 vCenter Server(Windows Server 기반)에 대한 평가판 라이센스가 만료되었다는 경고 메시지 출력됨

  • 해결 요약

    • 1. vSphere Client(C#) 문제

      • vSphere 6.5 버전 이상은 C#으로 짜여진 vSphere Client 프로그램으로 접속이 불가능함. vSphere 6.0 버전까지는 접속 가능은 하지만 6.5버전부터는 공식적으로 지원하지 않음

    • 2. 이미 삭제한 vCenter Server 에 접속 시도 문제

      • LDAP 프로토콜로 PSC(Platform Service Controller)의 액티브 디렉토리에 접근하여 남아있는 vCenter Server 관련 디렉토리 삭제 후 PSC의 모든 service 재시작

    • 3. 이미 삭제한 vCenter Server 에 적용했던 평가판 라이센스 만료 문제

      • LDAP 프로토콜로 PSC(Platform Service Controller)의 액티브 디렉토리에 접근하여 남아있는 vCenter Server 관련 디렉토리 삭제 후 PSC의 모든 service 재시작

Trouble Shooting

1. vSphere Client(C#) 문제

  • vSphere 6.5 버전 이상은 C#으로 짜여진 vSphere Client 프로그램으로 접속이 불가능함. vSphere 6.0 버전까지는 접속 가능은 하지만 6.5버전부터는 공식적으로 지원하지 않음

2. & 3. 이미 삭제한 vCenter Server 에 접속 시도 문제 & 평가판 라이센스 만료 문제

  • LDAP 프로토콜로 PSC(Platform Service Controller)의 액티브 디렉토리에 접근하여 남아있는 vCenter Server 관련 디렉토리 삭제 후 PSC의 모든 service 재시작

진행 순서

  • 접속 정보를 입력

    • Host : PSC에 할당된 IP

    • Port : 기본 포트인 389

    • Protocol : LDAP v3

    • Base DN : dc=sample,dc=co,dc=kr

      • period(.)으로 구분되는 도메인이름을 dc로 구분하여 적어줌

      • 예) 만약 도메인을 변경하지 않았다면 dc=vsphere,dc=local 가 될 것임

    • Security - Level : User + Password

    • User DN : cn=administrator,cn=users,dc=sample,dc=co,dc=kr

      • 첫번째 cn=<SSO ID>

      • 두번째 cn=<SSO GROUP>

      • dc 들은 Base DN에 적어준 것

    • Password : <SSO PASSWORD>

      • User DN에 적어준 사용자 정보에 해당하는 비밀번호 입력(SSO - administrator@sample.co.kr 계정의 비밀번호를 입력)



  • 접속이 되면 삭제한 vCenter Server의 IP가 들어있는 디렉토리를 찾아서 모두 삭제

    • 현재 운영중이거나 필요한 디렉토리를 삭제하면 PSC와 vCenter를 재설치해야할 수 있으므로 아주 조심히 삭제!!


<<보안상 스크린샷은 삭제>>





  • Jxplorer 의 기능 중 검색 기능을 활용하면 쉬움

    • cn = *<IP 주소>*

    • cn = *<IP 주소 끝자리>*

    • vmwLKUPURI = *<IP 주소 끝자리>*

  • SSH로 PSC에 접속하여 아래 명령어 실행

    • # service-control --status

      • 이 명령어로 상태를 확인할 수 있음

    • # service-control --stop --all

      • 이 명령어로 모든 서비스를 종료함

    • # service-control --start --all

      • 이 명령어로 모든 서비스를 시작함


  • 경고 메시지가 없어졌는지 vSphere Web Client에 접속하여 확인

부록

vCSA Embeded PostgreSQL 접속 방법

  • vCSA를 설치할 때 DB(DataBase : 데이터베이스)가 필요한데 Default로 PostgreSQL이 설치됨

  • 해당 DB에는 vSphere의 VM, 데이터 센터 등 vCenter를 관리하기 위한 모든 정보가 저장되어 있음

  • vCenter Server Appliance 를 위한 PostgreSQL DB가 설치될 때 자동으로 DB와 계정정보가 생성되는데 아래에 이를 알기 위한 방법을 기록함

    • SSH 또는 vSphere Web Client로 vCSA console 접근

    • vCenter Server 를 위한 DB 계정 및 접속 정보

      • # vi /etc/vmware-vpx/embedded_db.cfg

      • # vi /etc/vmware-vpx/vcdb.properties


    • postgreSQL 접속

      • # /opt/vmware/vpostgres/current/bin/psql -d VCDB vc

        • 위에서 찾은 비밀번호를 입력하면 접속이 됨

참고 자료


반응형