본문으로 건너뛰기

14. 효율향상전략

36강 가상화 기술

가상화 기술의 도입

먼저 가상화 기술의 목적을 정리해보자면 아래와 같은 점을 들 수 있습니다.

  • 확장성
    • 오버헤드의 최소화
  • 비용대비 성능
    • 리소스 사용률 향상
    • 운용의 유연함(환경의 단순화)
  • 고가용성
    • 환경의 격리

하테나에서도 시스템 전체적인 확장성을 높이거나, 비용대비 성능을 올리고 리소스 사용률을 높이고, 유연하게 운용할 수 있게 하고, 서버 환경을 격리해서 고가용성을 실현하는 것을 목표로 합니다.

가상화 기술의 효용

❶에 대해 이야기해보자면, 벤더 서버에는 IPMI(Intelligent Platform Management Interface)라는 리모트 관리기능이 있는데, 이를 대체해서 하이퍼바이저를 사용할 수 있게 되어 있습니다. 하이퍼바이저는 이른바 호스트 OS를 말합니다.

IPMI는 벤더에서 만든 서버 제품으로 구현되어 있는 경우가 많은 리모트 관리환경으로, 예를 들면 전원 ON, OFF를 원격에서 수행할 수도 있습니다. 하테나에서는 IPMI의 대체품으로서 하이퍼바이저라는 계층을 하나 늘림으로써 게스트 OS를 리모트에서 제어하고 있습니다. 이에 따라 IPMI가 탑재되어 있지 않은 저가의 하드웨어를 사용할 수가 있습니다.

❷ 하드웨어 차이를 흡수해서 환경을 추상화할 수 있습니다. 이에 따라 새로운 하드웨어나 오래된 하드웨어로도 차분에 신경 쓰지 말고 사용할 수 있습니다.

❸은 Xen에 특화된 이야기이지만, 가상화로 인한 오버헤드를 줄이기 위해 하드웨어를 완전히 에뮬레이팅하지 않은 준가상화(ParaVirtualization)라는 방식이 있으며 하테나에서는 이 방식을 사용하고 있습니다.

❹ 리소스 소비를 소프트웨어 레벨에서 강력하게 제어할 수 있게 되어 있습니다. 리소스 소비를 제어함으로써 과부하 경고, 부하 조정을 수행합니다.

가상화 서버 구축정책

가상화 기술을 도입하는 가장 기본적인 목적은 하드웨어의 이용효율 향상입니다. 하드웨어의 이용효율 향상을 위해 남아있는 리소스를 사용하는 게스트 OS를 투입합니다.

가상화 서버 - 웹 서버

구체적인 게스트 OS 구성을 살펴보겠습니다. 예를 들면 4GB 메모리를 탑재하고 있는 서버에 웹 서버용 게스트 OS에 주로 3.5GB를 할당했다고 하겠습니다(그림 14.1). 최근 메모리 가격이 낮아지고 있으므로 기본적으로 8GB로 증가시키기로 합니다.

그렇게 되면 메모리에 여유가 생기므로 웹 서버용 게스트 OS의 메모리를 5.5GB로 확장하고, 또한 memcached용 게스트 OS에 2GB를 할당합니다.

그림 14.1 가상화 서버(웹 서버)

가상화 서버 - DB 서버

다음으로 DB 서버 예를 살펴보겠습니다(그림 14.2). DB 서버에서는 DB가 메모리를 어느 정도 소비하지만, CPU 리소스와 I/O 리소스는 그다지 소비하지 않는 경우가 많습니다.

이런 경우에는 웹 서버용 게스트 OS를 탑재해서 I/O와 CPU를 모두 사용할 수 있도록 합니다.

그림 14.2 가상화 서버(DB 서버)

가상화로 얻은 장점 정리

여기서 가상화 기술을 통해 얻은 장점에 대해 정리해두겠습니다. 구체적인 장점으로는 물리적인 리소스 제약에서 해방됨으로써 동적으로 변경할 수 있게 되고, 게스트 OS의 마이그레이션이나 복제가 용이해졌습니다. 이에 따라 서버 증설이 용이해지고 확장성을 확보할 수 있게 되었습니다.

다음으로 소프트웨어 레벨에서 호스트 리소스를 강력하게 제어할 수 있고, 비정상 동작 시 문제를 국소화시키고 호스트를 쉽게 제어할 수 있게 되었습니다.

37강. 하드웨어와 효율향상

프로세서의 성능향상

무어의 법칙(Moore's Law)은 집적회로 상의 트랜지스터 수는 18개월마다 2배로 증가한다라는 법칙입니다. 무어의 법칙은 트랜지스터의 집적도에 대한 이야기로 이 분야는 기술적으로는 계속 성장하고 있습니다.

반면, 개별 코어의 성능은 이미 한계에 다다른 것이라고들 하지만, 코어 수의 경우에는 앞으로 더 늘어날 것이므로 적어도 서버 용도로 사용하고 있는 한 성능은 현재로선 증가해갈 것이라 기대할 수 있습니다.

메모리, HDD의 비용저하

메모리나 HDD는 급속하게 저렴해지고 있습니다. 4 core CPU, 4GB인 서버를 예로 들면, 3년 전에 만들려면 수십만 엔 정도 필요했지만 지금은 8만 엔에 만들 수 있습니다. 이 정도의 가격파괴는 엄청난 임팩트가 있습니다.

저가 하드웨어의 유용한 이용법 - 가상화 전제

하테나에서는 저가 하드웨어를 가능한 한 유용하게 이용하려고 하고 있는데, 관리기능은 최소한으로 억제하고, 코어는 가능한 한 많은 것을 채택하며, 메모리는 충분히 저렴하므로 상한선까지 탑재해두고 있습니다.

또한 I/O 성능에 관해서는 용도별로 요구되는 레벨이 많이 다르므로 디스크가 없는 서버(Diskless Server)를 준비하거나, 하드웨어 RAID를 통한 RAID-10을 구성하거나, SSD로 RAID-0 등을 구성하는 등 다양한 패턴을 갖추고 있습니다.

Wrap Up

효율향상전략의 핵심은 가상화를 통해 하드웨어를 더 유연하고 촘촘하게 활용하면서, 낮아진 하드웨어 비용 구조를 전제로 서버 구성을 다시 최적화하는 데 있습니다. 특히 게스트 OS 배치, 리소스 제어, 마이그레이션, 그리고 용도별 I/O 구성을 적절히 조합하면 확장성과 비용대비 성능을 함께 끌어올릴 수 있습니다.

Summary

가상화 기술은 확장성, 비용대비 성능, 고가용성을 높이기 위해 도입되며, 하테나에서는 이를 통해 리모트 제어, 환경 추상화, 준가상화 기반 오버헤드 절감, 소프트웨어 레벨 리소스 제어를 실현하고 있습니다. 웹 서버와 DB 서버는 각기 다른 자원 소비 패턴을 가지므로, 남는 메모리나 CPU, I/O 자원을 활용할 수 있도록 게스트 OS를 조합해서 배치하는 것이 중요합니다. 또한 가상화는 게스트 OS의 복제와 마이그레이션을 쉽게 만들어 서버 증설과 확장성 확보에 유리합니다. 한편 하드웨어 가격은 계속 낮아지고 코어 수는 증가하고 있으므로, 저가 하드웨어를 전제로 한 설계가 점점 현실적인 선택이 됩니다. 그래서 실제 운영에서는 메모리를 상한선까지 탑재하고, 디스크리스 서버, RAID-10, SSD RAID-0처럼 용도별 하드웨어 패턴을 준비해 효율을 높이고 있습니다.

Reference