하이퍼-V 서버 및 VM에 파일 복사하는 방법: 7가지 방법

Hyper-V는 윈도우에서 실행되는 하이퍼바이저로, 설치된 기계에서 직접 또는 원격으로 관리할 수 있습니다. 종종, 파일을 Hyper-V 서버로 복사하고 서버에서 가상 머신으로 복사해야 합니다. Hyper-V VM에 파일을 끌어다 놓을 수는 없으며 파일을 복사하기 위해 다른 방법을 사용해야 합니다.

예를 들어, Hyper-V에서 새 가상 머신을 만들 때 해당 VM에 OS를 설치해야 합니다. 일반적으로, 이는 운영 체제 미디어의 ISO 설치 이미지를 마운트하여 수행됩니다. 미디어를 Hyper-V 호스트에 가져오려면 ISO 파일을 호스트로 복사하고 새 VM에 게스트 운영 체제를 설치해야 합니다.

이 블로그 글에서는 Hyper-V 가상 머신 및 Hyper-V 서버로 파일을 복사하는 방법에 대해 6가지 방법을 제공합니다. Hyper-V 서버로 파일을 복사하는 이러한 방법은 Hyper-V 호스트에서 VM으로 파일을 복사하는 경우와 같은 다른 시나리오에서도 사용할 수 있습니다.

방법 1: Hyper-V 호스트에서 파일 공유를 사용하여 파일 복사하는 방법

이 방법은 Hyper-V 호스트에서 파일 공유를 생성하고 ISO 이미지 또는 다른 파일을 이 SMB 파일 공유에 복사하는 것을 포함합니다. SMB 프로토콜은 Windows에서 기본 공유 프로토콜이지만 리눅스 및 기타 운영 체제에서도 지원됩니다.

네트워크 연결이 설정된 경우 물리적 또는 가상 머신에서 Hyper-V 서버로 파일을 복사하는 데 이 방법을 사용할 수도 있습니다.

  1. Hyper-V를 실행하는 기계에 들어오는 SMB 연결을 허용하는 방화벽 규칙을 활성화하세요. 방화벽에서 파일 및 프린터 공유를 활성화하려면 다음 명령을 Hyper-V 호스트에서 실행하세요:

netsh advfirewall firewall set rule group=”파일 및 프린터 공유” new enable=Yes

참고: 필요한 사용자에 대한 적절한 권한으로 SMB 파일 공유를 구성하고 필요한 폴더만 공유할 수 있습니다.

  1. Windows 기계에 그래픽 사용자 인터페이스(GUI)가 있는 경우 Windows 탐색기 창의 주소 표시줄에 공유 경로를 입력하여 Hyper-V 호스트의 원격 파일 공유에 연결할 수 있습니다. 이 예에서는 모든 Windows 기계에서 기본적으로 관리 목적으로 활성화된 숨겨진 시스템 공유인 C$를 사용합니다. 마찬가지로 D$, E$ 등 다른 볼륨에도 연결할 수 있습니다.

\\10.10.10.31\c$\

참고: 데모 목적으로 파일은 디스크 C:에 저장됩니다. VM 파일, ISO 이미지, 파일 공유 및 기타 비 시스템 데이터에 대해 다른 전용 파티션을 사용하는 것이 권장됩니다.

  1. ISO 이미지를 저장할 디렉터리나 복사해야 할 다른 파일이 있는 디렉터리로 이동합니다. 아직 만들어지지 않았다면 이 디렉터리를 지금 만들 수 있습니다. 우리의 경우 Hyper-V 호스트의 ISO 파일은 C:\ISO_1\에 있으며 네트워크 경로는 \\10.10.10.31\c$\ISO_1\입니다.

명령 줄 인터페이스를 사용해야 하는 경우 다음 명령을 사용하여 SMB 파일 공유를 네트워크 드라이브로 매핑할 수 있습니다:

Net use * \\〈당신의 Hyper-V 호스트〉\d$

예를 들어,

net use S: \\10.10.10.31\d$

주의: 이 명령을 Hyper-V로 전송하려는 데이터가 있는 클라이언트 또는 서버의 CMD 또는 PowerShell에서 실행할 수 있습니다.

  1. 로컬 머신(C:\data\shared01\ 우리의 경우)에서 필요한 ISO 파일(또는 다른 파일)을 이 네트워크 경로를 사용하여 Hyper-V 호스트로 복사합니다.

  1. ISO 이미지를 서버로 복사한 후, DVD 드라이브를 이미지 파일로 지정하고 (C:) 드라이브 루트에 만든 폴더로 이동할 수 있습니다.

  1. Hyper-V 호스트로 모든 필요한 파일을 복사한 후, 보안 목적을 위해 Hyper-V 호스트의 Windows 방화벽에서 들어오는 연결을 비활성화할 수 있습니다. PowerShell 명령에서 YesNo로 변경함으로써 위에서 허용한 파일 및 프린터 공유 방화벽 규칙을 비활성화할 수 있습니다.

netsh advfirewall firewall set rule group=”File and Printer Sharing” new enable=No

방법 2: 단일 파일 공유를 사용하여 Hyper-V 서버로 파일 복사하는 방법

환경에 여러 Hyper-V 호스트가 있는 경우 각 Hyper-V 호스트에 파일 공유를 구성하고 모든 이러한 Hyper-V 호스트에 ISO 이미지를 복사하는 것은 불편할 수 있습니다. 또한 동일한 ISO 이미지에 대해 여러 호스트의 저장 공간을 사용하는 것은 합리적이지 않을 수 있습니다.

다른 서버에 파일 공유를 구성할 수 있습니다. 예를 들어 파일 서버 또는 NAS에 구성하고 필요한 ISO 이미지를 모두 저장할 수 있습니다. 파일 공유를 한 번 구성하고 Hyper-V 호스트의 액세스를 구성하고 모든 호스트에서 한 곳에 저장된 필요한 ISO 이미지를 사용합니다.

이 방법은 모든 사용되는 기계가 Active Directory 도메인의 구성원인 경우 편리합니다.

이 방법을 사용하여 Hyper-V 호스트와 가상 머신의 게스트 운영 체제 간에 파일을 전송하려는 경우 Hyper-V 설정에서 가상 스위치를 구성하고 필요한 네트워크 모드를 설정해야 합니다.

Linux 게스트 OS를 사용하는 가상 머신에 파일을 복사해야하는 경우 SMB 프로토콜을 사용하는 것 외에 다른 옵션이 있습니다. 네트워크를 통해 안전한 Hyper-V 파일 전송을 위해 SSH를 사용할 수 있습니다.

방법 3: RDP를 통한 Hyper-V 파일 전송

Windows GUI에서 실행되는 Windows 기계에서 Hyper-V 서버를 실행 중이라면 이 호스트에 RDP (원격 데스크톱 프로토콜)를 통해 연결하고 로컬 기계의 로컬 디스크를 연결하여 필요한 파일을 복사할 수 있습니다. 이를 위해 대상 서버에서 원격 데스크톱 연결을 활성화해야 합니다.

이 방법을 사용하여 Windows를 실행 중인 다른 물리적 또는 가상 머신에서 Hyper-V 서버로 파일을 복사할 수 있습니다.

  1. 원격 데스크톱 연결을 활성화하려면 시작 > 설정 > 시스템 > 원격 데스크톱으로 이동하여 원격 데스크톱을 활성화합니다.
  2. Windows 원격 데스크톱 클라이언트를 실행하려면 위치는 %windir%\system32\mstsc.exe

명령 프롬프트 또는 실행 대화 상자에 mstsc를 입력하고 Enter를 누릅니다.

  1. 원격 컴퓨터의 IP 주소 또는 호스트 이름(예: IP 주소가 10.10.10.31인 Hyper-V 호스트) 및 사용자 이름을 입력합니다. 사용자 이름은 전체 형식(도메인\사용자 또는 컴퓨터\사용자)으로 입력할 수 있습니다.

  1. 로컬 리소스 탭으로 이동하고 더 보기를 클릭합니다.

  1. 컴퓨터에서 원격 호스트(예: 원격 호스트가 Hyper-V 호스트인 경우)로 매핑하려는 로컬 리소스를 선택합니다. 드라이브를 확장하고 필요한 디스크 드라이브를 선택합니다. 필요한 파일은 우리 컴퓨터의 디스크 E:\에 있으므로 RDP 연결을 위해 디스크 E:를 선택합니다.
  2. 설정을 저장하려면 확인을 클릭한 다음 연결을 클릭합니다.

원격 데스크톱 세션이 설정되면 원격 컴퓨터의 Windows 탐색기에서 내 컴퓨터 또는 이 PC를 엽니다. 원격 데스크톱에서 로컬 컴퓨터에 매핑된 디스크 드라이브를 볼 수 있습니다(아래 스크린샷에서는 서버01-DC에 E 드라이브). 이 매핑된 드라이브에서 필요한 파일을 찾아 Hyper-V 호스트로 복사합니다.

이 방법은 VM이 네트워크에 연결된 경우에도 작동합니다.

방법 4: PowerShell CMDlet을 사용한 Hyper-V 파일 전송

PowerShell 4.0 이상에는 Hyper-V 호스트에서 가상 머신으로 파일을 복사할 수 있는 유용한 cmdlet이 있습니다. 호스트와 VM 게스트 간에 네트워크 연결이 없고 방화벽을 구성할 필요가 없습니다.

그래서 네트워크를 사용하지 않고 PowerShell에서 Hyper-V 가상 머신으로 파일을 복사하는 방법을 살펴보겠습니다.

  1. 가상 머신에서 게스트 서비스를 활성화합니다. 통합 서비스는 VM의 게스트 OS에 설치되어 있어야 합니다.

게스트 서비스는 Hyper-V 통합 서비스의 일부이지만 기본적으로 활성화되어 있지 않습니다. 게스트 서비스를 활성화하려면 VM 설정을 열고, VM 설정 창의 왼쪽 창에서 통합 서비스를 선택하고 게스트 서비스 확인란을 선택합니다.

PowerShell에서 VM에 게스트 서비스를 활성화합니다:

Enable-VMIntegrationService -VMName VM1 -Name ‘Guest Service Interface’

  1. PowerShell에서 게스트 서비스 기능이 활성화되었는지 확인할 수 있습니다:

Get-VMIntegrationService -name Guest* -VMName VM1,VM2

VM1,VM2는 VM 이름입니다

  • 상태가 연락 불가이면 VM을 업데이트하고 게스트 OS에 통합 서비스를 설치해야 합니다.
  • 상태가 False이면 필요한 게스트 서비스 인터페이스를 활성화할 수 있습니다:

Enable-VMIntegrationService -name Guest* -VMName win10preview -Passthru

  1. 하이퍼-V 파일 전송을 위해 하이퍼-V 호스트에서 VM 게스트로 소스 경로를 설정하고 VM의 대상 경로를 설정하는 명령어를 사용하십시오:

Copy-VMFile “VMName” -SourcePath “F:\Test.txt” -DestinationPath “C:\Temp\Test.txt” -CreateFullPath -FileSource Host

여기서:

  • VMname은 파일을 복사할 VM의 이름입니다 (하이퍼-V 관리자에서 VM 이름을 확인할 수 있습니다; 이는 게스트 OS에 표시된 VM의 호스트 이름이 아닙니다).
  • SourcePath는 하이퍼-V 호스트의 소스 파일 경로입니다 (복사해야 하는 파일입니다).
  • DestinationPath는 VM에 대상 파일을 복사할 경로입니다 (필요한 파일을 복사할 위치).
  • -CreateFullPath 명령어는 필요한 폴더가 없는 경우 모든 필요한 폴더를 생성하는 데 사용됩니다.

우리의 예에서 하이퍼-V 호스트에서 VM 게스트로 파일을 전송하는 정확한 PowerShell 명령은 다음과 같습니다:

Copy-VMFile “VM2” -SourcePath “C:\temp\file01.txt” -DestinationPath “C:\Temp1\file01.txt” -CreateFullPath -FileSource Host

참고: Copy-VMFile cmdlet은 하이퍼-V 호스트에서 VM으로의 방향으로만 작동합니다.

방법 5: 호스트 및 게스트에 VHDX 마운트하기

이 방법의 아이디어는 Hyper-V 호스트 및 VM에 모두 마운트할 수 있는 VHDX 가상 디스크를 생성하는 것입니다. 필요한 파일을 이 가상 디스크에 복사하고, 디스크를 필요한 기계에 마운트하고, 파일을 가상 디스크로부터 복사할 수 있습니다.

저희 예시에서는 Windows Server 2019를 사용합니다. VHDX 가상 디스크를 생성하는 것은 VM을 구성할 때 Hyper-V 관리자뿐만 아니라 컴퓨터 관리에서 가능합니다.

  1. 컴퓨터 관리 창을 엽니다. Win+R을 눌러 실행 대화 상자를 열고 compmgmt.msc 명령을 실행하여 할 수 있습니다.
  2. 컴퓨터 관리 창에서 스토리지 > 디스크 관리로 이동합니다.
  3. 디스크 관리를 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 VHD 만들기를 클릭합니다.

  1. A new window opens to create a virtual disk.
  • Hyper-V 호스트에서 가상 하드 디스크 위치를 지정합니다. 예를 들어, C:\Hyper-V\data-temp\
  • 가상 하드 디스크 크기를 설정합니다. 데모 목적으로 8-GB 가상 하드 디스크를 생성합니다.
  • 가상 하드 디스크 형식을 선택합니다. 우리는 최신 형식인 VHDX를 선택합니다. 차이점에 대해 더 알아보려면 VHD vs VHDX를 읽어보세요.
  • 가상 하드 디스크 유형을 선택합니다. 데이터로 디스크가 채워질 때까지 저장 공간을 절약하기 위해 동적으로 확장을 선택합니다.
  • 설정을 저장하고 창을 닫으려면 확인을 클릭하세요.

대신 PowerShell에서 VHDX 가상 디스크를 생성하는 명령어 예제는 다음과 같습니다:

New-VHD -Path C:\Hyper-V\data-temp.vhdx -SizeBytes 8GB -Dynamic -BlockSizeBytes 1MB

PowerShell에서 VHD 가상 디스크를 마운트하는 명령어는 다음과 같습니다:

mount-VHD -path C:\Hyper-V\data-temp.vhdx

A virtual hard disk has been created on our Hyper-V host.

  1. 디스크 관리 스냅인에서 이 VHDX 가상 하드 디스크를 마우스 오른쪽 단추로 클릭하고 Disk Management을 선택한 다음 Initialize Disk를 클릭하세요.

또는 PowerShell을 사용하려면, 모든 마운트된 디스크를 나열하여 초기화 전 필요한 가상 디스크의 번호를 식별하세요:

Get-Disk

  1. 디스크가 자동으로 선택됩니다. 파티션 스타일을 선택하세요. 우리는 MBR (Master Boot Record)을 사용하여 더 나은 호환성을 제공합니다. 확인을 클릭하세요.

PowerShell을 사용하는 경우 가상 디스크 및 파티션 스타일의 번호를 포함하는 명령어는 다음과 같습니다:

Initialize-Disk 1 -PartitionStyle MBR

  1. Hyper-V 호스트에서 초기화된 가상 디스크에 새 볼륨(파티션)을 생성합니다. 이 파티션은 Windows VM(또는 NTFS 파일 시스템과 작동할 수 있는 Linux)에서도 볼 수 있습니다.

8GB 볼륨을 마우스 오른쪽 단추로 클릭하고 컨텍스트 메뉴에서 New Simple Volume을 클릭하세요.

  1. 새 볼륨 마법사가 열립니다. 다음을 클릭하십시오.
  2. 볼륨 크기를 지정하십시오. 이 볼륨에는 전체 디스크 크기를 사용하십시오.

  1. 드라이브 문자를 할당하십시오. 예를 들어, H:를 입력하십시오.

  1. 파티션을 포맷하십시오. NTFS 파일 시스템을 선택하고, 기본 할당 단위 크기를 유지하고 볼륨 레이블을 입력하십시오 (예: 파일-복사). 빠른 형식 확인란을 선택하십시오.

또는 PowerShell 명령을 사용하여 볼륨을 생성하고 포맷할 수 있습니다:

New-Partition -DiskNumber 1 -UseMaximumsize -AssignDriveLetter

Format-Volume -DriveLetter H -FileSystem NTFS -Full -Force

  1. 마법사를 완료하면 Hyper-V 호스트 머신의 Windows 탐색기에서 마운트된 가상 디스크를 볼 수 있어야 합니다.
  2. 가상 디스크에 필요한 파일을 복사하십시오. 아래 스크린샷에 표시된 대로 file01.txt를 복사합니다.

  1. 필요한 파일을 모두 가상 디스크로 복사한 후에는 Hyper-V 호스트에서 가상 디스크를 마운트 해제해야 합니다.

VHDX 가상 디스크에서 마운트된 적절한 파티션을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 방출을 클릭하십시오.

또는 PowerShell에서 호스트 머신에서 가상 디스크를 마운트 해제하는 명령:

dismount-VHD -path C:\Hyper-V\data-temp.vhdx

  1. 이렇게 Hyper-V 파일 전송을 위해 생성된 가상 디스크를 Hyper-V 호스트와 게스트 간에 마운트할 수 있습니다. 가상 머신에 쓰여진 파일이 있는 가상 디스크를 마운트해 봅시다.
  1. 필요한 VM을 선택하고 Hyper-V 관리자에서 VM 설정을 엽니다.
  2. VM 설정 창의 왼쪽 창에서 필요한 가상 디스크 컨트롤러를 선택합니다.
  3. 하드 드라이브를 선택하고 추가를 클릭합니다.

  1. 가상 하드 디스크를 선택하고 기존 가상 하드 디스크를 VM에 추가하려면 찾아보기를 클릭합니다.
  2. VHDX 경로를 지정합니다. 우리의 경우, 경로는 C:\Hyper-V\data-temp.vhdx입니다.
  3. 설정을 저장하려면 확인을 누릅니다.

또는 기존 가상 하드 디스크를 Hyper-V VM 구성에 추가하는 PowerShell 명령어는 다음과 같습니다:

Add-VMHardDiskDrive -VMName VM2 -Path C:\Hyper-V\data-temp.vhdx

  1. 첨부된 가상 디스크가 있는 상태에서 Hyper-V 호스트에서 가상 머신을 시작합니다.
  2. 게스트 운영 체제에 로그인하고 가상 디스크에 있는 볼륨이 자동으로 마운트되었는지 확인합니다. 그렇지 않으면 컴퓨터 관리 > 디스크 관리로 이동하여 Hyper-V 호스트에서 VM으로 전송해야 하는 파일이 있는 볼륨에 디스크 문자를 할당합니다.
  3. 첨부된 가상 디스크에서 필요한 파일을 가상 머신으로 복사합니다.

방법 6: 향상된 세션 모드로 VMConnect

VMConnect, 또는 Virtual Machine Connection,는 가상 머신을 관리하기 위한 내장된 Hyper-V 도구입니다. VM에 대한 모니터 역할을 하는 화면은 VMConnect 도구의 일부로, 키보드와 마우스를 사용하여 탐색하는 방법을 볼 수 있습니다. 강화된 세션 모드로 VMConnect를 사용하면 더 편리하고 더 많은 기능을 제공합니다.

강화된 세션 모드를 사용하면 VM에 연결할 때 화면 해상도를 사용자 지정하고 Hyper-V Manager를 실행하는 호스트의 로컬 리소스를 VM을 관리하는 데 사용할 수 있습니다. 로컬 리소스는 원격 호스트나 VM에 액세스하는 데 원격 데스크톱 연결을 사용할 때와 유사한 방식으로 연결됩니다.

다음을 사용하여 강화된 세션 모드를 사용하도록 설정하세요.

  1. Hyper-V Manager에서 Hyper-V 호스트의 이름을 마우스 오른쪽 버튼으로 클릭하고 상황에 맞는 메뉴에서 Hyper-V 설정을 클릭하세요.
  2. 왼쪽 패널에서 강화된 세션 모드를 클릭하세요.
  3. 강화된 세션 모드 사용 확인란을 선택하세요.

또는 PowerShell에서 강화된 세션 모드를 사용하도록 설정할 수 있습니다.

Set-VMHost -EnableEnhancedSessionMode $True

다음과 같이 강화된 세션 모드가 사용하도록 설정되어 게스트 VM과 Hyper-V 서버에서 이것에 대한 구성이 완료되면 VM을 시작하고 VMConnect를 사용하여 이 VM에 연결할 수 있습니다.

다음과 같이 강화된 세션 모드가 사용하도록 설정되면 해상도를 선택하는 창이 표시되어야 합니다. 이 창에서 옵션 표시를 클릭하세요.

다음과 같이 로컬 리소스 탭을 선택하세요. 로컬 장치 및 리소스 섹션에서 더 보기를 클릭하세요.

Hyper-V 호스트에서 사용 가능한 디스크를 선택하여 VM에 연결하려면.

방법 7: ISO 이미지 사용한 Hyper-V 파일 전송

하이퍼-V 가상 머신으로 파일을 복사하는 방법 중 하나는 VHDX 가상 디스크를 사용하는 것과 유사합니다. 그러나 이 방법은 한 방향으로만 작동하며(하이퍼-V 파일을 VM으로 복사함), VM에서 파일에 대한 액세스는 읽기 전용입니다.

CD/DVD 이미지 파일인 ISO 파일을 편집하고 작성할 수 있는 응용 프로그램이 있다면, 필요한 파일을 Hyper-V 호스트에 있는 ISO 이미지에 기록하고 이 ISO 이미지를 VM에 가상 DVD 미디어로 삽입할 수 있습니다.

부팅 가능한 ISO 이미지를 가상 머신에 복사해야 하는 경우(예: 중첩 가상화 테스트 시), 새로운 빈 부팅할 수 없는 ISO 이미지 파일을 만들고 해당 이미지에 부팅 가능한 ISO 이미지 파일을 추가해야 합니다. 그런 다음 부팅 가능한 ISO 이미지를 외부 ISO 파일에서 VM의 가상 DVD 드라이브로 복사할 수 있습니다.

결론

Hyper-V 서버에 파일을 복사하는 데 사용하는 방법에 상관없이, 백업 목적으로 사용하는 것은 권장되지 않습니다. 이러한 방법은 전문 Hyper-V 백업 솔루션만큼 효율적이고 안정적이지 않습니다. 오늘날의 Hyper-V VM 백업 솔루션인 NAKIVO Backup & Replication과 같은 솔루션은 호스트 수준 백업을 생성하여 데이터 복구가 쉽고 빠르며 작은 백업 파일을 만듭니다.

Source:
https://www.nakivo.com/blog/copy-files-to-hyper-v-server/