System Compleat.

'10g'에 해당되는 글 1건

  1. Nutanix - part 2. 1

Nutanix - part 2.

Techs


(younjin.jeong@gmail.com, 정윤진) 


가상화 인프라를 크게 나누면 개인적인 생각으로는 크게 3개의 Entity 가 나온다. Compute / Connect / Store 가 바로 그것인데, 이 세가지의 가상화를 어떻게 하는것인가가 매우 중요하다고 생각해 왔다. Compute 의 경우에는 VMware 나 Citrix, 또는 오픈 소스 계열의 KVM 등이 있고, 이것들은 다른것들에 비해 일찍 개발되고 안정화 되어 왔다. 


하지만 다른 두가지의 경우에는 이야기가 조금 다른데, Network 가상화는 1대의 가상화 서버의 규모에서는 진즉에 이루어 졌지만, 대단위의 클러스터 규모에서의 가상화는 최근 2-3년 사이에 문제가 대두되어 솔루션을 내는 회사들이 생겼다. 하여 지난번 포스팅 중 Nicira 의 VMware 인수와 관련하여, 그럼 과연 Storage 는 누가 어떻게 풀어 낼 것인가 하는 질문을 던진적이 있는데, 오늘 두번째로 언급할 이 Nutanix 가 바로 그 제품이 아닌가 싶다. 


사무실에 Demo 장비가 들어오고, 간단한 initial setup 을 구성 해 보았다. Nutanix 측에서 support 페이지에 대한 권한을 줬는데,  Salesforce 서비스에서 함께 제공하는 고객 관리 도구로서 Case open /close 나 문서, Knowledge base 를 한꺼번에 확인이 가능하기 때문에 매우 편리했다. 


아무튼, 이제부터 하나씩 제품을 살펴보도록 하자. 



1. 하드웨어 



The Nutanix 2000 Series



Arista 7124SX 한대를 지원 받아 10G 를 모두 연결하고, 사내망에 공유기를 하나 붙여서 공유기와 각 노드의 1G 를 연결, 그리고 파워 케이블 2개를 연결 하는 것으로 기본 설치는 종료. 


이 하드웨어는 4개의 서버가 들어있는 멀티노드 구조의 샤시로서, 전면에 설치된 디스크와 아래의 이미지 처럼 생긴 서버들이 각각 매핑되어 있다. 정리하면, 앞에는 디스크, 뒤에는 서버, 뭐 그런 구조. 


Nutanix node


그러니까 어레이를 포함하는 2U 샤시를 block, 이 서버 한대를 노드라고 부른다. 뭐 명칭이야 별다를 것은 없고. 

노드 하나를 잘 살펴보면 다음과 같은 구조임을 알 수 있다. 


1. 프로세서 소켓은 두개 

2. 메모리 뱅크는 총 12개 

3. Fusion IO 350GB

4. 1G Embedded NIC X 2

5. IPMI X 1

6. 10G X 1


이것은 2000 시리즈의 장비인데, 얼마전에 발매된 3000 시리즈의 경우에는 Fusion IO 및 10G 포트 구성, 메모리 사이징 등을 옵션으로 변경 가능 하다고 하는 것 같다. 


아울러 케이스를 벗겨낸 전면부를 살펴보면 아래의 그림과 같이 디스크들이 설치되어 있다. 


Nutanix disk array

그러니까 이 제품은 스토리지 + 서버 4대 의 구성을 가지는 하드웨어를 기본으로 하고 있다고 생각하면 된다. 조심해야 할 사항은 이것은 블레이드 서버가 아니며 단순히 고밀도로 서버를 집적한 것이므로, 샤시 내부에서 디스크 연결을 위한 백플레인 이외의 블레이드 서버와 같은 장치는 없다. 


이러한 하드웨어적 구성은 다음과 같은 장점을 가진다. 


1. 전력 사용에서의 압도적 우위. 

2. 각 부분의 모듈화로 교체가 매우 편리. 

3. 시스템적 구조는 일반 x86 과 완전히 동일. 


가상화 환경을 고밀도로 집적하기 위해 얼마나 많은 공을 들였는지 쉽게 알아 볼 수 있다. 아울러 제품이라면 이런 모듈화된 형태의 구성을 취하여 향후 발생할 불량 및 고장으로 인한 교체를 용이하게 처리 할 수 있다는 장점이 있다. 아울러 서버를 주렁주렁 매달아 놓을 필요가 없고, Nutanix 를 사용하기로 결정 하였다면 별다른 고민 없이 그저 쌓아 올리기만 하면 된다. 



2. NOS, 소프트웨어 


자, 그럼 이 개별 노드들에는 어떤 OS가 올라가 있을까? 시스템에 전원을 넣고 후면부에 있는 콘솔을 연결 해 보면, 우리와 매우 친숙한 VMware 의 ESX 서버 콘솔이 나온다. 어머나. 


IP 는 설정 되어 있지 않고, 기본 패스워드는 장비를 공급 받으면 할당되는 support 페이지의 설치 매뉴얼에 나와있다. 로그인 해 보면, 네트워크 설정이나 기본 암호 설정 이외에는 별로 만질것도 없다. 


필자가 이해한 바를 바탕으로 간단하게 Nutanix 의 구조를 그려보면 다음과 같다. 


Nutanix 1대의 블록에는, 위의 그림과 같은 내용물들이 들어있다. 디스크들은 각 노드에 구획지어져 연결되며, 여기서 디스크 간의 적접 통신은 발생하지 않는다. 각 노드들은 VMware 의 ESX 를 구동하고 있으며, 이 안에 바로 Nutanix 의 Controller VM 이라 불리는 VM 들이 하나씩 동작한다. 


그림에서 CVM 이라 표시된 이 VM 들은 절대 사용자가 지우거나 수정하면 안되며, Nutanix 클러스터를 운용하는데 있어 핵심적인 역할을 수행한다. 이 "핵심적인" 역할이 무엇인고 하니, 바로 다음의 그림과 같은 기능 되시겠다. 


CVM feature

Image from: http://www.vclouds.nl/2013/01/07/nutanix-new-hardware-platform-nx-3000/



그림 두개가 연속적으로 나와서 다소 혼란스러울 수 있지만, 살짝 정리해 보면 다음과 같다. 


1. ESX 서버는 eUSB 라 불리는 4G 의 저장공간에 설치되어 있다. 

2. VM Swap 및 Nutanix Controller VM 은 300G의 SATA-SSD 에 설치되어 있다. 

3. 클러스터의 생성, 관리, 설정은 모두 CVM 에서 제공하는 Web UI 또는 CLI 도구를 사용한다. 

4. VM에 할당하기 위한 Disk resource pool 과 Container 를 설정하고 나면, 클러스터의 모든 ESX 서버에 자동으로 할당된다. 

5. 나머지는 VMware 를 사용하는 것과 완전히 같다. 




3. 그래서? 어쩌라고? 


나 역시 직접 만져보기 전 까지는 단순히 획기적인 Share disk 모델을 가진 장비중 하나 라고만 생각 했었다. 하여 일반적으로 구성하는 가상화 환경과의 비교에서도 서버 4대랑 스토리지 1대 뭐 이런식으로 가격 비교를 하곤 했다. 


결론적으로 하드웨어적인 이런 단순 비교는 의미가 없다. 어떻게 만들었는가에 대한 구성 비교는 쓸데 없는 일일 뿐이다. 목표는 몇개의 VM 을 얼마나 안정적으로 구동하는 것이 가능한가가 아니겠는가. 


VDI 환경을 만들어서 Windows 7 VM 을 임직원에게 서비스 한다고 가정 해 보자. 그럼 보통 Windows 7 VM 은 다음과 같은 요구 조건을 가진다. 


1. 1-2 vCPU or Cores 

2. 2GB RAM at least

3. 20G OS disk + 40G (?) additional disk 


Nutanix 제품으로 메모리와 프로세서에 대해 옵션을 선택 하여 사이징에 도움을 받을 수 있다. 하지만 일단 이번에 받은 데모 제품을 기준으로 산정 해 보면,  Node 당 약 45대 정도의 Windows 7 구동이 가능하다. 그렇다면, 1개의 블럭을 사용하면 약 180개의 Windows 7 VM 을 구동하는게 가능하다는 말이 된다. Disk IO 성능의 심각한 저하 없이. 


테스트를 조금 해보았다면 알겠지만, 가상화 서버 20대씩 쌓아 두고 기존의 SAN이나 NAS로 스토리지를 사용하여 클러스터링 하는 경우, IO의 병목으로 인해 일반적으로 VM 200대 이상 구동하는 것은 굉장한 무리가 있다. 따라서 아무리 기존 SAN / NAS 스토리지 벤더가 가격을 후려치더라도, Nutanix 가 훨씬 더 매력적일 수 밖에 없는 것이다. 


VDI 환경 구축을 고려중이라면, 반드시 다음의 문서를 살펴보기를 권한다. http://bit.ly/yN9S01  


이 테스트를 보면, 노드당 50 개의 VM 을 올려서 RAWC 도구를 사용하여 시스템을 테스트한다. 어차피 오픈된 문서이기 때문에 문서중에서 가장 임팩트가 있는 테스트 결과 부분을 살펴 보면 놀랍게도 아래와 같다. 


클러스터에서 동작하고 있는 VM 이 300개이던 3천개이던, 응답 시간 변화에 거의 차이가 없다. 

이런 클러스터를 만들기 위해서는 아마도 기존의 Shared storage 모델에서는 전체 디스크를 메모리로 바꿔야 가능 할 지도 모르겠다. 


아무튼 기술적으로 들어가기 시작하면 원래 클라우드 아키텍처 자체에 대해서는 밤을 새고 떠들고 해도 모자를 텐데, 이 제품은 그게 필요가 없다. 만들고 싶으면, 그냥 사다가 쓰면 된다. 고민 할 필요 없이 높은 성능과 고가용성, 그리고 충분히 검증 할 만큼의 레퍼런스를 미국 내에서는 가지고 있기 때문에. 



4. 마치며 


마지막으로 제품에 대해 간략하게 정리하면, 아래와 같다. 


1. 기존의 가상 컴퓨팅 환경 구성에는 오픈소스가 필수 요소였다. Nutanix 는 상용이며, 오픈소스 몰라도 된다. 

2. 기존의 가상 컴퓨팅 환경 구성에는 무수히 많은 벤더가 필요 했다. Nutanix 는, Nutanix 로 관리가 일원화 된다. 

3. 기존의 가상 컴퓨팅 환경은 무수히 많은 장애 포인트가 있으며, 상당한 수준의 DevOps 확보 없이는 운용이 쉽지 않았다. Nutanix 는 사람 부르면 된다. 

4. 중요한 사항은 가상 컴퓨팅 환경을 어떻게 쓰는가이지, 어떻게 만드는가는 아니다. 

5. 기존에는 돈을 아무리 많이 써도 불가능 했지만, Nutanix 는 적정 수준의 비용으로 소기의 목적을 이루어 줄 수 있을 것이다. 



그리고 Nutanix 의 VP 와 SE 랑 이야기 해 본 결과, 


1. KVM 지원 제품이 이미 나왔다. 

2. 향후 Hyper-V 를 지원 할 것 같다.

3. 10G 가 하나뿐이었지만, 이제 2개가 달린 모델을 고를 수도 있다.

4. Cloudstack / Openstack 등의 클라우드 관리 소프트웨어와 연계 할 수 있도록 4월 중에 API 가 달려 나올 것이다. 




5. 덧: 테스트 및 Nutanix UI 소개 


UI 는 대부분의 Enterprise 스토리지들이 제공하는 것 보다 깔끔하며, 기능적으로도 부족함이 별로 없어 보인다. Dashboard 에서는 전체 클러스터의 상황을 한눈에 쉽게 알아 볼 수 있으며, 세부 정보들에서는 VM의 사용량, 특히 스토리지 사용에 관한 레포트를 아주 디테일하게 살펴 볼 수 있다. 



Nutanix WebUI


각 노드에서 동작하고 있는 VM의 수량, 전체 IOPS 및 IO Bandwidth, Tier 와 Pool, VM, Container 등 모든 정보를 확인 할 수 있다. 



Nutanix bonnie++ test with 3VMs


Ubuntu 12.04 를 3대를 준비해서 bonnie++ 를 돌려본 그림이다. 1대, 2대 3대 한대씩 늘려가면서 했는데, 어차피 병목이 발생할 만한 숫자는 아니라서 그냥 3개 같이 돌린 자료를 올린다. vCenter Trial 라이센스가 만료되는 바람에 50개씩 올려보는 테스트 해 보고 싶은데... 150개 VM vSphere client 에서 프로파일 만드는 것이 엄두가 나지를 않음... ㅠㅠ 


아무튼 그래프를 살펴보면 bonnie++ 가 언제 Random / Sequencial IO 를 테스트 했는지 알 수 있다. Latency 의 증가는 ms 단위이므로 그다지 신경쓸게 못될 것으로 보이며, 어차피 Saturation point 가 발생 할 만큼의 VM 숫자가 없었기 때문에 큰 의미는 없다. 그냥 VM 3개 돌렸는데 Max bandwidth 230Mbytes/sec 나오더라 뭐 그정도...? 


bonnie++ 구동 옵션은 다음과 같았음


bonnie++ -d /tmp/scratch -c 100 -s 2048:512 -n 10 -r 1024 -x 3 -u root:root 

근데 결과 값이 파싱이 안되서 나오는... 음 


행여 vCenter 라이센스를 구하게 되면 150대에서 full bonnie++ 테스트를 수행 해 보고 싶다능. 



아래는 Youtube 에 올라온 몇가지 동영상. 



Nutanix Demo





Nutanix 50 node cluster





One another Nutanix Demo by Steve Poltras (@StevenPoltras)




더 궁금한 내용이 있다면 일단 Nutanix 홈페이지 투어 부터. 



(younjin.jeong@gmail.com, 정윤진)