본문 바로가기

OS & network/solaris

Oracle Solaris ZONE을 사용해야 할 분명한 이유!

지난 수년간 가상화는 업계의 화두 였으며 , 클라우드와 빅데이터와 더불어서 현존하는 인프라를 지탱하는 가장 큰 주제 입니다.


이러한 가상화 열풍속에 vmware , hyper-v , xen 과 같은 많은 제품들이 시장에서 경쟁하였지만, 자신만의 아이덴티티를 가진 확고한 가상화 ..


바로 솔라리스 zone 에 대한 identity 를 간략하게 기술해 볼까 합니다.



Figure 1



현재 시스템들은 클럭의 경쟁에서 코어의 경쟁으로 엄청나게 많은 리소스를 할당할 수 있게 되었고 , 이러한 리소스들은 가상화 기능이 탑재된 시스템에 포팅되어 사용이 되어 왔습니다.


개념적으로는 다양한 개념들이 나와 있으나 , 가장 일반적인 Host 기반인 vmware 나 hyper-v , kvm 과 같은 가상화 제품은 x86 기반이라는 장점과 멀티플랫폼을 지원하는 점이 강점이긴 하지만, 운영체제가 별도 탑재 되어야 하는 만큼 몇가지 단점을 가지고 있습니다.



첫째 , 별도의 OS 라이센싱이 문제


 기업의 입장에서 가상화를 위해 많은 비용을 지불하기를 원하는 경우는 없겠죠.

 vmware esx 제품은 업계 선두 제품으로 안정성을 인정받고 있으나 , vm 당 별도의 비용이 발생하는것은 기업 입장

 에서는 초기에 부담이 될 수 밖에 없습니다.

 hyper-v 는 윈도우 2008/2012 등에 탑재되어 cpu 4개 , RAM 64G 까지는 별도의 비용 부담 없이 사용이 가능하다는 장점이 있기는 하지만, 윈도우와 리눅스만 지원되고 , vm 내의 OS 라이센스는 역시 별도 발생된다는 점이죠.


==> 솔라리스 ZONE은 솔라리스 내장 기술이며 별도의 비용이 발생되지 않고 , 라이센스 이슈가 당연히 없습니다.


둘째 , OS 및 I/O 오버헤드 문제

 vmware나 hyper-v 같은 하이퍼바이저 기반 가상화 제품들은 별도의 OS를 설치해야 하므로 더 많은 리소스가 필요합니다.  예를 들어 vmware나  hyper-v 에 존재하는 vm에 mssql 2008 을  설치하고자 한다면 vm에 윈도우 서버를 설치하고 mssql 을 별도 설치해야 합니다.

당연하게 별도 설치해야 하는 만큼 디스크 공간 낭비가 생기고 , OS 설치에 따른 시간이 추가로 소요(설령 이미지를 사용한다고 해도) 되고 , 더 많은 메모리를 요구하게 됩니다. 

게다가 이러한 호스트 기반 제품들은 다수의 VM을 동시에 구동하면 I/O 저하가 심각하게 발생하는 문제를 가지고 있습니다.


==> 솔라리스 ZONE은 별도의 OS 를 설치하지 않습니다.  디스크 공간도 최소한으로 사용되며 , OS 구동을 위한 메모리도 40메가 정도면 충분히 구동됩니다. 어느 OS 가 40메가 정도에 부팅될까요?

더 중요한 점은 다수의 ZONE을 구동해도 I/O 성능은 99% 유지 됩니다. ( I/O 성능은 오라클의 BMT 자료 참고)



셋째 , 강력한 파일시스템인 ZFS 와의 통합 구성


솔라리스만의 차별화되는 파일시스템인 ZFS를 기반으로 손쉽게 스냅샷과 복제를 수행할 수 있습니다.

스냅샷과 복제를 이용하여 복구 시간을 현저하게 감소 시켰을 뿐 아니라 , 가용성 , 온라인 아카이빙 등의 부가 기능도 제공할 수 있습니다.


넷째 , 강력한 하드 파티셔닝 기술


솔라리스의 컨테이너 기술인 ZONE은 cpu 및 메모리할당과 같은 기본적인 리소스 할당 이외에도 FSS와 같은 기능을 이용하여 VM간의 경쟁을 막고 안정적인 서비스를 할 수 있도록 제공합니다.


이를 테면 3개의 VM중에 DB VM에 로드가 많이 생겨서 WEB VM 이나 FTP VM 에 성능저하를 유발할 수 있는데 , 이런 경우 FSS 를 이용하여 공정하게 리소스를 할당하여 WEB 이나 FTP 서비스에는 영향이 없도록 할 수 있다는 것입니다.



다섯째 , 보안을 위한 네트워크 격리


솔라리스 11 부터는 Exclusive IP 라는 개념으로 VNIC 과 Etherstub 등의 가상 네트워크 환경을 제공합니다.

해당 기능을 이용하면 손쉽게 ZONE 을 생성 후 보안을 위해 격리(Isolate ) 시킬 수 있습니다.

물론, 이러한 격리 조치에 추가적으로 ipfilter 를 적용하여 inbound / outbound 패킷에 대한 접근 제어를 할 수 있고 L3/L4 레벨의 로드밸러싱을 제공하여 최적의 성능을 제공합니다.

또한, ZFS를 이용하여 존의 암호화가 가능하고 , 읽기 전용 ZONE 을 이용하여 무결성이 유지되어야 하는 경우는 데이터의 변조 등을 막을 수 있게 됩니다.



여섯째, 스팍과 x86 모두 지원


vmware나 hyper-v 는 x86만 지원됩니다 . 그러나, zone은 스팍과 x86 모두에서 동일한 방법으로 지원이 되고 심지어는 각 머신에서 생성한 존을 상호간에 이전하는 것도 가능합니다.



일곱번째 , 클러스터와의 통합 운영


솔라리스 클러스터를 통해 고가용성을 위해 각 호스트에 별도의 존을 생성 후 각 존을 클러스터링으로 묶어 부하 분산은 물론, 장애극복이 가능하도록 구성할 수 있습니다. 



여덟번째 , 오라클 스택의 사용이 가능  (오라클 데이터 베이스 및 오라클 어플리케이션 사용자에 한함)


오라클은 하드웨어와 소프트웨어를 통합하여 강력한 성능과 안정적인 서비스를 제공하는 엔지니어드 시스템을 제공하고 있는데 , 이러한 엔지니어드 시스템에 솔라리스는 오라클 리눅스와 더불어 선택적으로 사용할 수 있습니다.

오라클 퓨전 어플리케이션, 오라클 퓨전 미들웨어 ,오라클 데이터베이스, 오라클 엑사데이터와 엑사로직등이 통합되어 제공되고 , 이러한 오라클 어플리케이션들이 ZONE 내에서 설치 및 구동이 가능합니다.

물론 최적화 되어 설치 되므로 타 벤더의 서버에 설치하는 것과는 달리 더 나은 성능을 보장 받게 됩니다.


** 이건 ZONE만의 특징이라고 할 수는 없지만, 솔라리스 11은 오라클 12 c에 대한 I/O 분석을 Dtrace 로 할 수 있습니다.

성능 분석과 제공을 위한 솔라리스 만의 identity 라고 할 수 있습니다 . 오라클 리눅스 6.4에도 Dtrace 가 지원되나 , 오라클 데이터베이스에 대한 분석이 지원되지 않습니다. **



아홉번째 ,  유연하고 강력하며, 다양합니다.


솔라리스 ZONE은 구성이 쉽고 , 변경이나 업그레이드 , 유지보수 , 리소스 재구성 등이 매우 쉽습니다.

또한, 이러한 기능이 즉시 반영되며 , 매우 강력합니다.

또한, 솔라리스 10에서 제공되던 ZONE ( Branded ZONE , Solaris 8 , Solaris 9 ) 에 추가적으로 Solaris 11 부터는 Solaris 11 ZONE , Solaris 10 ZONE 을 지원합니다.

이를 통해 Solaris 11 으로 업그레이드 한 사용자는 기존의 레거시 소프트웨어에 대한 운영 환경을 Solaris 10 Zone 으로 그대로 가져와 통합 운영할 수 있게 됩니다.



열번째 , ZONE의 위임을 통한 Self Service


가상화 및 클라우드에서 관리자가 VM을 생성할 때마다 관여해야 한다면 관리자의 업무 부하는 매우 클것입니다.

솔라리스 ZONE은 위임을 통해 특정 ZONE 에 대한 구성을 Self Service로 제공합니다.

따라서 , 부서별로 필요시 원하는 VM을 생성하여 사용할 수 있게 됩니다.





이정도로 정리해 볼 수 있는데 , 여기에서 2-3가지만 충족해도 솔라리스에서 ZONE을 사용해야 하는 이유는 충분하다고 생각이 듭니다..^^


솔라리스의 존재의 이유는 너무나 많지만 Dtrace , ZFS , ZONE 같은 핵심 서비스를 사용할 때 빛나지 않을까요? ^^