이 글에서는 ESXi 호스트의 VMFS 데이터스토어에 저장된 데이터(가상 머신 구성 파일, 데이터 파일, 스냅샷 등)를 Linux, Windows, ESXi 환경에서 접근하는 세 가지 방법을 소개합니다. 이 내용은 VMware ESXi 하이퍼바이저로 운영되던 유일한 실무 서버가 갑자기 부팅되지 않는 장애를 겪은 실제 고객 사례를 바탕으로 작성되었습니다.
VMFS 데이터스토어 접근이 필요한 상황
ESXi 호스트에 장애가 발생하더라도 서버의 로컬 디스크가 정상적으로 동작한다면, VMFS 데이터스토어에서 가상 머신 파일(데이터 디스크와 구성 파일 모두)을 복사하여 다른 서버(VMware Workstation이나 Hyper-V 포함)에서 VM을 다시 실행할 수 있습니다.
하지만 문제는 일반적인 운영체제(Windows, Linux)에 VMFS 파일 시스템 드라이버가 기본적으로 포함되어 있지 않아, VMFS 파티션을 인식하지 못한다는 점입니다. 이 글에서는 VMFS 파일 시스템이 적용된 디스크에서 가상 머신 파일에 접근하는 방법을 살펴보겠습니다.
실제 사례에서는 VMware 가상 머신 백업이 설정되어 있지 않았고, ESXi 호스트의 부팅 문제를 진단하고 해결할 시간도 없었습니다. 따라서 중요 가상 머신의 파일을 VMFS 스토리지에서 수동으로 복사하여, 긴급히 설치한 다른 ESXi 호스트에서 실행하는 방법을 선택했습니다.
1. Linux(Ubuntu)에서 VMFS 파일 시스템 마운트하기
Ubuntu가 설치된 컴퓨터에 VMFS 파일 시스템 파티션을 마운트할 수 있습니다(이 경우 Ubuntu Live CD로는 부족합니다).
먼저 VMFS 파일 시스템이 담긴 물리 디스크를 Ubuntu가 설치된 컴퓨터(서버)에 연결해야 합니다. VMFS 볼륨의 데이터에 접근하려면 서드파티 패키지인 vmfs-tools를 설치해야 합니다. 이 패키지를 사용하면 ESXi가 아닌 호스트에서도 VMFS에 접근할 수 있으며, 읽기 전용 모드로 데이터에 접근할 수 있습니다.
주요 제약 사항은 두 가지입니다. 첫째, 개발사가 공식적으로 지원하는 VMFS 버전은 VMFS 5.0까지입니다. 둘째, VMFS 6(vSphere 6.0, 6.5) 파티션 연결은 보장되지 않습니다.
다음 명령으로 패키지를 설치합니다:
apt-get install vmfs-tools참고: Ubuntu 공식 저장소에서 제공되는 vmfs-tools 0.2.1은 VMFS v3만 지원한다는 한계가 있습니다. VMFS 5 데이터스토어를 마운트하려면 vmfs-tools 0.2.5 이상을 직접 다운로드해 설치해야 합니다.
- https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb – 64비트 시스템용 패키지
- https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_i386.deb – 32비트 시스템용 패키지
시스템에 맞는 패키지를 다음과 같이 다운로드합니다:
# wget https://mirrors.kernel.org/ubuntu/pool/universe/v/vmfs-tools/vmfs-tools_0.2.5-1_amd64.deb그리고 설치합니다:
# dpkg -i vmfs-tools_0.2.5-1_amd64.deb누락된 의존성 패키지가 있다면 다음 명령으로 함께 설치합니다:
# apt-get install vmfs-tools패키지 설치가 완료되면 VMFS 파티션을 마운트할 마운트 포인트를 생성합니다:
# mkdir /mnt/vmfs다음으로 디스크의 파티션 구성을 확인해야 합니다. ESXi는 가상 머신 파일이 저장되는 VMFS 파티션 외에도 여러 서비스 파티션을 생성합니다.
ESXi 4 이전 버전이거나, VMFS 3에서 VMFS 5로 업그레이드되었으며 크기가 2TB를 넘지 않는 스토리지라면 다음 명령으로 디스크와 파티션 목록을 확인할 수 있습니다:
# fdisk -l확인 결과, VMFS 파티션은 /dev/sdb3(레이블: VMware VMFS)임을 알 수 있습니다.
중요: ESXi 5 이상에서는 GPT 파티션 테이블과 함께 VMFS v5가 사용됩니다. GPT(GUID Partition Table)를 사용하면 2TB 이상의 대형 스토리지를 만들 수 있고, 물리적 호환 모드의 RDM 디스크 연결도 가능합니다. 따라서 이 경우에는 fdisk 대신 parted 명령을 사용해야 합니다.
# parted -l이제 VMFS 스토리지 파티션을 마운트하기만 하면 됩니다:
# vmfs-fuse /dev/sdb3 /mnt/vmfs마운트된 파티션의 내용을 확인합니다:
# ls -all /mnt/vmfs이제 VMFS 스토리지의 모든 가상 머신 파일이 읽기 전용 모드로 표시됩니다. 필요한 가상 머신의 디렉터리 또는 개별 파일을 별도 드라이브로 복사한 뒤, 다른 ESXi 호스트에서 실행하면 됩니다.
2. Windows에서 VMFS 볼륨 접근하기
Windows에서 VMFS 볼륨에 연결해 가상 머신 파일에 접근하려면 Java 기반의 특수 드라이버인 Open Source VMFS Driver가 필요합니다. 이 드라이버는 Java 6 이상을 요구하며, VMFS 볼륨을 읽기 전용 모드로 마운트할 수 있습니다.
드라이버는 https://code.google.com/archive/p/vmfs/ 에서 다운로드할 수 있습니다. 다만 해당 프로젝트는 2010년 이후 업데이트되지 않았으며, 사이트에서 제공되는 최신 버전인 VMFS Driver r95는 VMFS 3(ESXi 5 미만)만 지원합니다.
참고: 더 최신 버전의 VMFS에 연결을 시도하면 "No VMware File System detected" 오류 메시지가 표시됩니다.
Windows에서 VMFS 볼륨 마운트 절차
- Open Source VMFS Driver(fvmfs_r95_dist.zip)를 다운로드해 임의의 디렉터리(예: C:\vmfs)에 압축을 해제합니다.
- Java 애플리케이션 fvmfs.jar의 정상 동작을 다음과 같이 확인합니다:
cd \vmfs
java -jar fvmfs.jar - Windows 컴퓨터에 연결된 디스크 중 VMFS 스토리지가 담긴 HDD의 디스크 번호를 확인합니다. 디스크 관리 콘솔 또는 diskpart를 사용하면 됩니다(예제에서는 연결된 디스크의 인덱스가 1, 즉 Disk1이며 fvmfs 드라이버에서는 \\.PhysicalDrive1로 표기됩니다).
- 디스크 정보를 조회해 봅니다:
java -jar fvmfs.jar \\.\PhysicalDrive1 info - WebDAV를 통해 해당 디스크를 공유합니다:
java -jar fvmfs.jar \\.\PhysicalDrive1 webdav - Windows 서비스 중 WebClient가 실행 중인지 확인하고, 비활성화되어 있다면 실행합니다.
- 공유된 디스크를 마운트합니다:
net use * https://localhost:50080/vmfs - 읽기 가능한 VMFS 데이터스토어가 담긴 새 디스크가 시스템에 나타납니다.
- VMFS 스토리지의 파일을 다루는 동안에는 콘솔 창을 닫지 않도록 주의합니다.
3. 기존 VMFS 데이터스토어를 새 ESXi 호스트에 마운트하기
앞서 소개한 Linux 및 Windows용 서드파티 VMFS 드라이버는 VMFS 6.0을 지원하지 않습니다. 따라서 장애가 발생한 서버의 VMFS 파티션 데이터에 접근하는 가장 범용적인 방법은 해당 디스크를 새 ESXi 서버에 연결하는 것입니다(새 호스트에 ESXi를 설치하는 데는 1시간이 채 걸리지 않습니다). 이것이 가장 간단한 방법이며, 물리 하드디스크는 물론 스토리지 장치의 LUN(Fibre Channel 또는 iSCSI)도 재연결할 수 있습니다.
새 ESXi 호스트가 연결된 VMFS 데이터스토어를 올바르게 인식하면, 스토리지 내 파일에 바로 접근할 수 있습니다.
기존 VMFS 스토리지를 포맷하지 않고 새 ESXi 호스트에 연결하려면 아래 단계를 따릅니다:
- vSphere Web Client로 새 ESXi 서버에 접속합니다;
- 디스크를 새 서버에 연결하고 Storage rescan(스토리지 재검색)을 실행합니다;
- Configure(구성) → Datastores(데이터스토어) 섹션으로 이동해 Create a new datastore(새 데이터스토어 생성)를 선택합니다;
- 스토리지 유형으로 Disk 또는 LUN을 선택합니다;
- 사용 가능한 장치 목록에서 VMFS 스토리지가 있는 연결된 드라이브(LUN)를 선택합니다;
- 연결 모드를 선택합니다. 이때 Keep the existing signature(기존 시그니처 유지)를 반드시 선택해야 포맷 없이 기존 데이터를 그대로 사용할 수 있습니다;
- Finish(마침) 버튼을 클릭합니다;
- 호스트의 스토리지 섹션에서 연결된 스토리지를 선택하고, Datastore browser(데이터스토어 브라우저) 버튼을 클릭하면 내용을 확인할 수 있습니다;
- 필요한 .vmx 파일을 찾아 호스트에 등록하면, 중요 가상 머신을 즉시 시작할 수 있습니다.