닫기버튼


상단 배너 영역


리뷰/프리뷰

[리뷰] 멀티플렉스 기술 기반 `인텔 모듈러 서버`

페이스북 트위터 기사제보

기업용 컴퓨팅 시장은 철저히 '효율' 위주로 흘러간다. 사무실과 IDC(Internet Data Center)라는 한정된 공간 안에서 솔루션을 운용하고, 이에 따라 성능은 물론이고 공간 효율, 설치 효율 등 여러 가지로 신경 써야 될 것이 많아진다. 더군다나, 점점 업무가 컴퓨터 중심으로 흘러가면 갈수록, 서버가 가져야 하는 덕목 또한 급속도로 늘어나고 있다.


서버는 한정된 공간 안에서 점점 더 많은 능력을 보여줘야 되는 상황에 내몰리고 있다. 또 서버를 계속 증설하고 관리하는 데 들어가는 비용을 생각하자면, 서버가 갖추어야 할 요건들을 매우 까다롭게 다룰 수밖에 없어진다. 성능도 좋고, 작은 공간에서 운용도 가능하고, 유지비용도 적고, 설치와 관리까지 편리하기를 바라는 것은 인지상정이긴 하나 무리한 요구라고도 말할 수 있는 부분이다.


이런 일선현장의 복잡다난한 요구사항들에 대해, 인텔은 새로운 개념의 서버로 해결책을 제시했다. 그 해답은 바로 '모듈러 서버'. 상면면적을 줄이는 작은 크기, 여기에 관리 편의성을 고려한 간편한 설치, 이로도 모자라 관리가 쉬우며 성능 또한 검증된, 기업 경영에 필요한 모든 IT 인프라가 하나로 모였다. 이 전례 없던 새로운 개념의 최첨단 솔루션이 바로 인텔 모듈러 서버의 정체다.





'모듈화'에 대한 과감한 재정의


지금까지의 일반적인 서버들은 '모듈화'의 범위가 다소 제한적이었다. 한 대의 서버는 프로세서, 메모리, 스토리지와 네트워크 연결 수단을 모두 갖추거나, 혹은 스토리지를 제외하여 다른 스토리지 서버와 연결되는 등의 방법을 통했다. 즉, 전체 서버는 하나의 시스템이거나, 단순히 여러 시스템의 집합일 뿐이었다.


네트워크 연결을 위한 케이블링은 모두 시스템 외부에서 해결되었으며, 각 시스템마다 전원은 따로 공급되었다. 시스템 모니터링의 경우도 모두 다 따로 해결해야 했다. 당연하게도 서버간의 네트워킹이 복잡해질수록, 구성과 유지관리 또한 복잡해진다. 이로 인해 서버의 확장이나 재구성에 어려움을 겪기도 했다.



▲ 인텔 '모듈러 서버' 구성도


모듈러 서버는 지금까지의 모듈화에 대한 재정의를 시도했다. '샤시'라는 틀 안에 컴퓨팅 모듈, 스토리지, 네트워킹을 모두 모듈화하여 분리하고, 이어 이를 모두 샤시 내부에서 묶었다. 지금까지 분리하기 쉽지 않던 스토리지를 과감히 분리하여 모듈화하였고, 네트워크 또한 모듈화를 통해 내부 효율을 올렸다. 또한, 이 모든 모듈들을 매니지먼트 모듈을 통해 쉽게 관리할 수 있도록 지원된다.


그 결과, 6U 규격의 케이스 안에 14개의 하드디스크와 6개의 컴퓨팅 모듈에 3000W에 육박하는 파워 서플라이와 기가비트 이더넷 스위치, 통합 매니지먼트, 쿨링 솔루션까지 갖추고 확장의 여지까지 남겨둘 정도로 효율적인 구조가 되었다. 기업 입장에서 이 모든 것을 따로 사자면 당장 도입비용 측면에서 난처한 상황에 빠지기 좋은데, 그런 리스크가 억제되는 것이 모듈러 서버의 구체적인 이득이다.


컴퓨팅 모듈의 분리를 통해, 모듈러 서버는 서버 수의 개념 또한 모호하게 만들었다. 이 모듈러 서버에서는 컴퓨팅 모듈의 장착 수만큼 물리적인 서버 시스템의 구동이 가능하다. 하지만 컴퓨팅 모듈 만으로는 단독 구동이 불가능하다.


컴퓨팅 모듈이 단독 서버로 기능하나, 단독 서버가 아닌 것이 이 모듈러 서버의 특징이다. 게다가 이 모듈러 서버를 6U 크기의 서버 한 대로 볼 것인지, 컴퓨팅 모듈 수 만큼의 여러 대의 서버로 볼 것인지에 대해서도 모호하다는 것이 모듈러 서버의 독특한 점이다.


이런 모듈화가 주는 이득은 상당히 크다. 기존의 서버를 여러 대 설치할 때 생기는 케이블링 작업 등이 아주 단순하게 변하고, 통합적인 관리와 함께 공간 점유가 적은 것도 빼 놓을 수 없다.


설치와 유지보수에 드는 비용과 수고가 줄어든다는 면에서 이 모듈러 서버는 상당히 매력적이다. 기업 입장에서는 한 대의 서버를 운용하는 정도의 수고로 6대의 서버를 운용할 수 있다는 메리트는 모듈러 서버가 제공할 수 있는 가장 큰 장점이다.


독특하디 독특한 스토리지 시스템


이 모듈러 서버에서 가장 독특한 것은 스토리지 모듈이다. 모듈러 서버가 사용하는 방법은, 별도의 스토리지 컨트롤러를 외부에 두고, 이를 각 컴퓨팅 모듈이 접속하는 방식이다.


이는 기존의 네트워크로 묶은 스토리지 서버와도 개념이 다르고, 로컬로 직결되는 스토리지 시스템과도 성격이 다르다. 모듈화를 통해 가용성을 높이면서도, 실제 사용에서는 익숙한 로컬 스토리지를 사용하는 듯한 이 구성은 모듈러 서버에서 가장 눈에 띄는 부분이다.



▲ 본체 전면에서 14개의 하드디스크를 장착하거나 탈착할 수 있다.


2.5인치 SAS 하드디스크를 14개까지 장착할 수 있는 모듈러 서버의 스토리지 모듈은, 각 컴퓨팅 모듈과 SAS 인터페이스로 연결된다. 스토리지 컨트롤을 위한 별도의 모듈이 제공되어, 이 모듈이 통합적인 컨트롤러의 역할을 한다. 모듈러 서버의 메인 컨트롤러로는 LSI로직 컨트롤러가 쓰인다.


모듈러 서버가 채택한 스토리지 모듈이 독특한 이유는 크게 두 가지를 손꼽을 수 있다.


첫 번째로 모든 컴퓨팅 모듈이 이를 물리적으로 공유한다는 특징이 있다. 모든 컴퓨팅 모듈이 스토리지 시스템을 공유함으로써, 디스크의 확장이나 재구성이 대단히 편리해졌다. 예전처럼 시스템별로 디스크 구성을 신경쓸 필요 없이, 일단 스토리지 모듈에 디스크를 연결하기만 하면 된다. 또한 핫스왑을 지원하므로 디스크 추가나 교체를 위해 시스템을 끌 필요도 없다.


이는 유지보수에서 대단히 매력적이다. 디스크의 결함이 허용되는 RAID 5 시스템에서 시스템의 운용을 중단할 필요 없이 바로 디스크의 보수가 가능하다. 이를 통해 가용성의 향상을 기대할 수 있다. 서버와 같이 안정적으로 동작해야 하는 환경에서 문제가 발생했을 때 곧장 즉각대처가 가능하다는 점은 관리 측면에서도 편리한 부분이다.


두 번째로 스토리지 구성이 더 이상 물리적 제약을 크게 받지 않는다는 것을 짚을 수 있다. 모듈러 서버가 사용하는 스토리지 모듈의 디스크 구성은 기존의 개념과 상당히 다르다. 디스크의 할당이 물리적인 기반 위에서 논리적으로 한번 더 정의된다.


스토리지를 세팅할 때, 스토리지 풀 개념과 논리 디스크 개념이 있다. 일단 스토리지를 세팅하려면, 물리적인 드라이브를 묶은 스토리지 풀을 잡고, 그 풀 안에 논리 디스크를 잡아서 각 컴퓨팅 모듈에 할당이 가능하다. 이 때, 논리 디스크의 용량은 스토리지 풀의 한도 안에서 아무 제약없이 설정이 가능하다.


당연히 한 스토리지 풀 안에 여러 개의 논리 디스크가 정의되어 서로 다른 컴퓨팅 모듈과도 연결되는데, 이 때 적용할 수 있는 RAID 레벨 또한 물리적 디스크가 허용하는 선 안에서 자유롭게 가능하다. 더구나 한 스토리지 풀 안에서도 여러 논리 디스크마다 모두 다른 RAID 레벨이 정의가 가능하다.


이 때, 설정되는 논리 디스크는 컴퓨팅 모듈에서는 SAS로 연결된 물리 디스크로 인식한다. OS 수준에서의 호환성을 보장하기 위해, 스토리지 모듈은 이 논리 디스크를 컴퓨팅 모듈에 물리 디스크로 인식시킨다.


아주 극단적으로 구성하는 경우, 14개의 디스크를 하나의 스토리지 풀로 잡고 아무런 제약없이 논리 디스크를 구성할 수도 있으며, 디스크 용량이 크게 요구되지 않는 컴퓨팅 모듈들의 경우 부팅에 필요한 최소한의 용량만 할당하고, 디스크 용량이 많이 필요한 용도의 컴퓨팅 모듈에 최대한 많은 용량을 할당할 수도 있다.


이런 자유로운 구성을 통해, 디스크의 낭비를 최소화할 수 있다. 필요한 만큼의 드라이브를 할당함으로써, 지금까지 물리적인 연결의 한계로 인해 낭비되었던 공간들이 없어지고, 더 유연하고 효율적인 스토리지 운영이 가능하다. 이는 시스템 구성에서 디스크에 대한 초기비용과 유지비용의 감소를 가져온다.


스토리지 모듈이 분리됨으로써 가질 수 있는 또 다른 장점은, 컴퓨팅 모듈과의 연결성이 보장된다면 스토리지 모듈의 기능이나 성능도 바뀔 수 있다는 것이다. 스토리지 모듈의 변화를 통해, 전체 시스템의 스토리지 기능을 쉽게 업그레이드 할 수 있다. 또한, 이 스토리지 모듈의 기능 향상은 컴퓨팅 모듈에 종속되지 않는다.


이런 특성은, 시간이 지날수록 모듈러 서버의 스토리지를 더 강하게 만들어 준다. 테스트 시점까지는 구현되지 않았지만, 곧 스토리지 모듈 수준에서의 디스크 공유 설정이 가능해진다. 이런 기능 추가 또한 스토리지 모듈의 변경만으로 가능하다. 이 디스크 공유 설정은 스토리지 구성을 더 유연하게 만들어 주며, 복잡한 클러스터링 구성을 더 간편하게 만들어 준다.


또한, 추가될 기능으로 공유 가상 드라이브(Shared Virtual Drive)가 있다. VMware의 Vmotion을 사용하여 환경을 구축할 경우 별도의 공유할 수 있는 외부 스토리지가 필요하지만, 스토리지 모듈에서 이 기능이 추가될 경우 외부 스토리지 없이 이 기능을 사용하여 더 유연하게 VMware를 사용한 서버를 구축할 수 있다. 이는 제온 프로세서의 VT기능과 연계되어 모듈러 서버의 활용도를 더 높여 줄 수 있다.



▲ 모듈러 서버의 스토리지 세팅은 물리적인 제약이 줄어들었다.


'단순화'되는 네트워크 구성. 쉽다!


모듈러 서버의 또 다른 특징으로는, 네트워크 구성이 단순하다는 것이다. 기존에 서버 6대를 구성하면, 전원 선 6개와 함께 네트워크 연결 또한 상당히 복잡해졌다. 설치도 힘들고, 보수도 상당히 번거로웠다. 서버, 또는 서버가 들어간 랙 케이스를 관리하는 입장에 서 봤다면 네트워크 기능이 야기하는 케이블 이슈가 상당히 난해한 일이라는 점을 잘 알 것이다.


하지만, 모듈러 서버의 경우 한 대 설치하는 수준의 수고만으로 충분하다. 컴퓨팅 모듈이  섀시를 통해 접속되므로, 별도의 케이블링이 필요없다. 전원 또한 공용으로 들어가므로 파워 서플라이 모듈만 추가해 주면 된다. 외부에 나와 있는 케이블링은 전원 선과 외부연결용 랜 케이블 한두가닥으로 충분하다.



▲ 내부 케이블들이 줄어들었다는 점도 모듈러 서버가 지닌 또 하나의 장점이다.


모듈러 서버는 내부적으로 각 컴퓨팅 모듈마다 두 개의 기가비트 연결이 가능하다. 내부 연결에는 광케이블을 사용하여 발생할 수 있는 에러나 속도저하를 최대한 줄였다. 이 두 개의 기가비트 연결은 각각 네트워크 모듈의 가상 네트워크 인터페이스에 연결되고, 여기서 내부 연결이나 외부로의 연결이 이루어진다.


외부 연결에는 10개의 기가비트 스위치 포트가 지원된다. 또한 네트워크 스위치 모듈은 옵션으로 추가가 가능하며, 이를 통해 기능의 확장도 가능하다. 이런 구조의 네트워크 인터페이스는, 내부 트래픽을 최소화할 수 있다는 장점이 있다. 또한 실제 운용시 각 모듈마다 다른 용도의 서버를 구축하여 연동할 때 네트워크 효율은 이론적인 한계치에 가까울 정도로 높다.


네트워크 스위치 모듈의 설정은 매니지먼트 모듈을 통해 가능하다. 기본적으로 제공되는 네트워크 스위치 모듈에 대해, 각 포트별로 연결되는 컴퓨팅 모듈과 가상 포트와의 연결을 쉽게 설정할 수 있다. 또한 트래픽 컨트롤, ACL (Access Control Lists), VLAN 등의 기능 또한 충실히 지원한다.


추가적으로 컴퓨팅 모듈을 슬롯에 집어넣는 것만으로 물리적인 네트워크 연결이 완료된 서버 한 대를 얻을 수 있다는 것 또한 이 모듈러 서버의 큰 장점이다. 이를 통해, 여러 대의 서버를 하나로 묶을 수 있다는 장점 이외에도, 비교적 손쉽게 클러스터링 서버를 구축해 강력한 성능을 끌어낼 수 있다는 것 또한 이 모듈러 서버가 제공할 수 있는 장점이다.


인텔이 직접 만든 강력한 컴퓨팅 모듈



▲ 인텔 모듈러 서버 컴퓨팅 모듈 'MFS5000SI'


위에서 열거한 수많은 장점이 있어도, 실제 프로세싱 파워가 부족하다면 이 장점들은 힘 한번 써 볼 수 없다. 서버의 본연의 역할은 요청된 서비스의 처리이고, 처리능력이 부족하다면 아무리 관리가 쉽고 비용이 적다 해도 의미가 없다. 그런 측면에서, 모듈러 서버에 사용된 컴퓨팅 모듈은 강력한 능력을 확실히 보여준다. MFS5000SI 컴퓨팅 모듈은 제온 5000 계열의 2way와 FB-DIMM 8개 사양을 제공한다.


여기에 쓰인 인텔 제온 프로세서의 성능은 이미 수많은 테스트를 통해 인정받은 상태이다. 쿼드 코어 프로세서를 듀얼 구성함으로써 한 모듈당 8코어의 강력한 서버를 구축할 수 있다. ATi의 ES1000 비디오 컨트롤러를 사용해 기본적인 화면 출력 기능을 제공하고, LSI 1064e SAS 컨트롤러를 사용해 스토리지 모듈과 연결된다.


전체적인 시스템의 모듈화의 결과가 이 컴퓨팅 모듈에서 드러난다. 컴퓨팅 모듈에서는 모듈 안에서 케이블을 사용한 연결이 전혀 없다. 스토리지와 네트워크 연결부를 따로 분리시켜서, 모듈 설치를 매우 단순화시켰기 때문이다. 그래서, 컴퓨팅 모듈의 추가는 단순히 모듈에 프로세서와 메모리를 추가하고 밀어 넣는 것으로 끝이다.


모듈러 서버는 이 컴퓨팅 모듈을 6개까지 장착이 가능하다. 컴퓨팅 모듈의 추가로 가용 가능한 서버의 확장이 용이하다는 것 이외에도, 추후 업그레이드 또한 용이하다. 새로운 플랫폼과 프로세서 등이 출시되고 업그레이드의 필요성이 느껴질 때, 단지 컴퓨팅 모듈의 교체만으로도 전체 성능의 향상이 손쉽게 가능하다. 또한, 각 모듈의 핫 플러깅이 가능해 높은 가용성을 기대할 수 있다.


제온 프로세서가 지원하는 VT 기술 또한 컴퓨팅 모듈의 활용도를 높여준다. 최대 8코어가 조합 가능한 이 컴퓨팅 모듈은 웬만한 서비스로는 모자람이 없다. 일반적으로 서버에 풀로드가 걸리는 경우는 많지 않고, 이 때 이 강력한 8코어의 컴퓨팅 모듈은 단지 쓸데없이 강력한 비효율적인 서버로 전락하게 된다. 만약 VT 기술을 사용하여 한 시스템 안에 가상 서버를 구축할 경우, 유휴 자원을 더 효율적으로 사용이 가능하다. 가상 시스템에서 성능 저하 또한 거의 없어 잘만 쓴다면 이 컴퓨팅 모듈이 물리적인 서버 하나 이상의 역할을 할 수 있다.


관리자에게 안성맞춤! '간편한 집중형 서버관리'



▲ 전체 시스템의 설정과 모니터링이 하나의 툴로 가능하다.


고도로 모듈화되어 분리된 형태인 모듈러 서버를 하나로 묶어주는 것이 바로 매니지먼트 모듈의 역할이다. 이 모듈을 통해 모듈러 서버의 전반적인 설정은 물론, 실시간 모니터링도 지원한다. 이 모니터링을 통해 컴퓨팅 모듈과 스토리지 모듈의 이상 상태 등을 체크할 수 있다. 컴퓨팅 모듈에서는 전압과 온도 체크가 지원되고, 스토리지 모듈에서는 하드디스크의 이상을 체크할 수 있다.


매니지먼트 모듈 수준에서의 원격 제어도 지원된다. 이 원격 제어는 컴퓨팅 모듈에 OS가 올라가지 않은 상태에서도 동작하므로, 원격에서 모든 조작을 다 할 수 있다. 심지어는 원격 조작으로 OS 설치까지도 가능하다. 하드웨어적인 문제가 아니면 관리자가 서버 옆에 있어야 할 필요성을 최소화시켜서, 유지관리 비용을 최소화할 수 있다.


기본적으로 웹 기반의 인터페이스를 제공하므로, 접근도 쉽고 세팅도 쉽다. '관리가 쉽다'는 컨셉을 충실히 지켜주고 있다. 이러한 관리편의성이 주는 이점은 명확하다. 기업의 IT 인프라를 다룰 때, 즉 '관리'라는 것을 할 때에는 관리인원의 숙련도와 규모라는 두 가지 명제가 발생한다. 이 때, 기업 입장에서는 보다 적은 인원이 보다 많은 일을 해주는 것이 좋다. 냉혹해 보여도 이게 현실이다.


문제는 그 일이 과하면 제한된 인원으로는 어림없다는 점. 관리자의 피로도가 크면 인프라의 관리 등에 있어 취약점이 노출되므로 업무 자체의 편의성을 높여주는 것 역시 기업의 CIO나 CEO가 명심해야 할 부분이다. 이럴 때, 인텔이 만든 모듈러 서버처럼 통합된 집중형 관리체계가 하드웨어와 소프트웨어에 걸쳐 마련되어 있다면, 기업의 효율성 극대화에 매우 큰 도움이 될 것이다.


독특한 구성에서 나오는 놀라운 유연성과 강력한 성능


모듈러 서버는 기존의 서버와는 다소 개념이 다르다. 그리고 그 장점은 위에 열거했다시피 매우 많다. 성능 또한 제온 프로세서를 사용하여 의심의 여지는 없다. 하지만, 컴퓨터는 여러 부품이 모여서 이루어지는 것이고, 개개의 부품이 뛰어나다 해도 실제 환경에서는 다른 결과를 보이는 경우도 흔하다. 그래서, 실제로 이 모듈러 서버를 세팅하여 구동해 보았다.


4개의 컴퓨팅 모듈을 사용했으며, 각 모듈에 각각 다른 OS를 설치했다. OS 설치 이후 업데이트 등은 진행하지 않은 기본 상태이다. 업데이트를 진행한 요소로 테스트한 경우엔 따로 명기하였다. 서버의 경우, 업무 환경 또는 인프라 특성에 따른 최적화가 성능에 영향을 미치기 때문에 레퍼런스 형태로 보자면 공통된 환경, 즉 출하상태에서의 테스트가 필수적이다. 참고로 테스트 사양은 다음과 같다.




▲ 테스트에 채택한 하드디스크 스토리지 풀 구성도


하드디스크 구성은 RAID 1을 주로 사용했으며, 3번 모듈에는 대용량의 RAID 5를, 2번 모듈에는 RAID 0으로 구성하여 테스트했다. 주로 1, 2번 디스크를 가지고 작업하는 형태이지만, 3, 4번 모듈의 경우 별도의 디스크를 할당했다.


테스트는 기본 시스템 성능, 디스크 성능, 네트워크 성능과 함께 MySQL DB 벤치마크, Apache 웹서버 벤치마크를 진행했다. 업계에서 주로 쓰는 방법론을 중심으로 구성했으므로, 실제 기업에서도 참고할만 할 것이다.


테스트 시에 별도의 시스템 최적화 등은 실시하지 않았으며, 테스트에 사용된 툴들의 컴파일에는 기본적으로 OS에서 제공되는 컴파일러를 사용하였다. 인위적인 최적화는 출하시의 기본상태 유지라는 전제를 감안해 최소화했다.



기본 성능을 알아보기 위해서 간편하게 사용해 볼 수 있는 nbench를 사용했다. 이것은 Bytemark Benchmark를 기본으로 한 것으로, 나온지는 오래 되었지만, 아직도 상당히 많이 사용되고 있다. 테스트에는 CentOS 5.1 x86을 사용했고, 커널 2.6.18.53 상태이다. gcc 4.1.2-14과 libc-2.5.so를 사용했다. 그래프의 눈금 단위는 로그이다. 수치의 단위는 초당 실행 횟수이다.


이 테스트는 직접 소스를 컴파일해서 테스트하는 것이고, 테스트에 사용되는 컴파일러나 시스템의 커널에 대해 상당히 민감하게 반응한다. 이 테스트에서는 가장 기본적인 컴파일러를 사용했다. 실제로 사용되는 환경에서의 테스트 결과는 커널의 구성이나 컴파일러에 따라 변할 수 있다.


nbench의 경우, 공개적인 결과 데이터베이스가 있다. 이 데이터베이스를 참고하면, 최적화하지 않은 경우에도 불구하고, 기존의 8코어 제온 X5355 시스템에 비해서도 조금 더 뛰어난 성능을 보여주고 있다. 최적화가 이루어질 경우엔 다소 더 좋은 성능이 나올 것이다. 이 부분은 모듈러 서버를 도입한 기업에서 조금만 신경 써주면 되는 부분이다.



같은 환경에서의 Unixbench 4.1의 결과이다. 결과는 절대값이고, 인덱스 수치만 표기했다. 이 수치는 베이스라인 수치의 배수로 결정되고, 상대적인 성능 비교에 매우 편리하다. 이 테스트 또한 나온지는 오래 되었지만, 전체 시스템 성능을 손쉽게 볼 수 있는, 쉽게 사용 가능한 툴로 업계에서 명성이 높은 툴이다.


이 테스트 또한 직접 소스 컴파일 후 이루어지는 테스트이고, 커널과 컴파일러에 따라 민감한 결과의 차이를 보인다. 이 수치는 단지 테스트 환경에서의 상대적인 점수일 뿐, 절대성능이 아니라는 점을 유의해야 한다. 결과에서는 다소 오래된 벤치마크 툴임에도 불구하고, 프로세서의 강력한 성능을 잘 보여준다. 이 정도면 중소기업에서 쓰기에 컴퓨팅 모듈의 힘이 모자람이 없을 정도이다.



다음은 디스크 IO성능 테스트 결과이다. 테스트에는 IOzone을 사용했다. 이 테스트 또한 쉽게 구할 수 있고, 결과 또한 자세하게 나온다. 결과는 Kb 단위이다.


RAID 0의 결과는 2번 컴퓨팅 모듈을 사용했고, RAID 1, 5의 경우엔 3번 컴퓨팅 모듈을 사용했다. 2번 모듈에는 아시아눅스 3.0 x64 가 올라가 있는 상태이고, 3번 모듈엔 CentOS 5.1 x86이 올라가 있는 상태이다. 디스크 성능은 OS에 따라 크게 변하지 않고, 어느 모듈에서 돌려도 결과는 거의 흡사하게 나온다.


이 테스트는 파일과 레코드 크기에 따른 전송률을 체크한다. 대체로 캐싱이 되지 않는 대용량 영역에서 디스크 성능을 볼 수 있으며, 캐싱이 되는 영역에서는 실제 사용시의 퍼포먼스를 볼 수 있다.


디스크 IO 결과는 SAS 인터페이스의 힘을 잘 보여준다. 또한, 로컬 연결이 아니라도 충분히 성능을 잘 내어 주고 있다. 재미있는 것은 RAID 0과 1의 결과인데, 이 테스트에서는 RAID 0과 1은 같은 물리적 디스크 위에 가상 디스크로 구성된 것이다. 그럼에도 정확하게 물리적 디스크처럼 제대로 동작하고 있다. 성능의 특성 차도 뚜렷하며, RAID의 성격들도 명확하게 나타난다.


실제 운용에서는 RAID 0은 절대 쓰지 말아야 할 구성이다. 데이터의 안정성을 최우선으로 해야 할 곳에서 별도의 데이터 손실에 대한 대비가 없는 RAID 0은 최대한 피해야 할 구성이므로, 여기서의 RAID 0 테스트는 단순히 가상 디스크에서 서로 다른 RAID 레벨이 차이를 보여줄 수 있는가에 대한 데이터와 이론적인 데이터 정도의 의미만 가진다.


실질적인 성능은 RAID 1이나 5의 결과로, 이는 싱글 디스크의 결과와 유사하다. 사용된 하드디스크의 성능을 충실하게 보여주고 있으며, 대용량 메모리의 사용으로 캐싱 영역이 상당히 크게 나타난다. 실제 서비스에서도 그로 인한 IO에서의 이득을 생각할 수 있다.



IOzone의 쓰기 테스트 결과 또한 RAID의 성격을 잘 반영하고 있다. 쓰기 성능은 오히려 RAID 0이 약간 떨어지는 모습을 보인다. RAID1과 5는 거의 같은 수치를 보여주고 있다. 수치 자체가 읽기 테스트에 비해서 떨어지는 것은 캐싱의 영향과 함께 하드디스크의 특성 등이 작용하기 때문이다.


성능 자체는 로컬 연결에 비해 큰 손색이 없다. SAS를 통해 스토리지 모듈과 연결되므로, 로컬 연결에 비해 그다지 떨어지지 않는다. 또한, 가상 드라이브들이 완벽하게 물리 드라이브처럼, 비슷한 속성으로 작동하는 것을 확인할 수 있었다. 스토리지 테스트에 이어, 네트워크 성능을 체크해 보도록 하겠다. 네트워크 성능은 netperf와 netpipe를 사용했다.



netperf는 tcp,udp프로토콜에서의 네트워크 성능을 보여준다. 연속전송성능과 응답횟수 등을 측정할 수 있다. 단위는 Mbps가 된다. 여기서는 netperf 테스트를 두 가지로 진행했다. 첫 번째는 netperf 서비스를 로컬 시스템에서 실행하여, 네트워크를 배제한 이론상의 최대 성능을 측정했다. 두 번째는 타 모듈에 netperf 서비스를 실행한 후 원격 접속으로 성능을 측정했다. 이것은 실제 사용에서의 최대 효율이 된다.


이 테스트에서 서버는 4번 모듈에 세팅했고, 접속 테스트는 3번 모듈에서 접속하여 성능 테스트를 수행했다. 결과에서는 기가비트의 이론에 가까울 정도의 값을 보여준다. 실제 기가비트 활용시에 주위의 선로 문제로 기가비트의 속도가 제대로 나오는 경우는 드문 편이다.


하지만 이 모듈러 서버는 각 컴퓨팅 모듈을 광케이블을 사용한 기가비트 이더넷으로 연결하기 때문에, 속도저하가 거의 없이 이론적인 대역폭까지 잘 나오고 있는 것이다.


실제 처리할 수 있는 최대값과 네트워크에서 나온 결과는 상당한 차이를 보인다. 이는 모듈러 서버의 네트워킹 능력이 기가비트의 이론적 한계에 가깝다는 것을 생각할 때, 각각의 컴퓨팅 모듈이 얼마나 강력한가를 잘 보여준다.



다음은 netpipe의 테스트 결과이다. 이 테스트는 특정 크기의 패킷을 쏘아서 속도를 측정하는 형태이다. netperf 테스트 때와 같이, 단일 방향의 속도는 거의 이론적 최고속도에 근접하는 모습을 보여준다. 그래프가 중간에 다소 튀어 보이는데, 다소의 오차에 관련된 것으로 보인다. 전체적으로는 깔끔하게 기가비트의 한계 속도까지 잘 내어주고 있다.


양방향 속도는 다소 재미있는 결과를 보인다. 1500Mbps 근처에서 한계를 보이는데, 이 양방향 테스트는 단방향 두 개의 합산이고, 실제 양방향에서의 단일 방향 대역폭은 750Mbps 근처라고 봐도 될 것이다. 이 정도면, 내부연결의 효율은 대단히 좋다. 내부의 모듈끼리 연동시킬 경우엔 기가비트 이더넷의 한계속도까지 활용이 가능한 수준이다.



아파치를 사용해 간단하게 웹서버를 구성하고, html 문서와 php 문서를 가지고 테스트를 한 결과이다. 아파치 설정은 모두 기본값을 사용하였으며, Timeout 값은 60, Keepalive on, 접속제한은 무제한으로 설정하였다. 그리고 apachebench를 사용해 10000회나 100000회의 서비스 요청을 걸고, 그 결과를 정리하였다.


테스트에 사용된 html 문서는 아주 간단하다. 헤더와 풋, 그리고 중간에는 단 한줄의 텍스트를 출력하는 형태의 기본적인 문서이다. 또한 php문서는 phpinfo를 출력하는 형태의 문서를 사용했다. 이를 사용해 프로세싱 파워와 네트워크 연결 간의 밸런싱을 생각해 볼 것이다. 살펴볼 항목은 전체 소요 시간과 각 접속당 반응 시간이다.


우선, 간단한 html 문서를 사용한 결과를 보자. 동시접속 1000접속에 총 접속수 100000 접속을 25초에 처리하는 능력을 보여준다. 페이지가 간단하기도 하지만, 기본적으로 처리능력이 대단히 크다는 것을 쉽게 짐작할 수 있다. 접속당 반응 시간도 300접속 이상부터 다소 늘어나긴 하지만 무난한 수준이다.


이 테스트의 경우, 결과값은 네트워크 능력에 크게 의존한다. 동시접속이 많아지면서 완료시간이 늘어나는 건 네트워크 트래픽에 의한 결과이다. 즉, 컴퓨팅 모듈의 강력한 성능에 비해 기가비트 네트워킹은 이런 수준의 활용으로는 다소 부족함을 보여준다. 밸런스를 맞추고 최적화를 노리기 위해서는 네트워크 트래픽을 분산하든가, 트래픽을 줄일 필요가 있다.


또한 생각해야 될 것은, 일반적으로는 이런 수준의 트래픽이 잘 들어오지 않는다는 것이다. 25초만에 10만 연결이 들어온다는 건 실제 상황에서는 거의 없다. 또한, 이 정도의 연결을 단 한 대로 처리하는 경우 또한 없다. 이 테스트는 실제 상황에서는 보기 힘든, 한계 상황의 테스트라는 것을 생각해야 할 것이다.



이번엔 php를 사용한 테스트 페이지이다. phpinfo를 출력하는 간단한 웹페이지를 사용했다. php는 서버측에서 해석 후 결과만을 전송하므로, 서버 측의 프로세싱 능력이 반영된다. 또한 결과를 전송하므로 트래픽도 크다. 100000접속 테스트 결과를 보면, 전체 완료시간이 대부분 꾸준히 비슷하다. 이 것은, 결과가 병목현상에 걸려 있음을 잘 보여주는 것이다. 그리고 그 병목은 네트워크 쪽이다.


그 근거로, 분명 프로세싱 능력에는 아직 여유가 있음에도 불구하고, 동시접속 500 이상에서 접속이 거부되는 현상을 보였다. 이것은 네트워크가 처리할 수 있는 용량을 넘어설 때 나타나는 것이다. 하지만, 이 때 서버에 걸리는 트래픽은 단순 전송량만으로 30초에 4GB를 넘어간다. 정확히 기가비트의 한계속도이고, 실제로 운용시에는 거의 나오지 않는 정도의 트래픽이다.


실제로 이 정도의 트래픽이 걸린다면 한 대로 이걸 다 처리한다는 건 다소 문제가 있다. 이런 결과는, 모듈러 서버의 네트워킹 능력이 약해서라기보다는 컴퓨팅 모듈의 능력이 여유를 가지고 있다는 쪽으로 해석하는 것이 더 정확한 해석이라고 보인다. 앞서의 경우와 마찬가지로 극단적인 상황을 가정한 것이기에, 실제 기업에서 IT 인프라로 쓸 때에는 해킹 공격이 아닌 이상 이 정도 트래픽은 보기 어려울 것이다.



MySQL을 쓴 벤치마크 결과를 보도록 하자. MySQLBench를 사용했으며, SQL 서버는 모듈 1,3에 세팅했다. OS는 CentOS 5.1 x64,x86이며 MySQL은 5.0.45를 사용했다. 3번 모듈에서는 MySQL 저장장소는 RAID 5로 설정된 디스크를 사용했다.


테스트는 로컬 서버를 사용한 테스트와, 외부 접속을 사용한 테스트를 실시했다. 로컬 서버를 사용한 테스트의 경우, 네트워크가 완벽히 최적화되었을 경우나 로컬 서버에서 SQL을 같이 돌릴 경우의 성능을 볼 수 있다. 외부 접속을 사용한 테스트에서는, 서버를 분리해 사용하는 경우의 성능을 볼 수 있다. 참고로 이번 테스트는 MySQL의 버전이나 커널 버전 등에 따라 결과 변동폭이 크다. 이 점을 밝힌다.


결과를 보면, 로컬 시스템에서의 테스트와 외부접속 테스트의 결과는 쉽게 구분이 가능하다. 총 소요 시간도 확실하게 구분되고 있다. 그리고, 세부항목 중에서는 insert, connect에서 큰 차이를 보인다. 네트워크 접속을 지나면서 다소 로컬 테스트에 비해 결과가 떨어지긴 하지만 전반적으로 상당히 뛰어난 성능을 보인다.


참고로, SQL 분야는 기업이 구축한 환경에 따라 변수가 유독 많은 환경이라 강조해야 할 부분이 있다. 로컬 시스템에서의 테스트와 외부접속 테스트의 경우 테스트의 경향이 꼭 일치하는 것은 아니다. 로컬 시스템에서 다소 차이가 나더라도 막상 외부접속을 할 경우 그 속도의 차이는 크게 줄어들거나, 없어지거나 아예 역전되기도 한다. 위 수치는 기본적인 구성을 참고하는 차원에서 봄이 적합하다.


효율성과 성능이 조화를 이룬 '인텔 모듈러 서버'



▲ 인텔(http://www.intel.com)은 채널 파트너를 통해 지원활동을 펼치고 있다.


모듈러 서버는 기존의 서버에 비해 대단히 유연하고 효율적인 구성을 가지고 있다. 스토리지의 모듈화와 가상화는 스토리지 구성에서 유연함과 효율성을 가져왔고, 통합 매니지먼트의 지원으로 관리는 대단히 쉬워졌다. 여기에 제온 프로세서의 힘으로 강력한 처리능력을 지닌 컴퓨팅 모듈은 프로세싱 능력이 집중되어야 하는 분야에서 좋은 능력을 수치로 나타낸다.


하드웨어적으로 강력한 프로세싱 능력을 기본적으로 갖추고 있어 높은 처리능력이 필요한 어플리케이션 서버 등에서 좋은 성능을 내어 줄 것으로 보인다. 특히 중소기업처럼 IT 인프라를 통합적으로 구축해 가용해야 하는 환경에서는 컴퓨팅 모듈을 활용해 업무 목적에 따른 활용이 유연한 체계가 필요한데, 이 때 제온 프로세서의 가치가 빛날 것이다.


그리고 기존에 여러 대로 처리해야 했던 한 가지 목적의 서버들을 한 대로 통합하는 것은 물론, 가상화 서버를 통한 여러 용도의 서버의 통합까지도 가능하게 된 점도 모듈러 서버의 장점이다. 각 모듈간 네트워크 연결이 손쉬워서, 이 모듈러 서버는 단지 서비스를 위한 서버가 아니라 클러스터링 솔루션 등으로도 간편하게 쓰일 수 있다. 도입한 곳에서 쓰기 나름이라는 이야기다.


모듈화로 가능한 고가용 구성으로 서비스 중단을 최소화시킬 수 있다는 것도 모듈러 서버로 얻을 수 있는 혜택이다. 무엇보다, 6U 랙 안에 이 모든 기능이 다 들어가므로 공간적 절약과 설치의 간결함 또한 무시할 수 없다. 상면면적과 서버간의 유기적인 조화는 기존 스탠드 얼론 서버로는 구사하기 어려운 일인데, 인텔은 모듈러 서버를 통해 한꺼번에 여러 난점을 해결했다.


실제 현장에서 여러 대의 서버를 분산 운영하면서 네트워크 효율에 문제가 있거나 관리의 번거로움 등으로 어려움을 겪는 경우에, 이 모듈러 서버는 강력한 성능과 유연한 구성, 쉬운 확장 등으로 어려움을 해결할 수 있는 좋은 해결책이 될 것이다. 실제 모듈러 서버를 도입한 업체들 또한 이런 장점들을 살려서 높은 공간 대비 성능을 누리고 있으며, 효율 성과는 시간이 지날수록 더욱 커질 것으로 기대된다.


[기사제공 : 아크로팬 www.acrofan.com]


[기사의 저작권은 아크로팬에 있습니다. 기사 내용의 무단 전제 및 재배포는 금지되어 있습니다.]


ⓒ기사의 저작권은 게임조선에 있습니다. 허락없이 무단으로 기사 내용 전제 및 다운로드 링크배포를 금지합니다.

최신 기사

주간 인기 기사

게임조선 회원님의 의견 (총 0개) ※ 새로고침은 5초에 한번씩 실행 됩니다.

새로고침

0/500자

목록 위로 로그인

커뮤니티 이슈 한줄 요약


게임조선 소개및 약관