항상 Nutanix 장비를 구성하다보면 멀티벤더를 지원하기 때문에, 호환성 및 고객사 환경 등 여러가지 고려사항들이 많습니다. 

고객사에서 G8 장비를 아주 잘 쓰고 계셨는데, 이번에 예산이 좀 남아서 G9 장비를 추가로 샀다며 급하게 연락이 왔어요. 그냥 랙에 빈자리에 꽂고 랜선만 연결하면 끝날까요? 절대 아니죠. 뉴타닉스 클러스터 확장은 단순히 서버 박스 몇 대 더 밀어 넣는 물리적 작업이 아닙니다. 기존에 잘 돌아가던 인프라 생태계에 완전히 새로운 종을 투입하는, 아주 섬세하고 위험한 과정이거든요. 매뉴얼만 대충 훑어보고 호기롭게 작업 들어갔다가 클러스터 전체가 뻗어버리면, 그날 밤엔 집에 못 간다고 보셔야 합니다.


하드웨어 세대 교체의 첫 관문: 우리는 정말 섞일 수 있는가?

제조사, 아키텍처, RDMA. 이 세 가지는 현장에서 절대 타협이 불가능한 대원칙이에요. 기존 G8이 인텔 칩셋인데 이번에 납품된 G9이 AMD라면? 당장 박스 다시 예쁘게 포장해서 반품 처리부터 하셔야 합니다. 아키텍처가 다르면 한 지붕 아래서 단 1초도 같이 살 수 없거든요. 다행히 둘 다 인텔 기반이고 제조사도 동일한 NX 장비라면, 이제 본격적으로 세대 차이를 극복해 볼 차례입니다. 여기서 우리가 반드시 체크해야 할 기준이 바로 그 유명한 'N±3 법칙'이죠.

G8과 G9은 딱 1세대 차이니까 클러스터 전체 레벨에서는 큰 문제 없이 혼용이 가능해요.

혼재된 G8 및 G9 장비 구성도
혼재된 G8 및 G9 장비 구성도

그런데 왜 이 구성도를 유심히 보라고 할까요? 단순히 랙에 장비가 예쁘게 꽂혀 있는 걸 구경하라는 게 아닙니다. 눈을 크게 뜨고 블록(섀시)의 위치를 자세히 살펴보세요. G8 노드 3대가 하나의 2U 섀시 안에 오밀조밀 모여 있고, 새로 들어온 G9 노드는 완전히 다른 빈 섀시에 꽂혀 있는 걸 명확히 확인하셔야 합니다. 앞서 말씀드렸듯 이 '블록 단위의 세대 동일성'은 현장에서 절대 타협하면 안 되는 핵심 규칙이거든요. 아무리 랙 공간이 모자라도, 구형 G8 섀시의 남는 빈 슬롯에 신형 G9 노드를 억지로 찔러 넣는 순간 백플레인 통신에서 펌웨어 충돌이 나면서 멀쩡하게 돌고 있던 옆 노드들까지 줄초상을 치르게 될 겁니다. 눈으로 구성도를 직접 그려보면서 물리적 섀시 격리가 완벽하게 이루어졌는지 두 번, 세 번 의심하고 검증하는 습관을 들이세요.

CPU 성능 격차가 불러오는 대참사 방지법

무사히 세대 차이를 극복하고 클러스터를 하나로 묶는 데 성공했습니다. 그런데 문제가 하나 남았어요. G8은 Icelake, G9은 Sapphire Rapids 기반이죠. 두 CPU의 체급 자체가 완전히 다른데, 가상머신(VM)들이 두 노드 사이를 라이브 마이그레이션(vMotion)으로 자유롭게 넘나들 수 있을까요? 이대로 그냥 방치하면 가상머신이 호스트를 이동하는 찰나에 커널 패닉을 띄우면서 픽픽 쓰러져버립니다.

Set-Cluster -Cluster "Nutanix_Cluster" -EVCMode "intel-icelake"

자, 화면에 보이는 이 한 줄의 PowerCLI 명령어가 오늘 여러분의 퇴근 시간을 결정할 핵심 마스터키입니다. 그냥 매뉴얼 보고 생각 없이 복사해서 붙여넣기 하지 마시고, 각 파라미터가 시스템 내부에서 무슨 짓을 하는지 똑바로 이해하셔야 해요. 첫 번째 -Cluster "Nutanix_Cluster" 파라미터는 타겟을 정확히 조준하는 옵션인데, G9이 새로 편입되어 구성될 전체 클러스터 그룹의 논리적 이름을 매핑해줘야 합니다. 여기서 실수로 엉뚱한 클러스터를 잡으면 옆 부서 서버가 날아가는 대형 사고가 터지겠죠? 두 번째, 그리고 이 작업에서 가장 중요한 -EVCMode "intel-icelake" 옵션은 새로 들어온 짱짱한 G9의 멱살을 잡고 구형 G8 수준으로 스펙을 억지로 끌어내리는 강제 명령어 셋입니다. 왜 하필 'intel-icelake'라는 텍스트 값을 집어넣었을까요? 현재 우리 클러스터 생태계의 최하위 티어인 G8의 CPU 아키텍처가 바로 Icelake 기반이기 때문이에요. 만약 이걸 G9 기준인 'sapphire-rapids'로 잘못 입력하거나 아예 이 옵션을 빼먹어버리면, 기존 G8에서 얌전히 돌고 있던 가상머신들이 G9 호스트로 넘어가는 순간 새로운 CPU 레지스터 구조를 읽지 못하고 그대로 블루스크린을 띄워버립니다. 이 명령어를 실행했을 때 우리가 시스템으로부터 얻어내는 기대 결과는 아주 명확합니다. 클러스터 내 모든 물리적 호스트의 CPU 마스크가 완벽하게 하향 평준화되어서, 그 어떤 돌발 상황에서도 무중단 마이그레이션의 100% 무결성을 보장하는 안전지대를 구축해 내는 거죠.


네트워크 카드(NIC) 혼용: 스펙 시트의 숨은 그림 찾기

CPU 레벨 맞추고 물리적 위치까지 다 잡았다고 벌써 한숨 돌리기엔 이릅니다. 현장에서 엔지니어들이 제일 어이없게 사고 치는 파트가 바로 네트워크 카드(NIC) 구성이거든요. 벤더사 영문 매뉴얼 구석에 아주 작게 적혀 있어서 다들 무시하고 넘어가는데, 이거 대충 넘겼다간 호스트가 네트워크 파티션에 빠져서 클러스터에서 혼자 둥둥 떠다니며 고립되는 꼴을 보게 될 겁니다.

G6부터 G8까지 이어지는 구형 세대 장비들은 네트워크 구성에 있어 융통성이라곤 단 '1'도 없어요. 노드 내에 추가로 꽂히는 모든 NIC 카드는 칩셋 제조사부터 모델명, 심지어 파트 넘버까지 완전히 똑같은 일란성 쌍둥이 모델이어야만 합니다. 조금이라도 다른 칩셋이 섞여 들어오면 시스템이 방어 기제로 아예 인터페이스 자체를 다운시켜 버리거든요. 다행히 이번에 새로 들어온 G9 같은 신형 세대는 특정 조건 하에서 서로 다른 NIC 혼합을 어느 정도 눈감아주긴 합니다. 하지만 실무에서는 그냥 속 편하게 '모든 노드의 네트워크 인터페이스 칩셋과 속도를 하나로 통일한다'고 대못을 박고 작업하는 게 맞아요. 괜히 신형 노드 들어왔다고 호환성도 안 맞는 최신형 고속 NIC를 달아봤자, 기존 G8 장비들의 환경과 대역폭 스위칭 타임이 미세하게 어긋나면서 패킷 드랍이 발생할 확률만 기하급수적으로 뛰게 됩니다. 장비를 랙 마운트 하기 전에 납품 파트 리스트를 매의 눈으로 째려보면서, 기존 장비의 NIC 펌웨어 버전과 새로 올 G9의 NIC 스펙이 한 톨의 오차도 없이 맞물려 돌아가는지 반드시 크로스 체크를 진행해야 합니다.

스토리지 확장: 1대만 추가한다고? 어림없는 소리!

가끔 유지보수 담당자가 "저희 하이브리드(SSD+HDD) 클러스터 쓰는데, 이번에 디스크 IO 성능 좀 올리게 All-SSD 노드 딱 1대만 달아주시면 안 될까요?"라고 요청하는 경우가 있어요. 이때 고객사 담당자 눈치 보지 말고 단호하게 불가능하다고 잘라 말씀하셔야 합니다. 단순한 디스크 증설이 아니라 아예 새로운 노드를 확장하는 작업에서는 그런 꼼수가 절대 통하지 않거든요.

클러스터 데이터 복제 계수(Redundancy Factor, 보통 RF라고 부르죠)라는 녀석이 발목을 강하게 잡기 때문입니다. 대부분의 상용 현장에서는 RF2를 기본으로 세팅해 두는데, 이는 모든 데이터의 복제본이 최소 2개의 서로 다른 물리적 호스트 노드에 분산 저장되어야만 시스템이 정상 동작함을 의미해요.

기존 클러스터 타입 추가 가능 노드 타입 현장 주의사항
하이브리드 (SSD + HDD) A11-SSD 또는 Hybrid 새로운 스토리지 타입은 기존 클러스터의 RF 수치 이상의 노드 개수(최소 2대)로 진입해야 함
All-SSD All-SSD, Mixed, A11-NVMe 동일 미디어 확장 시 기존 장비와의 용량 비대칭성에 유의할 것

새로운 스토리지 타입인 All-SSD를 기존 하이브리드 생태계에 밀어 넣고 싶다면, 최소한 RF 값인 2대 이상의 All-SSD 노드를 한 번에 투입하셔야 합니다. 예산 아낀다고 1대만 덜렁 넣어버리면, 새로운 미디어 티어(All-SSD) 영역에서 데이터를 복제하고 이중화를 구성해 줄 '짝꿍 노드'가 없기 때문에 클러스터가 노드 추가 프로세스 자체를 거부하고 에러를 뿜어내며 뱉어내 버립니다.

공식 문서에는 없는 주니어를 위한 현장 꿀팁

실무에서 주의할 점: DIMM과 디스크 용량의 숨겨진 함정

G9 장비 박스 포장 뜯기 전에, 무조건 기존 G8의 메모리 클럭부터 확인하고 넘어가세요. G9은 기본 클럭 자체가 훨씬 높은데, 이게 클러스터에 섞이는 순간 전체 버스 속도가 가장 구형인 G8 램 속도로 곤두박질쳐버립니다. 비싼 돈 들여 산 고성능 메모리가 하루아침에 구형 모델 취급을 받게 되는 거죠. 또 하나 반드시 명심할 점이 있습니다. 기존 G8 노드 중 하나에 꽂힌 디스크가 4TB인데 새로 들이는 G9 디스크가 8TB짜리라면 어떻게 될까요? 멍청하게도 우리 시스템은 그 8TB를 기존 규칙에 맞춰 4TB로 강제 하향 인식해버립니다. 윗선에 결재받고 비싼 돈 주고 산 용량 절반이 허공으로 증발해버리는 최악의 상황인 거죠. 장비 납품 들어가기 전에 이런 끔찍한 용량 비대칭성 문제를 고객사에게 미리 구두로 명확히 경고하고 무조건 이메일이나 문서로 남겨두세요. 안 그러면 나중에 뒤집어쓰고 독박 쓰는 건 바로 현장에 있던 여러분이 될 테니까요.  후  무섭네요..

현장 감각을 잃지 마세요

서로 다른 세대의 하드웨어를 엮어내는 작업은 단순한 지식의 영역을 넘어 현장 경험의 영역입니다. 아키텍처를 점검하고, N±3 법칙 안에서 블록 단위의 물리적 독립성을 유지하는 일련의 과정들을 눈감고도 그릴 줄 아셔야 해요. 스토리지 RF 정책에 맞춰 노드 최소 수량을 방어하고 CPU EVC를 꼼꼼히 세팅하는 모든 요소가 톱니바퀴처럼 완벽하게 맞물려 돌아가야 합니다. 케이블 타이를 집어 들기 전에 장비 스펙 시트부터 넓게 펼쳐놓고 땀 흘려 크로스 체크하는 끈질긴 습관을 들이시길 바랍니다. 항상 말하지만 기록하는 습관만큼 중요한 건 없습니다.