ONTAP Simulator 2노드 클러스터를 만들려고 검색하면 대부분 이렇게 나옵니다.
“같은 OVA를 두 번 임포트하면 시리얼 번호가 같으므로, 두 번째 노드는 부트로더에서 시리얼과 시스템 ID를 반드시 변경해야 한다.”
이 글은 두 가지를 다룹니다. 둘 다 랩에서 직접 확인한 결과입니다.
- 시리얼을 바꾸지 않고 조인하면 실제로 어떻게 되는가
- 2노드 클러스터를 만들어도 HA가 안 되는 이유
이 글의 실습 환경
이 글은 ONTAP Simulator 9.17.1 기반 가상 랩에서 직접 명령을 실행하고 그 출력을 근거로 작성했습니다. VMware Workstation Pro 25H2 환경입니다.
이 글은 특히 이 고지가 중요합니다. 아래에서 다루는 HA 관련 내용은 시뮬레이터에만 해당하며, 실제 장비(FAS/AFF)의 동작과 다릅니다. 성능·하드웨어 의존 동작은 재현되지 않고, ONTAP 버전에 따라 명령과 출력이 달라집니다.
1. 사전 확인 — 라이선스 파일의 구조
시뮬레이터 라이선스 파일을 열어보면 세 그룹으로 나뉘어 있고, 각 그룹에 시리얼 번호가 명시되어 있습니다.
Cluster Base License (Serial Number 1-80-000008)
Licenses for the first node (Serial Number 4082368507)
Licenses for the second node in a cluster (Serial Number 4034389062)
두 번째 노드용 라이선스가 다른 시리얼에 묶여 있다는 점이 “시리얼을 바꿔야 한다”는 통념의 근거로 보입니다.
2. 노드의 실제 시리얼 표기를 확인하는 법
cluster1::> system node show -fields node,model,serialnumber,systemid
node model serialnumber systemid
----------- ------ ------------- ----------
cluster1-01 SIMBOX 4082368-50-7 4082368507
- System ID:
4082368507— 라이선스 파일의 숫자와 동일 - Serial Number:
4082368-50-7— 하이픈이 7-2-1 패턴으로 들어갑니다
추측하지 말고 이 명령으로 실제 표기를 먼저 확인하십시오.
3. ⭐ 시리얼을 바꾸지 않고 조인해봤다
부트로더 진입을 시도했으나 최초 부팅에서는 인터럽트가 막혔습니다.
^CEnding netapp_loadnvram
First/recovery boot, disk initialization being performed, Ctrl-C ignored!
최초 부팅은 디스크 초기화를 수행하므로 Ctrl-C 가 무시됩니다. 초기화가 끝난 뒤 일반 재부팅에서는 로더 프롬프트가 정상적으로 열립니다 — 카운트다운이 4초로 짧으니 미리 키를 눌러두는 편이 낫습니다.
그래서 시리얼을 바꾸지 않은 채로 두 번째 노드를 조인시켜봤습니다.
결과 — 조인은 정상적으로 완료됐다
cluster1::> cluster show
Node Health Eligibility
--------------------- ------- ------------
cluster1-01 true true
cluster1-02 true true
cluster1::> system node show -fields node,serialnumber,systemid
node serialnumber systemid
----------- ------------ ----------
cluster1-01 4082368-50-7 4082368507
cluster1-02 4082368-50-7 4082368507
시리얼과 System ID가 완전히 동일한 상태로 두 노드가 정상 조인됐습니다. 클러스터 인터커넥트도 양쪽 모두 정상(e0a/e0b, Cluster IPspace, MTU 9000)이었습니다. 실장비라면 이 인터커넥트가 e0a—e0a, e0b—e0b 로 직결하는 물리 케이블이고, 여기서는 VMnet2 가 그 역할을 합니다.
디스크 소유권도 문제없었다
가장 우려되는 부분이 디스크 소유권입니다. 소유권은 System ID로 기록되기 때문입니다.
cluster1::> storage disk show -fields disk,owner,owner-id
disk owner owner-id
--------- ------------ ----------
NET-1.1 cluster1-01 4082368507
NET-1.29 cluster1-02 4082368507
owner-id 는 동일하게 표시되지만, 소유권은 노드별로 정확히 분리됩니다. 각 노드에 애그리게이트도 문제없이 생성됐습니다.
부수 효과 — 라이선스가 오히려 간단해진다
first node 라이선스가 4082368507 에 묶여 있는데 두 노드가 같은 시리얼이므로, 이 키 세트 하나로 양쪽이 커버됩니다. second node용 키는 해당 시리얼을 가진 노드가 없으므로 쓰이지 않습니다.
그래서 바꾸지 말라는 뜻인가
아닙니다. 이 글이 확인한 것은 딱 이 범위입니다 — 클러스터 조인, 디스크 소유권 분리, 애그리게이트/볼륨 생성, 라이선스 적용까지 전부 정상이었다는 것.
확인하지 않은 것도 분명히 해둡니다 — 장기 운영 시 영향, 시뮬레이터 외 환경, 노드 수를 더 늘렸을 때. 이 세 가지는 시험하지 않았습니다.
문서에는 뭐라고 되어 있나
NetApp 공식 문서에서 “2번째 노드의 시리얼/시스템 ID를 반드시 변경해야 한다”는 요건은 찾지 못했습니다. 이 통념은 커뮤니티 가이드와 블로그를 통해 퍼진 것으로 보입니다.
문서에 요건이 없고, 실측에서도 조인·소유권·라이선스가 모두 정상이었습니다. 근거로 제시되는 공식 출처가 없는 상태에서 통념만 반복되고 있는 셈입니다.
실장비에서는 애초에 생기지 않는 문제다
실제 장비는 컨트롤러마다 시리얼과 System ID가 다르게 나옵니다. 그래서 이 문제가 생기지 않고, 바꾸는 방법도 없습니다.
지금 두 노드가 같은 시리얼로 보이는 것은 테스트용 OVA를 두 번 임포트한 가상 머신이기 때문입니다. 즉 이건 시뮬레이터에서만 나타나는 현상이고, 실장비를 다루는 관점에서는 고민할 대상이 아닙니다.
4. 2노드인데 HA가 구성되지 않는다
2노드 클러스터를 만들었으니 HA를 켜려고 하면 이런 에러가 납니다.
cluster1::*> cluster ha modify -configured true
Error: command failed: Cluster high-availability can only be enabled
on a cluster with exactly two eligible nodes.
“정확히 두 개의 eligible 노드가 필요하다” 고 합니다. 그런데 확인해보면 조건을 만족합니다 — 정확히 2개, 둘 다 eligible. 메시지와 실제가 맞지 않습니다.
실제 상태
cluster1::> storage failover show
Node Partner Possible State Description
-------------- --------- --------- ------------------
cluster1-01 - - Non-HA mode
cluster1-02 - - Non-HA mode
두 노드 모두 파트너가 없고 Non-HA mode 입니다. 노드 수 문제가 아니라 컨트롤러 레벨에서 HA가 꺼져 있는 것입니다.
왜 안 되는가 — HA의 전제조건을 보면 답이 나온다
NetApp 공식 문서는 HA 페어의 구성 조건을 이렇게 정의합니다.
The HA pair controller configuration consists of a pair of matching storage controllers (local node and partner node). Each of these nodes is connected to the other’s disk shelves. When one node in an HA pair encounters an error and stops processing data, its partner detects the failed status of the partner and takes over all data processing from that controller.
— Learn about HA pair management in ONTAP clusters, NetApp 공식 문서
핵심은 각 노드가 상대방의 디스크 셸프에 연결되어 있어야 한다는 조건입니다. takeover는 파트너의 스토리지를 대신 받아 서비스하는 동작이므로, 두 노드가 동일한 디스크에 물리적으로 닿아 있지 않으면 애초에 성립하지 않습니다.
시뮬레이터 VM은 각자 자기 가상 디스크만 가집니다. 공유 경로가 없습니다. 앞서 본 storage disk show 출력에서 디스크가 노드별로 깔끔하게 나뉘어 있던 것이 그 증거입니다. 서로의 디스크가 보이지 않으니 storage failover show 가 Non-HA mode 일 수밖에 없습니다.

e0a—e0a, e0b—e0b 로 직결하고 시뮬레이터는 VMnet2 가 그 역할을 한다. 갈리는 것은 디스크다. 왼쪽처럼 상대 셸프에 닿아야 takeover가 성립하는데, 시뮬레이터에는 그 경로가 없다.즉 이건 끄기를 잊은 설정이 아니라 구조적으로 불가능한 것입니다. 이 에러는 노드 수를 탓하지만 실제 원인은 다른 곳에 있습니다. 에러 메시지만 믿고 노드 구성을 의심하면 시간을 버립니다.
참고: 위 인용문은 HA 페어의 일반 요건을 설명한 문서이며 시뮬레이터를 명시적으로 언급하지는 않습니다. 따라서 “셸프 공유가 없어서 안 된다”는 것은 문서로 확인된 요건에 근거한 해석입니다.
그렇다고 2노드가 무의미한 것은 아니다
2노드 클러스터 ≠ HA 페어입니다. HA가 안 될 뿐 클러스터는 정상 동작하고, HA 없이도 되는 것들이 있습니다.
volume move— 노드 간 볼륨 무중단 이동- LIF 마이그레이션 — 노드 간 논리 인터페이스 이동
- 노드별 애그리게이트 분리 구성
실습 목적이 takeover/giveback이 아니라면 2노드를 유지할 가치가 충분합니다. 다만 실제 FAS/AFF 2노드 클러스터는 HA 페어로 동작하며 takeover/giveback이 가능합니다 — 시뮬레이터로 그 부분까지 연습할 수는 없습니다.
정리
| 통념 | 랩에서 확인한 것 |
|---|---|
| 시리얼을 안 바꾸면 조인이 실패한다 | 조인 정상 완료 |
| 시리얼이 같으면 디스크 소유권이 꼬인다 | 노드별로 정확히 분리됨 |
| 두 번째 노드 시리얼을 바꿔야 한다 | 실장비는 컨트롤러마다 시리얼이 달라 애초에 문제가 없고, 바꾸는 방법도 없다 |
| 2노드면 HA가 된다 | 시뮬레이터는 HA 미지원 (셸프 공유 없음) |
cluster ha 에러 = 노드 수 문제 | 실제 원인은 컨트롤러 HA 설정 |
이 시리즈의 다른 글도 같은 구조입니다 — 에러 메시지가 가리키는 곳과 실제 원인이 다른 경우. NFS 마운트가 “access denied”로 거부될 때는 export policy가, CIFS 조인이 “LDAP Error”로 실패할 때는 역방향 DNS가 진짜 원인이었습니다.


