System Compleat.

'Techs'에 해당되는 글 113건

  1. Tsunami UDP, boost sending files
  2. Lean startup
  3. AWS re: invent 2013 registration open!
  4. AWS new features now available.
  5. Nutanix - part 2. 1

Tsunami UDP, boost sending files

Techs


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


사실 국내 센터간의 파일 전송은 일반적인 TCP 전송 방법을 사용하더라도 그다지 느리게 느껴지지 않는다. 하지만 대륙을 건너 수십 기가바이트의 파일을 전송하고자 하는 경우에는 더디게 흐르는 Windows 95 모래시계를 볼 때 만큼 터지는 속을 주체 할 수가 없게된다. 


특정 시일내에 지정된 크기의 파일을 해외로 보내야 하는 경우에는 농담 같겠지만 사실 택배가 제일 빠르다. 요새 우습게 나오는 수 테라바이트의 하드 디스크 대여섯개 분량의 데이터라면 쉽게 10테라 바이트가 넘어가고 이는 초당 1MByte/sec 인 비교적 양호한 국제망 환경이라 하더라도 전송에 필요한 시간은 10,485,760 초, 17만 4762분, 2913 시간이며, 날짜로는 121일이 걸린다. 


이럴 바에야 그냥 디스크 5개를 택배로 보내는것이 네달 내내 데이터를 전송 하는 것 보다 훨씬 낫다는 말이다. 물론, 현지에 받아 줄 인프라 및 운용 인력이 있어야 말이 되겠지만. 


이런 부분에 조금이나마 걱정을 줄여 보고자, 제목과 같은 도구를 사용 하는 방법에 대해 소개 하고자 한다. 그럼 이 도구를 사용하면 얼마나 속도가 나오길래 그러냐 물을지도 모르겠다. 기본적으로 Tsunami UDP 는 전송 제어를 위한 TCP 연결과 실제 데이터 전송을 위한 UDP 포트를 각각 하나씩 사용한다. 일단은 TCP 처럼 혼잡 회피라던가 느리게 시작하는 알고리즘 및 기타 등등 복잡한거 생각 안하고 그냥 마구 쏘고 본다. 



Image from: http://en.wikibooks.org/wiki/Communication_Networks/TCP_and_UDP_Protocols



그래서 받는 측에서 정상적으로 받으면 좋은거고 못받으면 그냥 다시 보내면 된다. 이 단순한 구조로 인해 TCP 와 같이 회선 대역폭을 충분히 사용하지 못하는 경우에라도 높은 전송 속도를 사용하는 것이 가능하다. 단순 UDP 만을 사용하게 되면 분명 유실이 발생 할 수 있곘지만, Tsunami UDP 에서는 이런 누락된 부분을 다시 전송 할 수 있는 loseless 모드를 지원 한다. 따라서 전송 전과 전송 후 md5sum 과 같은 도구로 확인 해 보아도 동일한 파일이 무사히 전송 되는 것을 확인이 가능. 


설치 방법은 대략 아래의 스크립트를 사용하면 되겠다. 만약 AWS의 EC2 를 사용하는 경우라면 User data 부분을 이용해서 바로 인스턴스를 준비 하는 것도 가능. 아래의 스크립트는 N.Virginia 에서 cc2.8xlarge 인스턴스를 사용하는 경우 ephemeral disk 4개를 모두 사용하여 raid 0 로 묶고, 여기에 BtrFS 를 사용하도록 구성한다. 파일 시스템은 원하는 것을 사용해도 되며, 기타 실제 다른 데이터 센터로 전송하려는 경우에는 원하는 부분만 발췌해서 사용해도 무방. 



#!/bin/bash 

yum -y update 
mkdir  -p /root/tmp 
cd /root/tmp/ 

yum  -y install gcc c++ cc make automake  
wget http://downloads.sourceforge.net/project/tsunami-udp/tsunami-udp/tsunami-v1.1-cvsbuild42/tsunami-v1.1-cvsbuild42.tar.gz


tar xvzf tsunami-v1.1-cvsbuild42.tar.gz  
 
cd /root/tmp/tsunami-udp-v11-b42  
./recompile.sh 
make install

yum -y install btrfs-progs.x86_64 
mkdir -p /mnt/md0 
umount `mount | egrep ephemeral  | awk '{print $1}' `

disklist=`fdisk -l  | egrep '(GB)' | egrep -v xvda | awk '{print $2}' | cut -d":" -f 1 | sed ':a;N;$!ba;s/\n/ /g' `

echo y | mdadm --create /dev/md0 --chunk=1024 --level=0 --raid-devices=4 $disklist
mkfs.btrfs /dev/md0 

mount -t btrfs /dev/md0 /mnt/md0

exit 0



별로 심각한 수준에서 튜닝된 설정은 아니므로 적절한 값은 직접 확인을. 

전송을 위해서는 서버와 클라이언트가 필요한데, 클라이언트에서는 PUT 은 불가능하고 GET 만 가능 한 것으로 보인다. 


서버는 전송하고자 하는 파일이 위치한 디렉토리에서 아래와 같은 커맨드로 실행한다. 


tsunamid --hbtimeout=360 --verbose 



클라이언트는 tsunami 라는 도구를 사용하며, 서버로 부터 명시된 전체 파일을 가져오거나 특정 파일만을 전송 받는것이 가능하다. 


tsunami connect [HOSTNAME] get [FILENAME]



설정 가능한 내용들은 통상 다음과 같다. 


tsunamid: unrecognized option '--help'

Usage: tsunamid [--verbose] [--transcript] [--v6] [--port=n] [--buffer=bytes]

                [--hbtimeout=seconds] [filename1 filename2 ...]


verbose or v : turns on verbose output mode

transcript   : turns on transcript mode for statistics recording

v6           : operates using IPv6 instead of (not in addition to!) IPv4

port         : specifies which TCP port on which to listen to incoming connections

secret       : specifies the shared secret for the client and server

buffer       : specifies the desired size for UDP socket send buffer (in bytes)

hbtimeout    : specifies the timeout in seconds for disconnect after client heartbeat lost

filenames    : list of files to share for downloaded via a client 'GET *'


Defaults: verbose    = 1

          transcript = 0

          v6         = 0

          port       = 46224

          buffer     = 20000000 bytes

          hbtimeout  = 15 seconds



직접 사용을 해 보면, 다음과 같은 부분이 전송에 영향을 미친다. 


* 너무 짧은 heart beat timeout 은 전체 전송을 끊어버리는 현상을 발생 시킬 수 있다. 

* 클라이언트(수신측)의 Disk write 성능이 떨어지면 buffer 에 담긴 파일을 디스크에 쓰는 동안 UDP packet drop 이 발생할 수 있다. 



EC2 에서 region to region 복사의 경우, 1Gigabyte 정도는 10초 내에 전송 완료되는 것을 확인 할 수 있었다. 

다만 실제 데이터센터에서 본 도구를 사용하는 경우에는 발송하는 쪽의 대역폭이 성능에 영향을 미칠 수 있으므로, 실제 서비스로의 도입은 반드시 테스트 해 보고 결정 할 것. 성능은 그때 그때 달라효. 


물론, 보다 더 좋은 성능을 위한 커널 파라메터 튠이 존재하므로 다양한 방법으로 개선을 시도 해 봐도 좋을 듯. 


잠깐 검색을 해 보니 TCP 와 UDP 에 대한 괜찮은 정리가 있어 링크를 공유. 

http://en.wikibooks.org/wiki/Communication_Networks/TCP_and_UDP_Protocols


예전에는 이런거 공부하려면 Steven 책 밖에 없었던 것 같은데, 참 세상 좋다. 


본 도구를 이용한 보다 발전된 도구는 향후 준비 되면 다시 포스팅을. 

아 간만에 기술 포스팅 한다 정말. :) 


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





Lean startup

Techs


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


Lean startup






A sample video of a startup. 




Presentation with Prezi 





Animoto video 


Make your own slide show at Animoto.



Business PowToon 





Crowd funding 




Examples of crowd funding. 






















사업 자금 만든다고 은행 들락 거리는건 이제 옛말인듯. 


http://www.kickstarter.com/


http://www.instructables.com/id/Arduino-Projects/


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




AWS re: invent 2013 registration open!

Techs


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


Amazon Web Services 의 가장 큰 행사중 하나인 re: invent 가 사전 등록을 받습니다. 

링크는 아래. 


https://reinvent.awsevents.com/index.html  


좋은 행사이니 기회가 되면 꼭 참석 해 보시는 것이 좋을 듯. 



AWS new features now available.

Techs


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


1. AWS Data Pipeline 


아마존 서비스간의 주기적인 데이터 이동을 처리해 주는 서비스가 신설. 이를테면 DynamoDB 서비스의 데이터를 S3 로 백업 한다던가, EC2 에 쌓인 로그 데이터를 S3 로 넣고, 다시 이걸 EMR 서비스로 넣어서 데이터를 뽑고 결과를 SNS 를 통해 고객에 통보 하는 등의 서비스간 데이터 이동에 사용 하는 듯. 


즉, AWS 의 서비스를 다양하게 사용하고 있는 상태에서 주기적 데이터 이동이 필요한 경우 매우 용이하게 사용 할 수 있을 것으로 기대. 


자세한 사용 방법은 http://s3.amazonaws.com/awsdocs/datapipeline/latest/datapipeline-dg.pdf 를 참조. 



2. 새로운 타입의 EC2 인스턴스 추가 ( hs1.8xlarge ) 


AWS는 지속적으로 다양한 서비스 요구를 만족할 수 있도록 EC2 인스턴스를 개발하고 있는데, 이번에 다소 무지막지한 사이즈의 인스턴스를 새로 개발하여 발표. 이번에는 High Storage Instance 로서, 높은 Sequencial I/O 성능이 요구되는 경우 고려 해 볼 수있다. 


아마존의 인스턴스 소개 페이지에 따르면 스펙은, 


High Storage Instances 


117 GiB of memory

35 EC2 Compute Units (16 virtual cores*)

24 hard disk drives each with 2 TB of instance storage

64-bit platform

I/O Performance: Very High (10 Gigabit Ethernet)

Storage I/O Performance: Very High**

EBS-Optimized Available: No***

API name: hs1.8xlarge


그렇단다. 이 인스턴스를 사용하면 2.4GB/s 의 Sequencial Read, 2.6 GB/s 의 Sequencial Write 성능을 내 준단다. 8 vCPU core 에 하이퍼 스레딩이 되어 프로세서는 시스템 상에서 16개로 보일 듯. 윈도우 용으로 사용 할 때는 Windows Server 2008 R2 또는 Windows Server 2012 부터 지원, 그 이하 버전에서는 안되는 듯. 가격은 미국 버지니아 기준으로 시간당 $4.6/Hour (Linux), $4.931/Hour (Windows) 


http://aws.amazon.com/ec2/instance-types/

http://aws.amazon.com/ec2/pricing/


아직 한국어 페이지에서는 소개되지 않음. 



3. 새로운 타입의 EC2 인스턴스 추가 ( cr1.8xlarge ) 


방금 소개한 인스턴스가 강력한 스토리지 크기 및 성능을 원하는 서비스에 적합 하였다면, 이번에 소개 하는 인스턴스는 풍부한 메모리를 제공하는 인스턴스로, 저장보다는 무언가 빛의 속도로 계산 해야 한다던가 하는 경우에 매우 유용하게 사용 할 수 있겠다. 


High Memory Cluster Eight Extra Large Instance


244 GiB of memory
88 EC2 Compute Units (2 x Intel Xeon E5-2670, eight-core. Intel Turbo, NUMA)*
240 GB of SSD instance storage
64-bit platform
I/O Performance: Very High (10 Gigabit Ethernet)
EBS-Optimized Available: No**
API name: cr1.8xlarge


역시 미 동부 기준으로 가격은, Linux 용이  $3.5/Hour, Windows 용이 $3.831/Hour 되겠다. 

EC2의 클러스터 인스턴스에 대한 보다 자세한 정보는 


http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using_cluster_computing.html#concepts_cluster_compute_specifications




4. S3 서비스에서 이제 루트 도메인을 사용 할 수 있음. 


S3 서비스는 AWS 에서 가장 오래된 서비스 중 하나인데, 3~4년 전 즈음에 처음 접했을 때와 비하면 엄청나게 좋아졌다. 이번의 업데이트는 www.domain.com 과 domain.com 을 사용하여 S3 에서 직접 웹 페이지 또는 Static 컨텐츠를 서비스 할 수 있도록 지원한다. 이것은 딱히 무엇 하나의 기능이 더 좋아졌다 라고 말하기 보다는, S3 만 가지고도 Static 파일 정도는 서비스 할 수 있는 웹 서비스를 구동 할 수 있겠다는 측면에서 이해하는 것이 빠를 듯. 


자세한 구현과 관련된 정보는 다음의 링크를 참조. 

http://docs.aws.amazon.com/AmazonS3/latest/dev/website-hosting-custom-domain-walkthrough.html?ref_=pe_12300_27877600




이렇게 꾸준히 서비스가 확장되는 것을 보면, 제대로 이 바닥을 훑고 있는 것 같다. 

저런 새로운 인스턴스들과 저 놀라운 가격을 보면 사실 입이 다물어지지 않을 정도.  $350를 가지고 아마존에서 1시간 동안 무슨 인스턴스를 어떻게 돌릴 수 있는지 생각을 조금만 해 보면, 그리고 그걸 예전 서버를 사서 넣던 시절과 비교를 해본다면, 이런 바닥부터 바꾸는 서비스의 가치가 얼마나 대단한 것인지 깨닫게 될 것이다. 


물론, 또 몇년 더 지나면 잊혀질 수도 있겠지만. 



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




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, 정윤진)