ONTAP Simulator 설치는 OVA 파일 하나로 시작합니다. “임포트하고 부팅하면 끝”처럼 보이지만, 임포트 시점에 잡아야만 하는 것이 있습니다. 놓치면 클러스터를 구성하다가 되돌아와서 다시 손봐야 합니다.
이 글은 그중 네트워크 배치에 집중합니다. ovftool 이 성공했다고 보고하면서도 실제로는 지시를 무시하는 지점이 있는데, 에러도 경고도 없어서 .vmx 를 직접 열어보기 전에는 알 수가 없습니다.
아직 VMware Workstation을 설치하지 않았다면 VMware Workstation Pro 무료 다운로드 편을 먼저 보십시오 — Broadcom 포털에서 받는 과정에 함정이 하나 있습니다.
이 글의 실습 환경
이 글은 ONTAP Simulator 9.17.1 기반 가상 랩에서 직접 실행하고 그 출력을 근거로 작성했습니다. VMware Workstation Pro 25H2 환경입니다.
- 시뮬레이터가 지원하지 않는 기능이 있습니다. 예를 들어 HA(스토리지 페일오버)는 2노드 클러스터를 구성해도 동작하지 않습니다.
- 성능 수치는 의미가 없습니다. 가상 디스크 기반이라 실제 처리량·지연시간과 무관합니다.
- 하드웨어에 의존하는 동작(디스크 물리 장애, 셸프 인식, FC 포트 등)은 재현되지 않거나 다르게 동작합니다.
- ONTAP 버전에 따라 명령과 출력이 달라집니다. 이 글은 9.17.1 기준입니다.
1. 임포트 전에 OVA 안을 확인한다
OVA는 사실 tar 아카이브입니다. 열어보면 구성이 보입니다.
$ tar -tvf vsim-netapp-DOT9.17.1-cm_nodar.ova
-rw-r--r-- 7859 vsim-NetAppDOT-simulate.ovf
-rw-r--r-- 408 vsim-NetAppDOT-simulate.mf
-rw-r--r-- 826861056 vsim-NetAppDOT-simulate-disk1.vmdk
-rw-r--r-- 71168 vsim-NetAppDOT-simulate-disk2.vmdk
-rw-r--r-- 71680 vsim-NetAppDOT-simulate-disk3.vmdk
-rw-r--r-- 100352 vsim-NetAppDOT-simulate-disk4.vmdk
tar를 쓰지 않아도 ovftool 자체가 요약해줍니다. 이쪽이 더 간편합니다.
$ ovftool --hideEula vsim-netapp-DOT9.17.1-cm_nodar.ova
Name: vsim_NetAppDOT-simulate
Download Size: 788.79 MB
Deployment Sizes:
Flat disks: 243.55 GB
Sparse disks: 825.00 MB
Networks:
Name: hostonly
Description: The hostonly network
Name: nat
Description: The nat network
| 항목 | 값 |
|---|---|
| CPU / 메모리 | 2 vCPU / 6144 MB |
| 네트워크 | 선언된 이름은 2개 — hostonly, nat (NIC는 4개) |
| 디스크 | 4개, 전부 씬 프로비저닝 (플랫 환산 243GB, 실제 825MB) |
| 게스트 OS | freeBSD-64 |
NIC 4개가 두 그룹으로 나뉜다는 점이 중요합니다.
hostonly×2 → e0a, e0b — 클러스터 인터커넥트nat×2 → e0c, e0d — 데이터 / 관리
OVA 제작자가 이미 용도를 나눠뒀습니다. 이 구분을 임포트할 때 살려야 합니다. 디스크가 243GB로 보이지만 씬이라 실제 사용량은 훨씬 적습니다 — 임포트 직후 노드당 약 8.5GB였습니다.
2. 가상 네트워크 설계
| 용도 | 가상 네트워크 | 이유 |
|---|---|---|
| 데이터 / 관리 | NAT (VMnet8) | VM끼리 통신되면서 인터넷도 됨 |
| 클러스터 인터커넥트 | Host-only 신설 (VMnet2) | 격리 필요. DHCP도 꺼둔다 |
데이터망에 Host-only를 쓰지 마십시오. 인터넷이 안 되면 클라이언트에서 패키지 설치가 막혀 이후 실습이 불편해집니다.

--net 매핑을 줬을 때 실제로 나온 결과다.클러스터 인터커넥트용 네트워크는 Virtual Network Editor(관리자 권한 필요)에서 만듭니다.
Edit→Virtual Network Editor→Change SettingsAdd Network...→ 새 VMnet 선택- Host-only 선택
Use local DHCP service to distribute IP addresses체크 해제Connect a host virtual adapter to this network체크 해제 (완전 격리)
3. ovftool 로 임포트 — 겪은 문제 2가지
GUI 임포트도 되지만 ovftool 을 쓰면 이름과 경로를 정확히 지정할 수 있습니다. VMware Workstation에 같이 설치되며, 옵션 전체는 Broadcom의 OVF Tool 문서에 정리돼 있습니다.
<설치경로>\VMware Workstation\OVFTool\ovftool.exe
3-1. --diskMode=thin 은 거부된다
Error: Invalid target disk adapter type: thin
--diskMode 는 ESXi 대상 전용 옵션입니다. Workstation의 .vmx 를 대상으로 하면 거부됩니다. 그리고 필요하지도 않습니다 — Workstation의 VMDK는 기본이 확장형(씬)입니다. 이 옵션은 빼십시오.
3-2. ⭐ --net 매핑을 주면 오히려 나빠진다
이게 진짜 함정입니다. 그리고 같은 OVA로 두 번 임포트해 비교해봤더니, 예상보다 고약했습니다.
ovftool --acceptAllEulas --name=lab-ontap-n1 --net:"hostonly=VMnet2" --net:"nat=VMnet8" vsim-netapp-DOT9.17.1-cm_nodar.ova H:\vm\lab-ontap-n1\
Completed successfully 가 뜹니다. 성공한 것처럼 보입니다. 그런데 생성된 .vmx 를 열어보면:
ethernet0.connectionType = "bridged"
ethernet1.connectionType = "bridged"
ethernet2.connectionType = "bridged"
ethernet3.connectionType = "bridged"
네 개가 전부 bridged 입니다. vnet 줄은 아예 생성되지도 않았습니다.
그런데 --net 을 아예 주지 않으면 결과가 다릅니다.
ethernet0.connectionType = "hostonly"
ethernet1.connectionType = "hostonly"
ethernet2.connectionType = "nat"
ethernet3.connectionType = "nat"
| 임포트 방식 | .vmx 결과 |
|---|---|
--net 미지정 | hostonly ×2 + nat ×2 — OVA 선언대로 |
--net:hostonly=VMnet2 --net:nat=VMnet8 | 전부 bridged |
매핑을 주는 것이 안 주는 것보다 나쁩니다. VMnet 이름을 타깃으로 주면 ovftool이 그것을 인식하지 못하고 bridged 로 폴백하는 것으로 보입니다.
이대로 두면 시뮬레이터가 물리 랜에 직접 붙습니다. 클러스터 인터커넥트까지 사내망으로 나가게 되므로 설계가 완전히 깨집니다. 에러도 경고도 없기 때문에,
.vmx를 확인하지 않으면 모르고 지나갑니다.
이 동작이 ovftool 버전 문제인지 VMX 타깃 자체의 제약인지는 확인하지 못했습니다. “이 환경에서는 이렇게 동작했다” 로 읽어주십시오. 다만 어느 쪽이든 대응은 같습니다 — 임포트 후 .vmx 를 직접 확인한다.
해결 — .vmx 직접 수정
VM을 끈 상태에서 .vmx 를 텍스트 편집기로 열고 아래처럼 바꿉니다.
ethernet0.connectionType = "custom"
ethernet0.vnet = "VMnet2" # 클러스터 인터커넥트
ethernet1.connectionType = "custom"
ethernet1.vnet = "VMnet2"
ethernet2.connectionType = "custom"
ethernet2.vnet = "VMnet8" # 데이터 / 관리 (NAT)
ethernet3.connectionType = "custom"
ethernet3.vnet = "VMnet8"
이 수정이 맞았는지는 나중에 ONTAP이 알려줍니다. 클러스터를 세운 뒤:
cluster1::> network port show
Port IPspace Broadcast Domain Link MTU
--------- ------------ ---------------- ---- ----
e0a Cluster Cluster up 9000
e0b Cluster Cluster up 9000
e0c Default Default up 1500
e0d Default Default up 1500
e0a/e0b가 Cluster IPspace에 MTU 9000으로 잡히면 제대로 된 것입니다.
참고로 실장비였다면 이 자리가 케이블 배선입니다. 스위치리스 2노드 구성에서는 e0a—e0a, e0b—e0b 처럼 같은 포트끼리 직접 잇고, 링크 2개로 이중화합니다 (NetApp: Cable the cluster interconnect ports e0a to e0a and e0b to e0b). 가상 랩에서는 VMnet2 가 그 배선을 대신합니다.
4. 첫 부팅
네트워크를 잡았으면 켭니다. 첫 부팅은 디스크 초기화를 수행하므로 시간이 걸리고, 그동안 Ctrl-C 가 무시됩니다.
^CEnding netapp_loadnvram
First/recovery boot, disk initialization being performed, Ctrl-C ignored!
부트로더로 들어가야 한다면 초기화가 끝난 뒤 일반 재부팅에서 시도해야 합니다. 카운트다운이 4초로 짧으니 미리 키를 눌러두는 편이 낫습니다.
초기화가 끝나면 디스크 제로잉과 aggr0 생성 로그가 지나갑니다.
[raid.disk.fast.zero.done:notice]: Disk v0.16 S/N [07814900] : disk zeroing complete
[raid.vol.disk.add.done:notice]: Addition of Disk /aggr0/plex0/rg0/v0.16
to aggregate aggr0 has completed successfully
[wafl.transition.cp.completed:notice]: Transition CP with reason none ... on aggregate aggr0.
마지막에 System initialization has completed successfully 가 뜨면 클러스터 설정 단계로 넘어갈 준비가 된 것입니다.
5. VM 저장 경로 — 기본값이 OneDrive다
Windows에서 VMware의 기본 VM 저장 위치가 OneDrive 동기화 폴더 아래로 잡히는 경우가 있습니다. 그대로 두면 수십 GB짜리 VMDK가 클라우드로 동기화되기 시작합니다.
임포트 전에 저장 경로를 동기화 대상이 아닌 드라이브로 지정하십시오. ovftool 을 쓰면 대상 경로를 명시하게 되므로 이 문제를 자연히 피합니다.
정리
| 확인 지점 | 내용 |
|---|---|
| OVA 내부 | ovftool --hideEula <ova> 로 네트워크·디스크·사양 먼저 확인 |
--diskMode | ESXi 전용. Workstation에서는 빼야 한다 |
--net 매핑 | 주면 전부 bridged 가 된다. 안 주는 편이 낫다 |
| 임포트 직후 | .vmx 를 열어 connectionType 을 눈으로 확인 |
| 검증 | network port show 에서 e0a/e0b가 Cluster / MTU 9000 |
| 저장 경로 | OneDrive 동기화 폴더를 피할 것 |
다음 편에서는 이 노드 두 대로 클러스터를 묶습니다. 그 과정에서 “두 번째 노드는 시리얼 번호를 반드시 바꿔야 한다” 는 통념을 실제로 시험해봅니다.


