게스트 검색 실행

게스트 검색을 사용하면 가상 머신(VM) 인스턴스와 물리적 서버를 모두 포함하여 머신에서 실행 중인 애플리케이션에 대한 데이터를 스캔하고 수집할 수 있습니다. 또한 머신 구성, 하드웨어, 네트워크, 열린 파일, 서비스, 프로세스에 대한 데이터를 수집합니다.

Azure에서 실행되는 VM 또는 온프레미스에서 실행되는 머신과 같이 마이그레이션 센터 탐색 클라이언트 CLI가 인벤토리 검색을 지원하지 않는 플랫폼에서 실행되는 머신의 경우 VMware 및 AWS에서 실행되는 VM에 대한 전체 평가를 통해 게스트 검색을 실행할 수 있습니다. 게스트 검색은 게스트 수집 스크립트를 사용하여 머신에 대한 데이터를 수집하고 해당 데이터를 Linux 머신의 게스트 수집 tar 파일 또는 Windows 머신의 zip 파일에 기록합니다.

mcdc CLI를 호스팅하는 머신에서 스크립트를 게스트 머신에 업로드하고 실행한 후 결과를 다운로드합니다. 스크립트를 대상 머신에서 로컬로 실행하거나 원격으로 실행할 수 있습니다. VMware에서 배포한 Linux 및 Windows VM의 경우 mcdc CLI는 원격 실행을 지원합니다. mcdc CLI에서 액세스할 수 있는 다른 Linux 머신의 경우 discover ssh 명령어를 사용할 수 있습니다.

게스트 수집 스크립트는 일련의 명령어를 실행하여 소스 머신에 대한 정보를 수집하고 머신의 여러 파일에서도 정보를 수집합니다.

VMware 도구 또는 SSH를 사용하면 mcdc CLI로 원격으로 게스트 검색을 실행할 수 있습니다. 또는 개별 Linux 및 Windows 머신에서 게스트 수집 스크립트를 다운로드하여 실행한 다음 수집된 데이터를 mcdc CLI를 호스팅하는 머신으로 수동으로 가져올 수 있습니다.

이 문서에서는 mcdc CLI에서 제공하는 여러 게스트 검색 방법을 실행하는 단계를 설명합니다.

시작하기 전에

  1. mcdc CLI 다운로드 및 실행 요구사항을 검토합니다.
  2. 게스트 수집 스크립트 다운로드 및 실행을 위한 요구사항을 검토합니다.
  3. mcdc CLI 다운로드 단계를 완료합니다.

VMware 도구를 사용하여 원격으로 데이터 수집

vSphere에서 호스팅되는 VM의 경우 mcdc CLI는 VMware 도구를 사용하여 Linux 및 Windows VM에서 원격으로 수집 스크립트를 배포하고 실행할 수 있습니다. VMware 도구를 사용할 때 mcdc CLI 도구는 다음을 수행합니다.

  • VM에 수집 스크립트를 업로드합니다.
  • VM에서 스크립트를 실행합니다.
  • 결과를 다운로드하고 가져옵니다.

원격으로 데이터를 수집하려면 두 가지 사용자 인증 정보 세트가 필요합니다.

  • vSphere에 연결하기 위해 mcdc CLI에 전달된 vCenter 서버 사용자 이름에 VM에 대한 다음 권한이 있어야 합니다.
    • 게스트 작업 수정
    • 게스트 작업 프로그램 실행
    • 게스트 작업 쿼리
  • VM의 사용자 인증 정보:
    • Windows에서는 관리자 권한이 있어야 합니다.
    • Linux에서는 루트 액세스 권한이 필수가 아닙니다. 하지만 루트 액세스 권한을 통해 mcdc CLI에서 전체 평가에 필요한 데이터를 수집할 수 있습니다.

VMware 도구를 사용하여 데이터를 수집하려면 다음 단계를 따르세요.

  1. mcdc CLI를 호스팅하는 Linux VM에 로그인합니다.
  2. mcdc CLI를 다운로드한 디렉터리로 변경합니다.
  3. VM의 전원이 켜져 있는지 확인합니다.
  4. 게스트 검색을 실행합니다.

    ./mcdc discover vsphere guest --url https://VSPHERE_URL \
    -u VCENTER_USER --vm-user VM_USER VM_ID
    

    다음을 바꿉니다.

    • VCENTER_USER: vCenter 서버 사용자
    • VM_USER: VM 사용자
    • VM_ID: VM 또는 MOREF의 이름
  5. 메시지가 표시되면 VCENTER_USERVM_USER의 비밀번호를 입력합니다.

VMware 도구를 사용하여 여러 vSphere VM에서 데이터를 동시에 수집하려면 다음 단계를 수행합니다.

  1. mcdc CLI를 호스팅하는 Linux VM에 로그인합니다.
  2. mcdc CLI를 다운로드한 디렉터리로 변경합니다.
  3. 모든 VM 전원이 켜져 있는지 확인합니다.
  4. 게스트 검색을 실행합니다.

    ./mcdc discover vsphere guest all --url https://VSPHERE_URL \
    -u VCENTER_USER --vm-user VM_USER --timeout TIMEOUT_IN_SECONDS
    

    TIMEOUT_IN_SECONDS를 제한 시간(초)으로 바꿉니다.

    필요한 경우 --os-family 플래그를 사용하여 Windows 또는 Linux VM으로 검색만 제한하거나 --max-parallelism 플래그를 사용하여 동시 로드 수준을 변경합니다.

  5. 메시지가 표시되면 VCENTER_USERVM_USER의 비밀번호를 입력합니다.

  6. 또한 인벤토리 검색 실행의 VMware에 설명된 대로 --path 플래그를 사용하여 검색 범위를 특정 VM으로 지정할 수 있습니다.

마이그레이션 센터에서 수집된 이러한 데이터를 온라인으로 내보내고 평가하거나 오프라인 평가를 실행할 수 있습니다.

SSH를 통해 원격으로 데이터 수집

mcdc CLI를 호스팅하는 Linux 머신에 소스 Linux 머신에 대한 액세스 권한이 있으면(Windows 머신은 지원되지 않음) mcdc CLI는 SSH를 통해 원격 머신에 연결하여 데이터를 수집할 수 있습니다.

SSH를 사용할 때 mcdc CLI는 다음을 수행합니다.

  1. 머신에 수집 스크립트를 업로드합니다.
  2. mcdc CLI에 전달된 머신 사용자 인증 정보를 사용하여 머신에서 스크립트를 실행합니다.

  3. 결과를 다운로드하고 가져옵니다.

두 가지 모드를 사용해서 SSH를 실행할 수 있습니다.

  • 기본값: mcdc CLI 머신의 ssh 바이너리와 구성을 사용합니다. 기본 모드는 기본적으로 이를 호스팅하는 워크스테이션의 로컬 SSH 구성 파일(예: ~/.ssh/config~/.ssh/known_hosts)을 사용할 수 있습니다.

    메시지가 표시되면 비밀번호를 입력합니다. 또는 sshpass를 사용해서 비밀번호 또는 비공개 키 파일 암호를 명령줄에 전달합니다. 예를 들면 다음과 같습니다.

    sshpass -p password mcdc discover ssh IP_ADDRESS
    

    IP_ADDRESS를 머신의 IP 주소로 바꿉니다.

  • 임베디드: 내장된 SSH 라이브러리를 사용합니다. 이 모드에서는 환경에서 기본 모드가 오작동할 때 임베디드 SSH 클라이언트를 사용할 수 있습니다. 하지만 기본적으로 로컬 SSH 구성 파일은 사용하지 않습니다. -i 플래그를 사용하여 SSH 비공개 키 파일을 지정할 수 있습니다.

SSH를 통해 데이터를 수집하려면 다음 단계를 따르세요.

  1. mcdc CLI를 호스팅하는 Linux 머신에 로그인합니다.
  2. mcdc CLI를 다운로드한 디렉터리로 변경합니다.
  3. 데이터 수집:

    ./mcdc discover ssh IP_HOSTNAME
    

    IP_HOSTNAME을 머신의 IP 호스트 이름으로 바꿉니다.

  4. mcdc CLI를 호출하는 사용자의 SSH 비공개 키 파일은 SSH 인증에 사용됩니다.

    메시지가 표시되면 Linux 머신에서 계정 사용자 이름을 입력합니다. 수집 스크립트는 이러한 사용자 인증 정보를 통해 실행됩니다. mcdc CLI를 호출하는 사용자의 SSH 비공개 키가 사용자 이름으로 머신에 인증되지 않으면 비밀번호를 입력하라는 메시지가 표시됩니다.

명령어를 수정해야 하는 시나리오는 다음과 같습니다.

  • 기본 모드로 머신 사용자를 지정하려면 -u 플래그를 사용합니다.

    ./mcdc discover ssh -u USER IP_HOSTNAME
    

    USER를 머신 사용자로 바꿉니다.

    메시지가 표시되면 사용자의 비밀번호를 입력합니다.

  • 상세 모드를 지정하려면 -v 플래그를 사용합니다.

    ./mcdc discover ssh -u USER -v IP_HOSTNAME
    
  • SSH 비공개 키 파일을 지정하려면 -i 플래그를 사용합니다. 예를 들어 .ssh/my_private_key를 지정합니다.

    ./mcdc discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME
    
  • 명령줄에서 비밀번호를 지정하려면 삽입 모드를 사용합니다.

    ./mcdc discover ssh --ssh-client embedded -u USER --passphrase PASSWORD IP_HOSTNAME
    

    삽입된 명령어 형식은 기본적으로 로컬 SSH 구성 파일을 사용하지 않으므로 명령어에서 지정한 사용자가 SSH를 통해 머신에 액세스할 수 있고 수집 스크립트를 실행하는 머신에 대한 권한이 있는지 확인합니다.

  • 삽입 모드로 SSH 비공개 키 파일을 지정하려면 -i 플래그를 사용합니다.

    ./mcdc discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME
    
  • mcdc CLI 명령어를 사용하면 대부분의 SSH 플래그를 지정할 수 있습니다. 그런 다음 -a 또는 --ssh-args 플래그를 사용하여 이러한 플래그를 ssh 명령어에 전달합니다. 예를 들어 SOCKS 프록시를 사용하려면 다음 안내를 따르세요.

    ./mcdc discover ssh -u USER \
        -a '-o' -a 'ProxyCommand=nc -X 5 -x 127.0.0.1:proxy port %h %p'
        IP_HOSTNAME
    

마이그레이션 센터에서 수집된 이러한 데이터를 온라인으로 내보내고 평가하거나 오프라인 평가를 실행할 수 있습니다.

개별 Linux 머신에서 데이터 수집

머신에서 mcdc-linux-collect.sh 게스트 수집 스크립트를 실행하여 해당 머신에 대한 데이터를 수집할 수 있습니다. 그런 다음 discover import 명령어를 실행하여 대상 머신에서 mcdc CLI를 다운로드한 머신으로 tar 파일을 다운로드하여 해당 데이터를 호스트 머신으로 가져올 수 있습니다. 일반적으로 sudo 옵션을 지정하여 스크립트를 실행합니다. 필요한 경우 mcdc CLI를 실행하는 사용자의 권한을 사용하여 스크립트를 실행할 수 있습니다. 하지만 이 스크립트는 모든 필수 데이터를 수집하지 못할 수 있습니다.

  1. 머신에 로그인합니다.
  2. 게스트 수집 스크립트를 다운로드한 디렉터리로 변경합니다.
  3. 머신에서 수집 스크립트를 실행합니다.

    sudo ./mcdc-linux-collect.sh
    

    스크립트가 mcdc-collect-MACHINE_NAME-TIMESTAMP.tar라는 tar 파일을 현재 디렉터리에 출력합니다. 타임스탬프는 YYYY-MM-DD-hh-mm 형식입니다.

    클릭하여 게스트 컬렉션 tar 파일 형식 확인

    tar 파일의 형식은 다음과 같습니다.

    collect.log # Log output of the script
     files # Directory containing files with their full path from root. For example:
       |- etc/fstab
       |- etc/hostname
       |- etc/network/interfaces
       |- ...
     commands # Output of commands run by the script:
       |- dpkg
       |- netstat
       |- ps
       |- ...
     found_paths # Text file with the list of installation directories
     machinename # Text file with machine name
     ostype # Text file with operating system type (Linux)
     timestamp # Text file with collection timestamp
     version # Text file with the version of the script
     

    선택적으로 --output 인수를 전달하고 tar 파일을 저장할 경로를 지정할 수 있습니다.

  4. 수집된 데이터를 대상 머신에서 호스트 머신으로 복사합니다.

  5. 수집된 데이터를 호스트 머신에서 가져옵니다.

    ./mcdc discover import PATH_TO_TAR
    

    PATH_TO_TAR를 tar 파일의 경로로 바꿉니다.

마이그레이션 센터에서 수집된 이러한 데이터를 온라인으로 내보내고 평가하거나 오프라인 평가를 실행할 수 있습니다.

개별 Windows 머신에서 데이터 수집

  1. 머신에 로그인합니다.
  2. 관리자 권한으로 실행 옵션을 사용하여 PowerShell을 엽니다.
  3. mcdc CLI를 다운로드한 디렉터리로 변경합니다.
  4. 머신에서 수집 스크립트를 실행합니다.

    powershell -ExecutionPolicy ByPass -File .\mcdc-windows-collect.ps1
    
  5. 스크립트는 mcdc-collect-MACHINE_NAME-TIMESTAMP.zip이라는 zip 파일을 현재 디렉터리에 출력합니다.

    선택적으로 출력 경로를 포함하여 다른 위치를 지정할 수 있습니다.

    .\mcdc-windows-collect.ps1 PATH_FOR_OUTPUT.zip
    

수집된 데이터를 내보내고 마이그레이션 센터에서 온라인으로 평가하거나 오프라인 평가를 실행할 수 있습니다.

Windows 머신에서 데이터 수집을 실행하는 동안 Linux 머신을 사용하여 오프라인 평가를 실행해야 합니다. 수집된 데이터 파일을 가져와 Linux 머신(관리자 콘솔)으로 이동해야 합니다.

다음 단계