가상 머신은 유연성, 자원의 합리적인 사용 및 격리된 환경에서 실행되는 등 여러 가지 이점을 제공합니다. 가상 환경에서의 일반적인 작업 중 하나는 VM과 호스트 간 파일을 복사하는 것입니다. 호스트로부터 가상 머신으로 파일을 복사하는 방법, VM에서 호스트로 파일을 전송하는 방법, 그리고 VM 간 파일을 복사하는 방법을 배우려면 읽어보세요.
환경의 구성 요소
용어를 살펴보며 시작해 봅시다:
- A host is a physical machine on which a hypervisor is installed.
- A hypervisor is virtualization software to run virtual machines on the host. There are two types of hypervisors:
- 유형 1: 호스트 머신인 ESXi 서버 사용
- 유형 2: VMware Workstation 사용, 이 경우 Windows 및 Linux가 호스트 머신의 OS가 될 수 있음
VM에서 호스트로 파일을 전송하는 방법을 설명하는 데 사용된 환경은 다음 구성 요소로 구성됩니다:
- ESXi 호스트 1: 192.168.101.201
- ESXi 호스트 2: 192.168.101.202
- Ubuntu Linux 머신: 192.168.101.210
- VMware Workstation이 설치된 Windows 호스트
- 네트워크: 192.168.101.0/24
- ESXi VM 및 VMware Workstation VM이 동일한 네트워크에 연결됨
VM과 호스트 간 파일을 복사하는 데 다음 기술을 사용합니다:
- 공유 폴더
- 공유 클립보드 및 드래그 앤 드롭
- USB 저장 장치
- PowerCLI
- SSH 및 SCP
- NFS 공유
- VMware 웹 인터페이스에서 파일 다운로드/업로드
- ISO 파일
공유 폴더 사용하여 VM 파일을 호스트로 전송
공유 폴더는 VMware Workstation의 편리한 기능으로, VMware Workstation이 설치된 Windows 또는 Linux 물리 호스트와 VMware Workstation에서 실행되는 VM 간에 파일을 전송하는 데 사용됩니다. macOS의 경우 VMware Fusion은 VMware Workstation의 동등물이며 유사한 기능을 지원합니다.
이제 VMware 공유 폴더를 사용하여 VM에서 호스트로 파일을 전송하는 단계를 살펴보겠습니다.
참고:이 기능을 사용하려면 VM에 VMware Tools가 설치되어 있어야 합니다. 호스트와 VM 간의 데이터는 네트워크를 사용하지 않고 호스트와 게스트 OS 간의 VMware Tools를 통한 상호 작용을 통해 전송됩니다.
- VMware 파일 공유를 구성하려는 VM을 선택하십시오. 여기서는 Windows VM 중 하나를 선택합니다.
- VMware Workstation GUI에서 VM > 설정 (가상 머신 설정 편집)을 클릭하십시오.
- 가상 머신 설정 창에서 옵션 탭을 선택하고 공유 폴더를 클릭하십시오. 폴더 공유 섹션에서 항상 사용을 선택하십시오. 선택적으로, 더 편리하게 Windows 게스트에서 공유 폴더를 네트워크 드라이브로 매핑할 수 있도록 확인란을 선택할 수 있습니다.
- 추가를 클릭하여 공유 폴더로 사용할 폴더를 선택하십시오.
- 호스트에서 공유할 폴더의 경로를 입력하거나 찾아보기를 클릭하여 필요한 폴더를 선택하십시오. 선택한 폴더는 C:\temp\share-VM
공유 폴더의 이름을 입력하십시오. 예를 들어, share-VM
다음을 클릭하십시오.
- 이 공유 활성화를 선택하십시오. VM이 읽기 전용 모드에서 공유 폴더에 액세스하려면 읽기 전용 확인란을 선택하십시오. 완료를 클릭하십시오.
- 새로운 공유 폴더가 이제 옵션 탭의 공유 폴더 목록에 표시됩니다. 해당 파일 이름 옆에 대응하는 확인란이 선택되어 있으면 공유 폴더가 활성화됩니다.
설정을 저장하려면 확인을 클릭하세요.
- 공유 폴더를 사용하여 Windows VM의 사용자 인터페이스를 엽니다.공유 폴더 기능으로 폴더를 공유합니다.
- 네트워크 (내 네트워크 위치)를 내 컴퓨터 (이 PC)나 Windows 탐색기에서 클릭하여 네트워크에서 사용 가능한 컴퓨터를 확인하세요.
- 공유 폴더가 구성된 컴퓨터 이름으로 vmware-host를 선택하세요. 이 이름은 기본적으로 설정되며 공유 폴더가 있는 물리적인 컴퓨터(호스트)에 매핑됩니다.
- 공유 폴더를 클릭하고 필요한 공유 폴더(share-VM)를 선택하세요. 우리의 경우 공유 폴더의 전체 경로는 다음과 같습니다.
\\vmware-host\Shared Folders\share-VM\
가상 머신에서 호스트로 파일을 복사하거나 가상 머신에서 호스트로 파일을 복사할 수 있습니다. 예시에서는 VMware Workstation에서 VMware 파일 공유를 사용하여 Windows 호스트에서 Windows 게스트로 Test01.txt를 복사했습니다.
Linux 게스트의 경우 아래 명령을 사용하여 모든 VMware 공유 폴더를 마운트할 수 있습니다:
- 커널 버전이 4.0 이전인 Linux에서:
mount -t vmhgfs .host:/ /home/user1/shares
- 커널 버전이 4.0 이상인 Linux에서:
/usr/bin/vmhgfs-fuse .host:/ /home/user1/shares -o subtype=vmhgfs-fuse,allow_other
VM 재부팅 후 공유 폴더를 마운트된 상태로 유지하려면, /etc/fstab에 주석과 구성과 함께 적절한 줄을 추가하십시오. 예를 들어:
# VMware 공유 폴더를 통한 VMWare 게스트와 호스트 간 파일 전송
.host:/ /mnt/hgfs/ fuse.vmhgfs-fuse defaults,allow_other,uid=1000 0 0
다음 섹션으로 넘어가기 전에, 공유 폴더 기능은 VMware Workstation(및 macOS의 VMware Fusion)에서만 사용할 수 있으며, ESXi 호스트에서 실행되는 VM에는 사용할 수 없습니다. ESXi 호스트의 경우 폴더를 수동으로 공유하고 Windows 기계 간에 파일을 복사하기 위해 네트워크를 사용할 수 있습니다. VM에서 ESXi 호스트로 파일을 복사하려면 추가 도구를 사용하거나 수동으로 공유된 폴더에서 파일을 복사하는 방법 중 하나를 사용해야 합니다.
Windows 10에서 폴더 공유 및 Windows Server 2019에서 다른 방법도 있습니다. 또한 SMB 파일 공유 프로토콜에 대해 자세히 알아볼 수 있습니다.
관리 권한이 있는 Windows 계정과 보안 정책이 기본적으로 제공되는 숨겨진 관리 공유에 액세스를 허용하는 경우 다음과 같이 공유 경로를 사용하여 Windows 기계의 로컬 디스크에 있는 파일에 액세스할 수 있습니다:
\\IP-주소\c$
여기서:
IP-주소는 원격 Windows 기계의 IP 주소 또는 호스트 이름입니다.
C$ is the needed disk drive letter on a remote Windows machine which is a hidden system share.
호스트에서 VM으로 파일 전송을 위한 공유 클립보드 사용
공유 클립보드는 VMware Workstation이 설치된 호스트 머신으로 가상 머신에서 전체 파일과 텍스트와 같은 내용을 복사하여 붙여넣을 수 있는 기능입니다. 이 프로세스는 Windows나 Linux의 GUI에서 서로 다른 응용 프로그램 창 간에 내용을 복사하여 붙여넣는 것과 유사합니다.
모든 기능은 VMware Workstation에서 사용할 수 있으며, 호스트 머신에서 가상 머신으로 파일을 전송하거나 VM에서 호스트로 파일을 전송할 수 있습니다. 복사 붙여넣기 대신 파일을 끌어다 놓을 수도 있습니다.
VMware Workstation의 공유 클립보드
공유 클립보드 및 드래그 앤 드롭을 사용하여 VMware Workstation VM으로 파일을 전송하는 방법을 살펴보겠습니다. 이 예에서는 Windows 호스트에 VMware Workstation이 설치되어 있습니다.
- VM이 나열된 왼쪽 창에서 VM을 선택하십시오.
- 가상 머신 설정 편집을 클릭하십시오(VM > 설정).
- 옵션 탭을 선택하고 게스트 격리를 클릭하세요.
두 개의 체크박스를 선택하세요:
- 드래그 앤 드롭 사용
- 복사 앤 붙여넣기 사용
확인을 클릭하여 설정을 저장하고 창을 닫으세요.
VMware ESXi의 공유 클립보드
VMware ESXi에서 실행 중인 VM의 경우, 게스트 VM과 다른 기기 간에 파일을 드래그 앤 드롭이나 공유 클립보드를 통해 복사할 수 없습니다. ESXi 호스트에서 실행 중인 VM과 로컬 기기(VMware Workstation 또는 VMware Remote Console가 설치된 기기) 간에 텍스트를 복사 붙여넣기 할 수 있는 유일한 방법입니다. 보안상의 이유로 파일의 복사 붙여넣기와 드래그 앤 드롭은 지원되지 않습니다.
그러나 구성 파일을 복사할 수 없는 경우, 공유 클립보드를 사용하여 파일의 텍스트 내용을 복사할 수 있습니다. 기본적으로 ESXi VM 구성에서 공유 클립보드는 비활성화되어 있습니다. ESXi 호스트에서 텍스트 데이터를 복사 붙여넣기하기 위해 공유 클립보드를 활성화하려면 다음을 수행하세요.
- 가상 머신 구성을 편집할 때 가상 머신을 전원을 끄어야 합니다. 가상 머신이 실행 중인 경우 가상 머신을 종료하세요.
- VM 설정을 엽니다. VMware 호스트 클라이언트 및 VMware vSphere 클라이언트를 사용할 수 있습니다. 가상 머신을 선택하고 가상 머신 설정 편집을 클릭한 다음 VM 옵션 탭을 선택합니다.
고급 설정 섹션을 확장하고 구성 편집을 클릭합니다.
- 가상 머신 구성(VM 구성 VMX 파일에 작성된)에 세 개의 구성 매개변수를 추가해야 합니다. 매개변수 추가를 클릭합니다.
- 다음 세 매개변수를 추가합니다:
isolation.tools.copy.disable FALSE
isolation.tools.paste.disable FALSE
isolation.tools.setGUIOptions.enable TRUE
- 확인을 클릭하고 설정을 저장하세요.
대안으로, ESXi 데이터스토어의 VM 디렉토리에 위치한 VM 구성을 수동으로 편집할 수 있습니다.
- 로컬로 또는 SSH를 통해 ESXi 셸에 로그인하세요.
- VM 파일이 저장된 디렉토리(데이터스토어에 있는 VM 파일이 저장된 디렉토리)로 이동하세요. 이 경우, 다음 디렉토리로 이동합니다:
cd /vmfs/volumes/datastore10a/Windows-VM/
- VMX 구성 파일을 편집하세요. 이 경우, 파일은 Windows-VM.vmx입니다.
vi Windows-VM.vmx
- 위의 세 가지 매개변수를 이 구성 파일 끝에 추가하세요.
- 변경 사항을 저장하고 파일을 닫으세요 (텍스트 편집기를 종료하세요).
이제 VMware 원격 콘솔과 VMware Workstation을 사용하여 로컬 머신과 ESXi 호스트에서 실행되는 원격 VM 간에 텍스트를 복사하여 붙여넣을 수 있습니다.
USB 저장 장치 사용
VMware ESXi 및 VMware Workstation은 USB 통과 기능을 지원하여 호스트 머신에 USB 장치를 삽입하고 이 USB 장치를 해당 호스트에서 실행 중인 가상 머신에 연결할 수 있게 합니다. 호스트 머신과 가상 머신 간에 파일을 양방향으로 복사하기 위해 호스트 머신에 USB 저장 장치를 연속적으로 연결할 수 있습니다.
참고: USB 통과 기능을 사용하려면 VM 게스트 운영 체제(OS)에 VMware Tools를 설치해야 합니다.
VMware Workstation VM과 호스트 간 파일 복사
Windows 및 Linux 호스트에 설치된 VMware Workstation에서 VM에서 호스트로 파일을 전송하려면 다음을 수행하십시오 (인터페이스가 통일됨):
- 가상 머신을 전원을 켭니다.
- 호스트 머신인 물리적 컴퓨터에 USB 저장 장치(USB HDD 또는 USB 플래시 드라이브와 같은)를 삽입합니다.
- 새로운 USB 장치가 감지되었습니다창이 VMware Workstation에서 열립니다. USB 장치를 연결할 위치를 선택하세요:
- 호스트에 연결
- 가상 머신에 연결
두 번째 옵션을 선택하여 USB 플래시 드라이브를 가상 머신에 연결합시다. 이 예제에서는 Windows VM을 실행하고 있습니다. VMware Workstation에서 여러 개의 VM이 실행 중인 경우 필요한 VM을 목록에서 선택해야 합니다. USB 장치는 한 번에 한 VM에만 연결할 수 있습니다. 진행하려면 확인을 클릭하세요.
USB 저장 장치가 이미 VMware Workstation이 설치된 물리적 호스트 머신의 USB 포트에 삽입되어 있는 경우 USB 통과 옵션을 가진 팝업 창이 자동으로 표시되지 않습니다. 메뉴에서 VM에 USB 장치를 연결하거나(호스트에서 분리)할 수 있습니다:
VM > 이동 가능한 장치 > USB 저장 장치 이름 > 연결 (호스트에서 분리).
이 예제에서 USB 플래시 드라이브의 이름은 Kingston DataTraveler 2.0입니다.
- 이제 USB 플래시 드라이브가 내 컴퓨터(Windows 탐색기)의 디스크 드라이브 목록에 연결된 Windows 7 VM에서 볼 수 있습니다. USB 저장 장치를 확인하려면:
- 내 컴퓨터를 마우스 오른쪽 버튼으로 클릭한 다음 관리를 선택하세요.
- 컴퓨터 관리>디바이스 관리자 및 적절한 스냅인에서 마우스 오른쪽 버튼을 클릭한 후 컴퓨터 관리>디스크 관리로 이동하세요.
드라이브 문자가 자동으로 할당되지 않은 경우 디스크 관리 스냅인에서 문자를 수동으로 할당하세요.
Linux 게스트의 작업 흐름은 동일합니다. 일부 Linux 배포판에서는 Linux 운영 체제에서 연결된 USB 저장 장치를 플래시 드라이브와 같이 수동으로 마운트해야 할 수 있습니다.
- USB 저장 장치가 VM에 마운트되고 게스트 OS에서 인식되면 VM에서 필요한 파일을 USB 저장 장치로 복사하십시오. USB 저장 장치에서 VM으로 파일을 복사하는 것도 가능합니다.
- VM에서 USB 플래시 드라이브로 필요한 모든 파일을 복사한 후, USB 플래시 드라이브를 VM에서 분리하고 이 USB 장치를 호스트에 연결하십시오:
VM > 이동 가능한 장치 > USB 저장 장치 이름 > 분리 (호스트에 연결).
- A USB storage device is now connected to a host machine (a Windows machine on which VMware Workstation is running in our case). We can transfer the files that were copied from the VM to the USB flash drive to your host machine.
VMware Workstation에서 ESXi VM으로 USB 통과
ESXi 서버에 삽입된 USB 플래시 드라이브를 사용하여 로컬 Windows 또는 Linux 머신 (VMware Workstation 또는 VMware Remote Console (VMRC)가 설치된)을 사용하여 원격으로 ESXi 호스트를 관리하는 동안이 USB 플래시 드라이브를 ESXi VM에 연결할 수 있습니다. 첫 번째 경우, 호스트 연결 USB 통과를 사용하고 두 번째 경우, 클라이언트 연결 USB 통과를 사용합니다.
우리의 로컬 물리적 Windows 10 머신에 삽입된 USB 플래시 드라이브를 ESXi 호스트 v7.0에서 실행되는 Windows XP VM에 연결해 봅시다 (클라이언트 연결 USB 통과 기능 사용). VMware Workstation이 우리의 물리적 Windows 머신에 설치되어 있으며 네트워크를 통해 ESXi 호스트에 연결되어 있습니다 (192.168.101.0/24).
이를 수행하려면:
- A VM must be powered off to edit the VM settings.
- VM의 가상 하드웨어 목록에 USB 컨트롤러가 있는지 확인하십시오. VMware Host Client에서 VM 구성을 확인할 수 있습니다. VM을 선택하십시오 (우리의 경우 Windows-VM), 설정 편집을 클릭하고 가상 하드웨어 탭을 선택하십시오.
- 로컬(물리적) Windows 10 기기에 설치된 VMware Workstation으로 돌아가세요. VMware Workstation에서 원격 ESXi 호스트에 연결하려면 파일 > 서버에 연결을 클릭하세요.
- ESXi 서버 이름 또는 IP 주소, 사용자 이름, 비밀번호를 입력하세요. 연결을 클릭하세요.
- VMware Workstation의 왼쪽 창에서 원격 호스트, 해당 호스트의 원격 VM, 로컬 VMware Workstation VM이 표시되는 ESXi 호스트를 확장하세요.
- 원격 ESXi 호스트에서 실행 중인 VM을 선택하세요. 우리는 Windows-VM을 선택했으며, 이는 192.168.101.201에서 실행 중입니다. 그 후에 선택한 VM의 게스트 OS 사용자 인터페이스를 볼 수 있습니다.
- 클릭 VM > 이동 가능한 장치 > USB 저장 장치 이름 > 연결 (호스트에서 연결 해제).
VMware Workstation이 설치된 물리적 Windows 기계에 연결된 USB 장치를 선택했음을 주의하십시오. 이 USB 장치는 원격으로 연결한 물리적 ESXi 호스트에 연결된 장치가 아닙니다.
- 이제 원격 ESXi 호스트에서 실행 중인 Windows XP VM에 연결된 USB 플래시 드라이브를 볼 수 있습니다: 시작 > CMD > compmgmt.msc > 장치 관리자.
- 연결된 USB 플래시 드라이브의 파티션에 드라이브 문자가 할당되지 않았다면 드라이브 문자를 할당합니다. VM과 USB 플래시 드라이브 사이에서 필요한 파일을 복사하세요. VM에 파일을 전송하거나 VM에서 파일을 전송할 수 있습니다.
- 파일 복사를 완료한 후, USB 스토리지 장치를 VM에서 분리하고 VMware Workstation이 실행 중인 로컬 물리적 Windows 10 머신에 다시 연결할 수 있습니다. VMware Workstation GUI에서 VM을 클릭한 다음 Removable Devices를 선택하고 Your USB Storage Device Name를 선택한 후 Disconnect (Connect to host)를 클릭하세요.
ESXi에서 USB 플래시 드라이브 연결
이 방법은 예를 들어 ESXi 호스트의 네트워크 드라이버를 업데이트해야 하지만 네트워크를 사용할 수 없는 경우와 같은 경우에 매우 유용합니다. ESXi에 USB 플래시 드라이브를 연결하는 것은 VMware Workstation을 실행하는 호스트 머신에 연결하는 것보다 더 복잡합니다.
ESXi에서 마운트할 수 있는 지원되는 파일 시스템에 대한 제한 사항이 있습니다. FAT32 및 NTFS 파일 시스템이 있는 USB 플래시 드라이브 또는 USB HDD는 지원되지 않습니다. 이러한 이유로 USB 플래시 드라이브에 파티션을 만들고 이 파티션을 VFAT으로 포맷해야 합니다(Windows에서 FAT12로 인식됨). VFAT에는 최대 파티션 크기 및 최대 파일 크기와 같은 제한 사항이 있습니다. 따라서 이 방법은 가상 디스크 또는 4GB 이상인 ISO 이미지와 같은 대형 파일에는 적용되지 않습니다. 그러나 이러한 제한은 설정 파일, 드라이버 등을 전송하는 데 충분합니다.
USB 플래시 드라이브에 파티션 만들기
먼저 ESXi 서버에 삽입된 USB 플래시 드라이브를 VM에 연결하여 이 드라이브에 새로운 파티션을 만들고 이 파티션을 VFAT으로 포맷할 수 있습니다(호스트 연결 USB 패스스루 기능 사용). 또는 USB 플래시 드라이브를 물리적 Windows 또는 Linux 기계에 삽입할 수 있습니다.
이 예제에서는 ESXi용 USB 플래시 드라이브를 준비하기 위해 Windows 7 기계를 사용합니다. Windows Server 2008R2, Windows 10 및 다른 최신 Windows 버전에 대한 명령어는 동일합니다.
- Windows 기계에 USB 플래시 드라이브가 연결되어 있는지 확인하려면 내 컴퓨터 또는 이 PC(또는 CMD에서 diskmgmt.msc를 실행)를 마우스 오른쪽 버튼으로 클릭하여 디스크 관리를 엽니다.
- Windows 명령줄을 엽니다:
시작 > 실행 > cmd
diskpart
를 명령줄에 입력하고 Enter를 누릅니다.디스크파트 프롬프트가 표시됩니다:
디스크파트
- Windows 기기에 연결된 디스크를 나열합니다:
list disk
출력 목록에서 USB 플래시 드라이브를 찾고 디스크 번호를 기억합니다. 저희 경우에는 디스크 1이 USB 플래시 드라이브의 번호입니다 (아래 스크린샷을 참조하세요).
- 위 명령의 출력에서 얻은 적절한 디스크 번호를 정의하여 USB 플래시 드라이브를 선택합니다 (저희 경우에는 디스크 1).
select disk 1
- 선택한 USB 플래시 드라이브의 파티션 목록:
파티션 목록
USB 플래시 드라이브에 하나의 파티션(파티션 1)이 있습니다(아래 스크린샷 참조). USB 플래시 드라이브에 하나의 파티션을 가지는 것이 가장 일반적입니다.
다음으로, USB 플래시 드라이브의 파티션을 삭제해야 합니다.
중요: USB 플래시 드라이브의 모든 데이터가 삭제됩니다. 다음 단계로 진행하기 전에 필요한 경우 플래시 드라이브에서 데이터를 복사할 수 있습니다.
- 삭제할 USB 플래시 드라이브의 파티션을 선택하십시오:
파티션 1 선택
- 선택한 파티션을 삭제하려면 명령을 실행하십시오:
파티션 삭제
-
디스크 선택 1
- VFAT 파일 시스템으로 새로운 파티션을 생성합니다. 이 예제에서는 USB 플래시 드라이브에 4GB 파티션을 생성합니다. VFAT에서는 4GB보다 큰 파일을 저장할 수 없음을 유의하십시오. 또한 VFAT은 8.3 파일 이름 형식만 지원합니다.
파티션 생성 primary size=4000 id=6
- ESXi와 호환되도록 생성된 파티션을 다음과 같이 포맷합니다:
포맷 fs=fat quick
- 디스크파트 유틸리티를 종료합니다 (exit 명령을 실행합니다).
A USB flash drive is ready to be recognized by ESXi and copy files. After some additional ESXi configuration steps, you can attach a USB flash drive to a VM and copy the needed file(s) to the USB flash drive.
드라이버가 포함된 ZIP 아카이브를 복사해야 한다고 가정해 봅시다. 예를 들어, 우리는 net-tulip.zip을 USB 플래시 드라이브에 복사했습니다. 다음으로, ESXi 서버에 삽입된 USB 플래시 드라이브의 파티션을 ESXi 명령 줄에서 마운트해야 합니다.
ESXi 호스트를 USB 플래시 드라이브 사용으로 구성
우리의 예제에서 파일 이름은 net-tulip.zip입니다. USB 플래시 드라이브에서 드라이버가 있는 ZIP 아카이브를 ESXi 데이터 스토어로 복사한 다음 ESXi 데이터 스토어에서 VM 구성 파일을 USB 플래시 드라이브로 복사해야 합니다. 파일을 VMware ESXi로 전송하려면 ESXi 호스트에서 다음을 수행하십시오. 다른 방법은 다음과 같습니다:
- 구성은 명령 줄 인터페이스에서 이루어집니다. 이러한 이유로 ESXi 호스트에서 SSH 액세스를 활성화해야 합니다.
- DCUI에서 원격 SSH 액세스를 활성화하려면 문제 해결 옵션> SSH 활성화로 이동하십시오.
- VMware Host Client의 ESXi에서 원격 SSH 액세스 및 SSH 서버를 활성화하려면 호스트> 관리로 이동한 다음 서비스 탭을 선택하십시오. TSM-SSH를 마우스 오른쪽 버튼으로 클릭하고 서비스를 시작하려면 시작을 클릭하십시오. 이 서비스를 영구적으로 활성화할 수 있습니다.
- 명령 줄을 사용하여 ESXi 호스트에 SSH로 연결하십시오. 좋아하는 SSH 클라이언트를 사용할 수 있습니다.
- USB Arbitrator 서비스를 중지하려면:
/etc/init.d/usbarbitrator stop
USB Arbitrator는 ESXi 호스트에 상주하는 가상 머신에 대한 USB 통과 기능을 자동으로 활성화합니다 (이 기능을 사용하려면 해당 가상 머신의 VM 설정에서 USB 플래시 드라이브를 선택하기만 하면 됩니다).
- ESXi 재부팅 후 (영구적으로) USB Arbitrator 서비스를 비활성화하려면 다음 명령을 사용할 수 있습니다:
chkconfig usbarbitrator off
USB Arbitrator 서비스를 활성화하려면 적절한 명령을 사용하십시오:
/etc/init.d/usbarbitrator start
chkconfig usbarbitrator on
- ESXi 호스트에 연결된 USB 장치를 확인하는 선택적 명령어:
lsusb
esxcli storage core device list | grep -i usb
esxcli storage filesystem list
USB 장치의 상태를 확인하려면 /var/log/usb.log를 참조하세요.
- USB 아비트레이터 서비스를 중지한 후 USB 저장 장치를 연결 및 연결 해제할 필요가 있습니다.
- USB 플래시 드라이브(또는 USB HDD)를 찾거나 식별하기 위해 블록 디스크 장치를 나열합니다.
ls -ltrh /vmfs/devices/disks/
우리의 USB 플래시 드라이브는 mpx.vmhba32:C0:T0:L0:입니다 (아래 스크린샷 참조).
따라서 전체 디스크 주소/위치는 다음과 같습니다:
/dev/disks/mpx.vmhba32:C0:T0:L0:
- 확인하려는 USB 장치의 파티션 번호를 확인하여 올바른 디스크 장치를 식별합니다:
ls /dev/disks/mpx.vmhba32:C0:T0:L0:*
출력에 따르면, 우리 경우 파티션 번호를 고려한 전체 장치 ID는 다음과 같습니다:
/dev/disks/mpx.vmhba32:C0:T0:L0:1
- 파일을 복사할 소스/대상 경로를 정의하기 위해 USB 플래시 드라이브의 루트 폴더를 찾습니다. 다음 명령을 실행하고 Tab을 눌러 볼륨 디렉터리에서 사용 가능한 항목을 확인합니다. ESXi 파일 시스템의 /volumes/ 디렉터리는 파일 시스템이 마운트된 디렉터리입니다.
ls -al /vmfs/volumes/ [Tab 키를 누르세요]
USB 플래시 드라이브의 볼륨 이름은 NO NAME
-
ls -al /vmfs/volumes/NO\ NAME/
우리의 ZIP 아카이브는 USB 플래시 드라이브 볼륨에 있습니다.
- 우리는 ESXi 데이터스토어 (datastore10a)에 install 폴더를 다음 명령으로 만들었습니다:
cd /vmfs/volumes/datastore10a
mkdir install
아래 스크린샷에서는 ESXi 데이터스토어에서 USB 플래시 드라이브로 나중에 복사할 가상 머신의 구성 파일 디렉토리도 볼 수 있습니다.
- USB 플래시 드라이브에서 ZIP 아카이브를 복사하여 ESXi 호스트의 install 폴더로 이동하세요 (이 경우 datastore10a에 있습니다).
cp /vmfs/volumes/NO\ NAME/net-tulip.zip /vmfs/volumes/datastore10a/install/
- 파일이 복사되었는지 확인하세요:
ls -al /vmfs/volumes/datastore10a/install/
파일이 성공적으로 복사되었습니다.
마찬가지로, 반대 방향으로 파일을 복사할 수도 있습니다. ESXi에서 USB 플래시 드라이브로 파일을 복사한 다음, 이 USB 플래시 드라이브에서 VM이나 다른 기기로 필요한 파일을 복사하세요.
- VM 폴더의 내용을 확인하세요:
ls -al /vmfs/volumes/datastore10a/Windows-VM/
- ESXi 데이터 스토어에서 Windows-VM.vmx 구성 파일을 USB 플래시 드라이브로 복사하세요:
cp /vmfs/volumes/datastore10a/Windows-VM/Windows-VM.vmx /vmfs/volumes/NO\ NAME/
- USB 플래시 드라이브에 파일이 복사되었는지 확인하세요:
ls -al /vmfs/volumes/NO\ NAME/
ESXi 호스트에서 파일 복사를 마치면 USB 플래시 드라이브를 추출하고 ESXi 호스트에서 USB Arbitrator 서비스를 시작할 수 있습니다. 그런 다음 USB 플래시 드라이브를 삽입하고 호스트에 연결된 USB 패스스루 기능을 사용하여 USB 플래시 드라이브를 가상 머신에 연결할 수 있습니다.
ESXi 호스트에 삽입된 USB 저장 장치를 ESXi 호스트에 상주하는 VM에 연결하는 ESXi용 USB 패스스루 및 USB 저장 장치를 ESXi 호스트에 삽입한 후 ESXi 호스트에 상주하는 VM에 연결하는 방법에 대해 자세히 알아보세요.
VMware VM로 파일 전송하기 위한 PowerCLI 사용
VM에서 호스트로 파일을 전송하는 또 다른 방법은 PowerCLI 명령(cmdlet)을 사용하는 것입니다. 게스트 운영 체제 내의 VM에 VMware Tools가 설치되어 있어야 합니다. 이러한 PowerShell cmdlet은 ESXi 호스트에 상주하는 VM에 있는 파일을 복사하기 위해 VMware Tools을 사용합니다. 따라서 원본/대상 ESXi 호스트에 상주하는 VM 내에서 명령을 실행하면 네트워크가 필요하지 않습니다.
VM 간에 파일을 복사하려면 vSphere PowerCLI에서 Copy-VMGuestFile cmdlet 및 다른 cmdlet을 사용할 수 있습니다.
-
Connect-VIServer 192.168.101.201
- 인증서 경고를 피하려면 다음 명령을 실행하십시오:
Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false
VMGuestFile 복사 (로컬 > ESXi VM)
로컬 머신 (PowerCLI가 실행되는 머신)에서 ESXi 호스트의 원격 VM으로 파일을 복사하는 명령은 다음과 같습니다:
Copy-VMGuestFile -Source "c:\temp\test.txt" -LocalToGuest -VM Windows-VM -Destination "c:\temp-VM" -GuestUser user1 -GuestPassword Password
다음과 같이:
c:\temp\test.txt is the source file that we want to copy from the local machine
-LocalToGuest는 방향을 나타냅니다 (로컬 머신에서 ESXi 호스트에서 실행되는 대상 VM의 게스트 OS로)
-VM Windows-VM은 대상 VM 이름을 정의합니다
c:\temp-VM is the destination folder on the destination VM (where we want to store a file copy)
user1은 대상 VM의 게스트 운영 체제(OS)에서의 사용자 이름입니다. 이 사용자는 정의된 대상 폴더에 액세스해야 합니다.
Password는 이 사용자의 암호입니다.
우리는 VMware Tools 버전에 대한 경고를 무시하고 우리의 text.txt 파일이 복사되었는지 확인합니다.
저희는 크기가 29바이트인 test.txt 파일이 ESXi 호스트에서 실행 중인 Windows XP VM으로 성공적으로 복사되었음을 볼 수 있습니다.
Copy-VMGuestFile (ESXi VM > Local)
이제 VM의 게스트 OS에서 명령이 실행되는 기계의 로컬 디렉터리로 파일을 복사해 봅시다:
Copy-VMGuestFile -Source "c:\temp-VM\test2.txt" -GuestToLocal -Destination "c:\temp" -VM Windows-VM -GuestUser user1 -GuestPassword Password
여기서:
-Source “c:\temp-VM\test2.txt”는 ESXi에서 실행 중인 VM의 소스 파일 경로입니다.
-GuestToLocal은 방향입니다 (ESXi VM의 게스트 OS에서 명령이 실행되는 로컬 기계로)
“c:\temp”는 로컬 기계의 대상 폴더 경로입니다.
user1은 대상 VM의 게스트 운영 체제에서의 사용자 이름입니다. 이 사용자는 정의된 대상 폴더에 액세스해야 합니다.
Password는 게스트 OS에서 이 사용자의 암호입니다.
Copy-VMGuestFile cmdlet을 사용한 예시를 볼 수 있습니다:
get-help Copy-VMGuestFile -examples
Copy-DatastoreItem
PowerShell cmdlet인 Copy-DatastoreItem은 ESXi 데이터스토어로 파일을 복사하는 데 사용됩니다. 이 cmdlet을 사용하여 파일을 VMware ESXi 데이터스토어로 복사하는 데는 두 가지 접근 방식이 있습니다:
- Windows VM 내에서 PowerCLI가 설치되어 있는 경우 ESXi 데이터스토어와 VM 간에 파일을 직접 복사하는 명령을 실행할 수 있습니다.
- ESXi 호스트에 위치한 가상 머신에 PowerCLI를 설치할 수 없는 경우 로컬 Windows 머신에서 PowerCLI 명령을 실행하고 Copy-VMGuestFile 명령을 사용하여 ESXi 데이터스토어에서 로컬 머신으로 파일을 복사한 다음 이 파일을 Copy-VMGuestFile로 VM에 복사할 수 있습니다.
ESXi 서버 또는 vCenter Server에 연결되어 있어야 합니다. 이를 위해 다음 명령을 사용할 수 있습니다:
ViConnect <server_name_or_IP>
우리는 ESXi 호스트에 직접 연결되어 있습니다.
데이터스토어에서 VM 구성 파일을 현재 Windows 머신(이 명령을 실행하는 머신 – ESXi 호스트의 VM일 수도 있음)으로 복사해 봅시다:
- 데이터스토어 정보 가져오기:
Get-Datastore "datastore10a"
- ESXi 데이터스토어 객체 가져오기:
$datastore = Get-Datastore "datastore10a"
- 새로운 PowerShell 드라이브를 만들어 ds:라고 이름을 지정하고 $datastore에 매핑합니다 :
New-PSDrive -Location $datastore -Name ds -PSProvider VimDatastore -Root "\"
- 데이터 스토어를 현재 위치로 설정하십시오:
Set-Location ds:\
- 선택한 디렉터리의 파일과 디렉터리를 나열하려면 다음 명령을 사용하십시오:
Get-ChildItem
- VM 디렉토리를 새 위치로 설정할 수 있습니다. 우리의 경우, 해당 디렉터리는 Windows-VM입니다
Set-Location "Windows-VM"
-
Copy-DatastoreItem -Item ds:\Windows-VM\Windows-VM.vmx -Destination c:\temp
Where:
ds:\Windows-VM\Windows-VM.vmx는 복사해야 할 파일의 경로이며, ds:\는 데이터스토어에 대한 정의된 바로 가기입니다(이 경우에는 datstore10a).
- 만약 이 예제에서와 같이 특정 ESXi 호스트가 아닌 vCenter에 연결된 경우, 다음 명령어를 사용하여 vCenter 데이터센터에서 데이터스토어를 정의하고 ESXi 데이터스토어에서 파일을 로컬 머신의 폴더로 복사할 수 있습니다:
Copy-DatastoreItem vmstore:\Datacenter1\datastore10a\Windows-VM\Windows-VM.vmx c:\temp\
- ESXi 호스트에 연결하여 반대 방향으로 파일을 복사하려면 다음 명령을 사용하십시오:
Copy-DatastoreItem -Item c:\temp\darwin.iso -Destination ds:\install\
Windows 기기에서 ESXi 데이터스토어의 install 디렉터리로 VMware Tools 이미지인 darwin.iso(macOS용)를 복사합니다.
- vCenter에 연결된 경우 로컬 Windows 기기에서 원격 ESXi 호스트의 데이터스토어로 파일을 복사하려면 다음 명령을 사용할 수 있습니다:
Copy-DatastoreItem c:\temp\darwin.iso -Destination vmstore:\Datacenter1\datastore10a\install\
이 PowerCLI cmdlet을 사용하여 PowerShell 스크립트를 만들고 VM에서 호스트로 파일을 전송할 수 있습니다.
VMware Workstation에서 VM에서 호스트로 파일을 복사하는 명령어
만약 Windows 또는 Linux 호스트(또는 macOS에서 VMware Fusion)에서 VMware Workstation(타입-2 하이퍼바이저)를 사용하는 경우, VM에서 호스트로 파일을 복사하거나 그 반대로 할 수 있습니다. 가상 머신과 작업하기 위해 vmrun 명령 줄 도구를 사용할 수 있습니다. 명령의 구문은 Windows, Linux 및 macOS(VMware Fusion)에서 동일합니다. 이 튜토리얼에서는 Windows 10에서 VMware Workstation 15를 사용합니다.
- VMware Workstation 디렉터리로 이동하십시오:
cd "C:\Program Files (x86)\VMware\VMware Workstation\"
- 다음과 같은 명령을 사용하여 게스트 OS 내부의 VM에서 로컬 Windows 호스트로 파일을 복사합니다:
CopyFileFromHostToGuest <VMX 파일 경로> <게스트 내 경로> <호스트 상의 경로>
우리의 경우, 정확한 명령은 다음과 같습니다:
vmrun copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"
-
어디:
d:\virtual\WinServer2019\WinServer2019.vmx는 파일을 복사하는 가상 머신의 가상 디스크입니다.
c:\temp\test.txt는 가상 머신의 가상 디스크에 저장된 파일입니다. 이것은 우리가 복사하는 파일입니다.
c:\temp\copied\는 호스트 머신에 파일 복사를 저장할 디렉토리입니다.
경로를 설정할 때 백슬래시 \ 문자를 사용해야 합니다. 우리는 VM에서 호스트로 텍스트 파일인 test.txt를 복사했습니다.
또는 명령을 실행할 수 있습니다. 명령에서 자격 증명을 정의하면 됩니다:
vmrun -T ws -gu Administrator -gp Password000 copyFileFromGuestToHost d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test.txt" "c:\temp\copied\"
호스트 머신에서 VM으로 파일을 복사하려면 다음과 같이 명령을 사용하십시오:
CopyFileFromHostToGuest <vmx 파일 경로> <호스트의 경로> <게스트의 경로>
이 예에서 사용하는 명령은 다음과 같습니다:
vmrun copyFileFromHostToGuest d:\virtual\WinServer2019\WinServer2019.vmx "c:\temp\test3.txt" "c:\temp\test3-copy.txt"
SSH 및 SCP를 사용하여 파일 전송하는 방법
SSH(보안 셸)는 암호화를 사용하여 원격 호스트를 안전하게 관리하는 일반적인 프로토콜입니다. SCP는 네트워크를 통해 파일을 안전하게 복사하는 데 SSH를 사용하는 프로토콜입니다. 특히 VM에서 Linux를 실행하는 경우 VM에서 호스트로 파일을 전송하는 데 SCP를 사용할 수 있습니다. Linux 머신 및 ESXi에는 SCP 및 SSH 서버를 몇 단계만으로 활성화할 수 있습니다.
ESXi에서 SSH 서버를 활성화하는 방법
이 방법을 사용하려면 ESXi 호스트에서 SSH 서버 서비스를 활성화해야 하며 파일을 VMware ESXi로 전송하고 ESXi에서 파일을 전송해야 합니다.
- VMware Host Client에서 SSH 서버를 활성화하려면 호스트 > 관리 > 서비스로 이동하여 TSM-SSH 서비스를 시작하십시오.
- SCP 트래픽을 위해 ESXi 방화벽에서 SSH를 허용해야 합니다. 이를 통해 ESXi 호스트에서 파일을 전송하고 이 호스트로부터 SCP를 사용하여 다른 기기에 연결할 수 있습니다:
- 네비게이터 창에서 네트워킹으로 이동하고 방화벽 규칙 탭을 선택한 다음 SSH 클라이언트를 선택합니다.
- 호스트 간 SSH 연결을 확인하려면 다음 ESXi 호스트에서 이 명령을 실행할 수 있습니다:
nc -z 192.168.101.202 22
다음과 같습니다:
192.168.101.202는 원격 호스트의 IP 주소입니다.
22는 SSH 연결용 포트 번호입니다 (22가 기본 포트 번호입니다).
네트워크를 통해 SCP를 사용하여 파일을 복사하는 scp 명령의 일반 구문:
scp [옵션] [사용자]@[SRC_HOST]:파일경로1 [사용자]@[DEST_HOST]:파일경로2
[사용자]@[SRC_HOST]:파일경로1 – 소스 파일
[사용자]@[DEST_HOST]:파일경로2 – 대상 파일
-P은 SSH 연결을 위한 포트 번호를 지정합니다 (포트 번호가 22가 아닌 경우에는 이 플래그를 사용하세요).
아래에서는 실제 예시를 설명합니다.
SCP를 사용하여 로컬 파일을 원격 컴퓨터로 복사하는 방법
SCP를 사용하여 로컬 파일을 원격 컴퓨터로 복사하려면 다음과 같은 명령을 사용하세요:
scp file.txt remote_username@remote_host_ip:/remote/directory
Linux으로부터
우리의 경우, Ubuntu Linux 기반의 로컬 머신(가상 머신일 수도 있음)에서 SCP를 사용하여 네트워크를 통해 ESXi 호스트로 LinuxDir.txt 파일을 복사합니다. 원격 ESXi 호스트의 대상 위치는 datastore10a 데이터 저장소의 install 디렉터리입니다. 원격 ESXi 호스트의 IP 주소는 192.168.101.201입니다.
우리 경우, 로컬 Linux 머신에서 원격 ESXi 호스트로 파일을 복사하는 명령은 다음과 같습니다:
scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/
복사된 파일을 대상 머신에 새 파일 이름으로 저장할 수 있습니다:
scp LinuxDir.txt [email protected]:/vmfs/volumes/datastore10a/install/LinuxDir-copy.txt
-r 플래그를 사용하여 포함된 모든 파일을 포함하는 디렉터리를 복사합니다:
scp -r /local/directory [email protected]:/remote/directory
ESXi에서
ESXi 호스트에서 scp 명령어를 사용할 수 있습니다. 명령 줄의 scp 구문은 Linux와 ESXi에서 동일합니다. 원격 기계에 SSH 서버가 구성되어 있어야 합니다.
ESXi 호스트 (192.168.101.201)에 로그인하고 user1의 홈 디렉터리로 포함된 모든 파일이 있는 install 디렉터리를 원격 Linux 기계 (192.168.101.210)로 복사해 봅시다.
scp -r /vmfs/volumes/datastore10a/install/ [email protected]:/home/user1/
SSH 서버가 22번 포트가 아닌 다른 포트에서 듣고 있는 경우 -P 매개변수를 사용하십시오. 예를 들어 SSH 포트 번호가 8022인 경우 명령어는 다음과 같습니다:
scp -P 8022 -r /vmfs/volumes/datastore10a/install/ [email protected]:/home/user1/
원격에서 로컬 머신으로 파일을 복사하는 방법은 SCP
SCP는 원격 머신에서 로컬 머신으로 파일을 복사하는 데 유용하며 VM에서 호스트로 파일을 전송할 수도 있습니다. 아래에서는 Linux와 ESXi에서 적절한 명령어를 실행하는 방법을 설명합니다.
로컬 Linux 머신으로 파일 복사
SCP를 사용하여 원격 ESXi 호스트에서 현재 Linux 머신으로 파일을 복사할 것입니다. 이를 위해 다음과 같은 명령어를 사용하십시오:
scp remote_username@remote_ip_address:/remote/file.txt /local/directory
리모트 ESXi 서버에서 darwin.iso 파일을 정의된 홈 디렉토리로 Linux 머신에 복사합시다:
scp [email protected]:/vmfs/volumes/datastore10a/install/winPreVista.iso /home/user1/
로컬 ESXi 호스트로 파일 복사하기
ESXi 호스트에 로그인하면 원격 Linux 머신에서 로컬 ESXi 호스트의 데이터스토어로 VM 파일을 복사하는 명령을 실행할 수 있습니다. 네트워크를 통해 Linux 머신에서 VM_file.txt 파일을 ESXi 데이터스토어 디렉토리로 복사해 봅시다:
scp [email protected]:/home/user1/VM_file.txt /vmfs/volumes/datastore10a/install/
두 개의 원격 머신 간 파일 복사 방법
현재 로컬 머신을 통해 데이터를 복사하는지 여부에 관계없이 한 원격 머신에서 다른 원격 머신으로 파일을 복사하는 SCP 명령이 있습니다. 명령 구문은 다음과 같습니다:
scp [email protected]://directory/file.txt [email protected]://directory/
위의 명령을 사용하여 데이터가 현재 로컬 머신을 거치지 않고 직접 한 원격 호스트에서 다른 원격 호스트로 전송됩니다. 만약 명령을 실행하는 로컬 머신을 통해 트래픽을 라우팅하려면 -3 플래그를 사용하세요.
참고: 두 원격 호스트의 자격 증명이 동일한 경우에만 이 명령을 사용하세요.
로컬 Linux 머신에서 실행할 명령의 예는 다음과 같습니다. 이 명령은 원격 ESXi 호스트(192.168.101.202)에서 파일(vim.v00)을 로컬 ESXi 호스트(192.168.101.201)로 복사합니다:
scp [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/
만약 호스트 키 확인 실패 오류가 나타나면, 호스트 키가 한 호스트에 저장되지 않은 것입니다. 오류가 원격 서버에서 호스트 키를 변경하여 발생한 경우, 현재 원격 호스트에 대한 이전 호스트 키를 ~/.ssh/known_hosts에 삭제합니다.
이전 호스트 키를 삭제하는 명령어는 다음과 같습니다:
ssh-keygen -R 호스트_이름_또는_IP_주소
예를 들어, 192.168.101.202에서 192.168.101.201의 이전 호스트 키를 삭제하려면 다음 명령어를 실행합니다:
ssh-keygen -R 192.168.101.201
로컬 머신을 통해 파일을 복사하는 명령어에서 -3을 사용한 예:
scp -3 [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/
이 목적으로 대체할 수 있는 명령어:
scp -o "ForwardAgent yes" [email protected]://vmfs/volumes/BOOTBANK1/vim.v00 [email protected]://vmfs/volumes/datastore10a/install/
Windows에서 SCP를 통해 파일을 복사하는 방법
Windows에서도 가상 머신이나 ESXi 호스트로 파일을 복사할 수 있습니다. 이를 위해 WinSCP와 같은 SCP 클라이언트를 사용해야 합니다. WinSCP는 사용하기 쉬우며 편리한 그래픽 인터페이스를 제공합니다. 무료로 WinSCP를 다운로드할 수 있습니다.
- WinSCP를 실행하십시오.
- 프로토콜을 선택하십시오. 예를 들어, SFTP.
- 원격 호스트의 호스트 이름과 포트 번호를 입력하십시오. 예를 들어, ESXi 호스트 또는 Linux 기기와 같은 원격 호스트입니다.
- 원격 기기의 사용자 이름과 암호를 입력하십시오.
- 로그인을 클릭하십시오.
이 예에서는 원격 ESXi 호스트에 연결하고 있습니다.
- A notification message is displayed:
알려지지 않은 서버에 계속 연결하고 해당 호스트 키를 캐시에 추가하시겠습니까?
계속하려면 예를 클릭하십시오.
- 연결되면, 두 개의 패널을 갖는 Commander 스타일의 창이 표시됩니다. 한 패널은 로컬 기기의 디렉토리를 나타내고 다른 패널은 원격 기기의 디렉토리를 나타냅니다. 이 두 패널 사이에서 파일을 복사하여 로컬 호스트와 원격 호스트 간에 파일을 복사할 수 있습니다.
원격 ESXi 호스트의 데이터 저장소에서 파일을 WinSCP에서 연결된 원격 Windows VM 또는 물리적 머신으로 해당 Windows 기계의 SMB 공유를 사용하여 복사할 수 있습니다.
그러나 WinSCP 패널에 직접 공유 경로를 입력할 수 없습니다 (예: \\192.168.101.117\c$). 디스크 드라이브 문자만 선택할 수 있습니다. 이 제한을 우회하려면 Windows 탐색기에서 파일 공유에 연결하고 이 파일 공유를 네트워크 드라이브로 매핑하십시오. 드라이브 문자를 할당하고 예를 들어 S:와 같이 이 예제에서 한 것처럼 공유 폴더에 연결하십시오. 192.168.101.211.
이제 WinSCP의 왼쪽 창의 드롭다운 메뉴에서 네트워크 드라이브로 S:를 선택하고 원격 ESXi 서버의 데이터 저장소에서 필요한 파일이나 디렉토리를 선택하여 파일을 양방향으로 복사할 수 있습니다.
NFS 공유 사용
ESXi 데이터 저장소에서 VM으로 파일을 전송하거나 그 반대로 파일을 전송하는 데 NFS 공유를 사용할 수 있습니다. ESXi는 SMB 공유를 지원하지 않습니다 (Windows용 네이티브). Linux용 네이티브인 NFS 공유를 지원하며 NFS 공유를 데이터 저장소로 첨부할 수 있습니다. 이 기능을 사용하여 ESXi와 Linux 머신 간에 파일을 전송하는 다음 방법 중 하나를 사용할 수 있습니다:
방법 1:
- Linux VM에서 NFS 서버 및 NFS 공유를 구성하십시오
- ESXi에서 데이터 저장소로 NFS 공유를 첨부하십시오
- VM에서 ESXi 데이터 저장소로 파일을 복사하고 그 반대로
방법 2:
- 물리적 Linux 머신이나 NAS에서 NFS 서버를 구성하십시오
- ESXi에 NFS 공유를 데이터스토어로 연결합니다.
- Linux VM에서 NFS 공유에 연결합니다.
- Linux VM에서 파일을 NFS 공유로 복사한 다음 이 파일을 ESXi 호스트로 복사합니다. ESXi 호스트에서 파일을 NFS 공유로 복사하고 이 파일을 NFS 공유에서 Linux VM으로 복사합니다.
더 많은 정보를 알아보려면 NFS vs SMB 비교를 읽으세요.
Linux에서 NFS 공유 구성하기
이 튜토리얼에서는 Linux Ubuntu 20.04를 사용합니다. 우리는 일반 사용자로 Linux에 로그인하고 명령을 실행할 때 루트 권한이 필요한 경우 sudo를 사용합니다. NFS 서버를 설치하고 NFS 공유를 구성하려면 다음 단계를 수행하십시오.
- Linux에서 저장소 트리를 업데이트합니다:
sudo apt-get update
- Linux에 NFS 서버 패키지를 설치합니다:
sudo apt-get install nfs-kernel-server -y
- NFS 서버에서 공유할 디렉토리(내보내기 디렉토리)를 생성합니다:
sudo mkdir -p /srv/nfs/share1/
- 만들어진 디렉터리의 소유자 및 권한을 설정하십시오:
sudo chown -R nobody:nogroup /srv/nfs/share1/
sudo chmod 0777 /srv/nfs/share1/
nobody는 셸 액세스 권한이 없는 가장 적은 권한을 가진 사용자를 나타내는 가상 사용자입니다. nogroup 그룹의 목적은 nobody 사용자와 유사합니다.
- 만들어진 디렉터리를 공유하도록 수출 파일을 구성하십시오.
sudo nano /etc/exports
또는
sudo vim /etc/exports
- 구성 파일의 맨 아래에 다음 라인을 추가하십시오:
/srv/nfs/share1/ 클라이언트_IP(rw,sync,no_subtree_check)
우리의 경우, ESXi 호스트의 허용된 IP 주소가 있는 줄은 다음과 같습니다:
/srv/nfs/share1/ 192.168.101.201(rw,sync,no_subtree_check)
서브넷의 모든 호스트에 대한 액세스를 허용하려면 다음 라인을 추가할 수 있습니다:
/srv/nfs/share1/ 192.168.101.0/24(rw,sync,no_subtree_check)
다른 호스트(IP 주소)에 대한 액세스를 허용하려면 다음 라인을 추가할 수 있습니다.
구성 파일을 저장하고 텍스트 편집기를 종료하십시오.
- 파일에 데이터가 쓰였는지 확인하려면 다음 명령을 사용할 수 있습니다:
cat /etc/exports
- 새 구성을 적용하려면 다음 명령을 사용하십시오:
sudo exportfs -a
- 리눅스 머신의 방화벽이 NFS 서버에 대한 액세스를 허용하도록 설정되어 있는지 확인하십시오. 특정 IP 주소에 액세스 권한을 부여할 수 있습니다. 다음과 같은 명령을 사용하십시오:
sudo ufw allow from IP to any port nfs
우리의 경우:
sudo ufw allow from 192.168.101.201 to any port nfs
전체 서브넷의 호스트에 대한 액세스를 허용하려면:
sudo ufw allow from SUBNET to any port nfs
우리의 경우, 명령은 다음과 같을 것입니다:
sudo ufw allow from 192.168.101.0/24 to any port nfs
- 방화벽 상태를 확인하려면 다음 명령을 사용하십시오:
sudo ufw status
- NFS 서버를 다시 시작하여 구성 변경 사항을 적용하십시오:
sudo systemctl restart nfs-kernel-server
- NFS 공유가 리눅스에 구성되었습니다.
- VM_file.txt 파일을 NFS로 공유된 디렉토리로 복사합니다. 그 후 디렉토리 내용을 확인합니다:
cp VM_file.txt /srv/nfs/share1/
ls -al /srv/nfs/share1/
NFS 데이터스토어를 ESXi에 마운트합니다
NFS 공유를 구성한 후 ESXi에 NFS 데이터스토어를 추가해야 합니다. 이 예시에서는 VMware Host Client를 사용합니다.
저장소>데이터스토어로 이동하여 새 데이터스토어를 클릭합니다.
새 데이터스토어 마법사가 열립니다.
- NFS 데이터스토어 마운트를 선택합니다. 계속하려면 다음을 클릭합니다.
- NFS 마운트 세부 정보를 제공합니다:
- 이름: NFS-share (데이터 스토어 이름으로 표시될 이름)
- NFS 서버: 192.168.101.210
- NFS 공유: /srv/nfs/share1/
- NFS 버전: NFS4<>/li
NFS4에 대해 사용자 이름과 암호는 선택 사항입니다. 이 두 필드를 비워 둡니다.
- 구성을 확인하고 모두 정확하다면 완료를 클릭하십시오.
VM에서 호스트로 파일 복사
NFS 데이터스토어가 성공적으로 마운트되었습니다. 이를 저장소 > 데이터스토어에서 확인할 수 있습니다.
이제 VM에 저장된 파일을 로컬 ESXi 데이터스토어로 복사할 수 있습니다 (VM에서 호스트로 파일 전송).
- 데이터스토어 브라우저를 클릭하십시오.
우리의 경우 NFS 공유). NFS 데이터 저장소에서 필요한 파일을 찾으세요. 필요한 파일을 선택하고 복사를 클릭하세요. - 대상을 선택하세요. 복사한 파일을 저장하려는 대상 데이터 저장소의 필요한 위치를 선택하세요. (우리의 경우 datastore10b). 복사를 클릭하세요.
또는 ESXi 서버의 명령 줄에서 필요한 파일을 복사할 수 있습니다:
cp /vmfs/volumes/NFS-share/VM_file.txt /vmfs/volumes/datastore10b/VM_file-copy.txt
VMware 웹 인터페이스를 사용하여 파일 다운로드/업로드하기
VMware Host Client 또는 VMware vSphere Client의 웹 인터페이스를 사용하여 ESXi 데이터 스토어로부터 파일을 업로드/다운로드할 수 있습니다. 웹 인터페이스는 웹 브라우저가 설치된 물리적 또는 가상 머신에서 사용할 수 있으며 ESXi 호스트와의 네트워크 연결이 가능해야 합니다. 따라서 게스트 OS에 GUI가 있는 경우 VM에서 직접이 웹 인터페이스를 열 수도 있고, VM에서 호스트로 파일을 전송하거나 그 반대로 전송하기 위해 중간 기계로 로컬 머신을 사용할 수도 있습니다.
VMware ESXi로 파일을 전송하는 대안적이지만 더 복잡한 방법이 있습니다:
- VM의 가상 디스크를 로컬 머신이나 다른 머신으로 다운로드합니다.
- 이 VM 가상 디스크(.vmdk 및 –flat.vmdk)에서 필요한 파일을 추출하여 로컬 머신에 저장합니다. 다른 방법으로는 VMware Workstation이 설치된 경우 가상 드라이브에 가상 디스크를 마운트할 수도 있습니다.
- 추출된 파일이나 마운트된 가상 디스크의 파일을 ESXi 호스트의 데이터 스토어로 업로드합니다. 위에서 설명한 방법 중 하나를 사용하여 업로드할 수 있습니다(VMware Host Client, vSphere Client 또는 SCP 클라이언트 등).
VMDK 가상 디스크에서 파일 추출하는 방법에 대한 자세한 블로그 포스트를 읽어보세요.
ISO 파일을 사용하여 VM으로 데이터 전송
VM의 네트워크 연결이 사용할 수 없는 경우 VMware VM에 파일을 전송하기 위해 ISO 이미지 파일을 사용할 수 있습니다.
- Windows용 Ultra ISO와 같은 소프트웨어로 ISO 이미지를 만듭니다.
- 로컬 컴퓨터나 다른 컴퓨터에서 ISO 이미지에 필요한 파일을 기록합니다. ESXi에서 위의 방법 중 하나를 사용하여 파일을 복사하고 ISO 이미지에 기록할 수 있습니다.
- VMware Host Client, VMware vSphere Client, VMware Workstation 또는 VMware Remote Console을 사용하여 ESXi VM에 ISO 파일을 마운트하기 위해 VM의 가상 CD/DVD 드라이브에 ISO 이미지 파일을 마운트합니다. ISO 파일을 직접 로컬 컴퓨터에서 마운트하거나 이 작업을 수행하기 전에 ESXi 데이터 스토어에 ISO 파일을 업로드할 수 있습니다.
이 방법은 VM에서 호스트로 파일을 전송하는 데 사용할 수 없습니다. 왜냐하면 VM은 읽기 전용 모드로 가상 CD/DVD 디스크로 작동하기 때문입니다.
결론
호스트에서 가상 머신으로 파일을 복사하는 여러 가지 방법이 있으며 그 반대도 가능합니다. 일부는 네트워크 연결을 필요로 하고 일부는 네트워크가 사용 불가능한 경우에도 작동합니다. 시나리오에 맞는 방법을 사용하거나 이러한 방법을 결합할 수 있습니다. 데이터 손실을 방지하기 위해 VM을 백업하십시오. NAKIVO Backup and Replication을 사용하면 VMware vSphere의 VM을 보호하고 VM 백업에서 개별 파일을 복구할 수 있습니다.
Source:
https://www.nakivo.com/blog/3-simple-ways-to-transfer-files-from-a-vm-to-a-host/