게스트 검색 실행

이 문서에서는 mcdc CLI에서 제공하는 다양한 게스트 검색 메서드를 실행하는 단계를 설명합니다.

개요

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

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

mcdc CLI를 호스팅하는 머신은 대상 머신에 스크립트를 업로드하고 실행한 후 결과를 다운로드합니다. 스크립트를 대상 머신에서 로컬로 실행하거나 원격으로 실행할 수 있습니다. 인프라에 따라 다음과 같은 방법으로 mcdc CLI를 사용할 수 있습니다.

  • VMware에 배포된 Linux 및 Windows VM의 경우 mcdc CLI는 discover vsphere 명령어를 사용하여 원격 실행을 지원합니다.
  • mcdc CLI에서 액세스할 수 있는 Linux 머신의 경우 discover ssh 명령어로 SSH를 사용하여 원격 검색을 수행할 수 있습니다.
  • mcdc CLI로 액세스할 수 있는 Windows 머신의 경우 discover wmi 명령어로 Windows Management Instrumentation(WMI)을 사용하여 원격 검색을 수행할 수 있습니다.
  • mcdc CLI에 연결되지 않은 Linux 및 Windows 머신의 경우 게스트 수집 스크립트를 로컬로 다운로드 및 실행한 후 수집된 데이터를 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. 게스트 검색 실행:

    Linux

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

    Windows

    mcdc.exe 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. 게스트 검색 실행:

    Linux

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

    Windows

    mcdc.exe 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으로 지정할 수도 있습니다.

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

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

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

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

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

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

지원되는 SSH 모드

Linux 머신에서 mcdc CLI를 사용하는 경우 다음 두 가지 모드를 사용하여 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 비공개 키 파일을 지정할 수 있습니다.

Windows 머신에서 mcdc CLI를 사용하는 경우 임베디드 모드만 지원됩니다.

컬렉션 실행

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

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

    Linux

    ./mcdc discover ssh IP_HOSTNAME

    Windows

    mcdc.exe discover ssh IP_HOSTNAME

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

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

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

SSH 사용 시 추가 시나리오

명령어를 수정해야 하는 다음 시나리오를 참조하세요.

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

    Linux

    ./mcdc discover ssh -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER IP_HOSTNAME

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

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

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

    Linux

    ./mcdc discover ssh -u USER -v IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -u USER -v IP_HOSTNAME

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

    Linux

    ./mcdc discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME

    Windows

    mcdc.exe discover ssh -i ~/.ssh/my_private_key -u USER IP_HOSTNAME

  • 명령줄에서 비밀번호를 지정하려면 임베디드 모드를 사용합니다.

    Linux

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

    Windows

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

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

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

    Linux

    ./mcdc discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME

    Windows

    mcdc.exe discover ssh --ssh-client embedded -i ~/.ssh/id_rsa -u USER --password PASSWORD IP_HOSTNAME

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

    Linux

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

    Windows

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

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

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

WMI 지원이 있는 대상 Windows 머신에서 게스트 검색을 실행하려면 mcdc CLI를 호스팅하는 Windows 머신에서 mcdc discover wmi 명령어를 사용하면 됩니다. WMI 수집은 mcdc CLI의 Windows 버전에서만 지원됩니다.

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

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

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

WMI를 통해 데이터를 수집하려면 다음 단계를 수행합니다.

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

    mcdc.exe discover wmi IP_HOSTNAME
    

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

  4. 메시지가 표시되면 사용자 인증 정보를 입력합니다.

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

Linux 머신에서 로컬로 게스트 수집을 수행하려면 mcdc-linux-collect.sh 스크립트를 실행할 수 있습니다. 그런 다음 스크립트에서 생성된 tar 파일을 mcdc CLI를 호스팅하는 머신에 스크립트하고 discover import 명령어를 사용하여 가져올 수 있습니다.

일반적으로 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. 수집된 데이터를 호스트 머신에서 가져옵니다.

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

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

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

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

Windows 머신에서 로컬로 게스트 수집을 수행하려면 mcdc-windows-collect.ps1 스크립트를 실행하면 됩니다. 그런 다음 스크립트에서 생성된 zip 파일을 mcdc CLI를 호스팅하는 머신에 스크립트하고 discover import 명령어를 사용하여 가져올 수 있습니다.

  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
    
  6. 수집된 데이터를 호스트 머신에서 가져옵니다.

    Linux

    ./mcdc discover import PATH_TO_TAR

    Windows

    mcdc.exe discover import PATH_TO_TAR

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

수집된 데이터를 내보내 Migration Center에서 온라인으로 평가하거나 오프라인 평가를 실행할 수 있습니다.

다음 단계