이영국 전문부장 한국IBM 대형시스템사업본부

Linux for zSeries



이영국 전문부장 한국IBM 대형시스템사업본부
연/재/목/차
1회: IBM eServer - zSeries의 현재와 미래(11월호)
2회: IBM eServer - 새로운 패러다임, z/OS와 Linux for zSeries(이번호)
3회: IBM eServer - zSeries 솔루션 포트폴리오(12월호)







1998년에 Skunkwork project를 시작으로 Linux /390에 대한 아이디어가 탄생한 이후, 발전을 거듭하여 2000년 5월에 IBM Linux for S/390이 발표됐다. 그와 동시에 수세(SuSE) 와 터보리눅스(TurboLinux)에서 배포판을 내놓았다.

2000년 12월, 64비트용 Linux for zSeries (이하 zLinux)가 발표된 데 이어 3월에는 zLinux용 64비트 mySAP.com이 선보였다. 오라클과 인포믹스에서도 31비트용 DBMS를 내놓았으며, 턱시도, 웹로직 등 ISV 제품 및 64비트용 미들웨어 제품도 출시되었다.

zLinux는 특히 리눅스 커널 코드 중 5% 정도만이 zSeries 하드웨어에 의존하므로 이식성이 뛰어나다. <그림 1> 은 전자상거래 및 비즈니스 응용 프로그램 등의 미션 크리티컬 업무를 운영하는 환경을 보여주고 있다.

z/VM의 개요

z/VM은 1960년대 S/360 운영체계 CP-67로 출발하여 VM/370과 VM/SP, 31비트 어드레싱 모드인 VM/XA와 VM/ESA, 그리고 현제 64비트 어드레싱 모드를 지원하는 z/VM V4.4 순으로 출시되었다.

z/VM은 <그림 2>와 같이 제어 프로그램(Control Program, CP)과 대화형 관제 시스템(Conversational Monitor System, CMS)으로 구성되어 있다. zLinux 서버는 z/VM하의 하드웨어 자원을 공유하면서도 각각의 독자적인 IP를 가질 수 있어 특정 업무에 부응하는 독립적인 환경 구성이 용이하다. 한 대의 서버에 대응하는 각 리눅스 서버를 가상 서버라고 한다.

시스템의 용량이 허용하는 범위 내에서 수 십 또는 수 백 개의 서버가 한 하드웨어 안에서 구성될 있으며 이들 리눅스 서버간의 통신은 zSeries의 HiperSocket을 통하여 메모리 전송 속도로 이루어지며. 외부 네트웍을 통하지 않으므로 보안성 면에서 우수성을 인정받고 있다. 각 리눅스 서버는 z/VM의 RTM(Real Time Monitor)이나 PRF(Performance Reporting Facility) 등의 기능을 이용하여 성능 조정을 수행하며, PROF 기능을 이용, 각 리눅스 서버에 대한 자동관리 및 디버깅을 한다.

Linux for zSeries 'zSeries의 정식 운영체계'

IBM의 zLinux는 z/OS, OS/390, z/VM, VSE/ESA 등과 함께 IBM 운영체계로서 그 자리 매김을 하고 있다. 하드웨어 인터페이스 기술 및 ASCII 코드 지원을 특성으로 하는 zLinux는 프로그램 이식성에 있어서도 업계에서 좋은 평가를 받고 있다.

유닉스의 프로그램 이식은 유닉스 자체의 서로 다른 확장 판(Extension) 간의 이식 시, 제품 공급자의 배포 판에 맞게 수정되어져야 하지만, 리눅스의 인텔 플렛폼상에서는 원시 프로그램의 컴파일만으로도 그 이식이 가능하다.

Linux for zSeries의 운영 환경

zLinux의 운영 환경은 첫째 네이티브 모드, 둘째 논리 분할 영역 모드, 셋째 z/VM 게스트모드로 구분될 수 있다. 첫째 네이티브 모드는 zSeries에 하나의 리눅스만 설치, 운영하는 환경으로 유휴 자원에 대한 활용의 문제점을 가지고 있다.

두 번째의 논리 분할 영역 모드는 16개의(z990에서는 30개까지) 논리 분할에 독립적 운영환경의 구축이 가능한 모드이다. 마지막으로 세 번째 z/VM 게스트모드에서는 z/VM을 이용, 하나의 논리 분할 영역에서 수 십 또는 수 백 개의 리눅스를 운영할 수 있다. z/VM 게스트 모드는 zSeries의 CPU, 메모리, 디스크 장치, 네트웍 자원을 공유할 수 있어 유연하게 시스템을 운영할 수 있다.

zLinux의 미들웨어 지원

IBM Linux 미들웨어 제품으로는 DB2 V8와 DB2 CONNECT, CICS 트랜잭션 게이트웨이 V5.1, IMS Connect V7, MQ 클라이언트, 자바 JDK 1.3.1, 웹 스피어(WAS) V5 등의 웹 스피어 제품군, 티볼리 스토리지 관리 및 System Automation for zLinux 등 티볼리 제품군, 로터스 도미노 V6.5, 인포믹스 제품군, 그리고 Communication Server for zLinux 등 다양하다.

미들웨어 제품들 중 가장 먼저 정식 판으로 발표된 것이 바로 DB2 이다. DB2 UDB와 DB2 Connect로 나뉘어져 있는 이들의 설치방법은 인텔 플랫폼상의 리눅스 버전과 동일하다.
기존 zSeries 사용자는 하나의 논리 구획 영역에 zLinux, DB2 UDB, 그리고 DB2 Connect를 설치하여 z/OS의 DB2에 있는 데이터를 자유롭게 접근할 수 있다. 그리고 z/OS에 IMS Connect를 설치하면 리눅스에서 IMS 데이터베이스를 자유롭게 사용할 수 있다. 리눅스상에서 아파치 웹 서버와 DB2를 연동한다든지 혹은 WAS를 이용하여 손쉽게 z/OS의 데이터를 가공하여 웹 서비스를 할 수 있다.

웹 서버를 구축하는 일반적인 형태인 APM(Apache+PHP+ MySQL)도 원시 프로그램만을 컴파일하면 사용이 가능하다.

ISV 제품 지원

2003년 10월 현재, 171개 회사에서 353개의 Linux for zSeries 제품을 내놓은 상태이다. 대표적인 DBMS 제품으로는 오라클 9i가 있으며, TP 모니터로는 턱시도가 나와 있다. 그리고 ERP 제품으로는 mySAP이, 웹 응용 프로그램 서버로는 웹로직 등이. 그룹웨어로는 Bynari가 출시되어 있다.
이밖에 BMC 및 CA에서도 각종 시스템 관리 툴을 출시하는 등 ISV 업체의 움직임이 활발하다. zLinux에 가용한 ISV 제품을 확인하려면 다음의 웹사이트를 참조하면 된다.
(http://www-1.ibm.com/servers/eserver/zseries/solutions/ s390da/linuxproduct.html)

공통의 개발환경
ASCII 코드 체제를 갖고 있는 zLinux는 다른 리눅스 플랫폼으로 프로그램 이식이 용이하며, 여타의 리눅스와 동일한 기능, 공통의 개발도구 및 API를 사용한다. 응용 프로그램 개발 시, 개발 및 테스트는 상대적으로 저렴한 데스크톱에서 수행하고, 업무 운영시에는 아무런 수정 없이 대형의 시스템 환경으로 이식이 가능해 프로그램 개발 및 가동에 드는 비용을 절감할 수 있다.

반대로 대형 시스템 환경에서 개발된 애플리케이션을 상대적으로 소형의 시스템에 아무 변경 없이 이식하는 것도 가능하다. 대형 시스템이나 비교적 작은 소형 시스템에 공동으로 사용될 수 능력은 어떤 비즈니스 요구에도 신속히 대응할 수 있는 장점을 제공한다.

하드웨어와 소프트웨어 플랫폼의 신뢰성
30년 이상의 연구와 개발에 의한 zSeries의 하드웨어와 분할 소프트웨어는 중요한 업무수행에서 신뢰성을 제공한다. zSeries는 다른 시스템과는 비교할 수 없는 높은 수준의 신뢰성을 가지고 있다.
대다수의 주요 구성요소에 대한 여분의 요소제공 기능, 장애 상황의 자동복구능력, 그리고 내구적인 실용성이 결합되어 대다수의 핵심 비즈니스에서 응용 프로그램과 서비스에 이상적인 플랫폼을 제공하고 있다.
하드웨어에 내재된 신뢰성 더불어 zSeries 운영체계인 z/VM 운영체계에서의 분할능력은 지난 1960년대 이래로 고품질의 가상 시스템 및 테스트환경을 제공해 왔다.
zSeries의 테스트 응용 프로그램과 전체 비즈니스 구성능력은 가동 중인 시스템에 영향을 주지 않고, 또 테스트 시스템에 전용되는 하드웨어의 추가 필요없이 시스템과 채용에서 에러를 제거할 수 있는, 비교할 수 없는 능력을 갖추고 있다.

리눅스 서버간 통신
zSeries상의 리눅스 서버간 통신 방식은 IUCV(Inter User Communication Vehicle)나 CTCA(Channel To Channel Adapter)를 사용한다. IUCV나 CTCA는 메모리상에서 통신하므로 고속 통신이 가능하고 네트웍을 사용하지 않으므로 보안이 강화된다.
또한 zSeries에서는 HiperSocket을 사용, TCP/IP와 리눅스 서버 사이 또는 리눅스 서버간에 메모리 통신을 할 수 있으므로 25GB/Sec의 고속 통신이 가능하며, z990 서버에서는 16개의 HiperSocket을 지원한다.
또한 z/VM의 게스트 LAN을 통해 네트웍을 서브넷으로 분리하여 각 서버의 용도에 맞게 운영할 수 있다.

서버 통합 기능 수행
오늘날 기업체에서 유닉스 서버 및 NT 서버 도입은 해당 부서별 또는 단위 업무별 필요에 의하여 독립적으로 도입되고 있으며 특히 그 시스템 관리자가 어떤 이유로 바뀌면 각 서버에 대한 관리 부재 현상이 야기되고 있다.

또한 각각의 도입으로 야기되는 서버 대수의 급격한 증가는 설치 공간 부족이나 시스템구성 및 네트웍 구성도의 복잡성 증대, 그에 따른 빈번한 장애 발생, 공조 시설 추가 문제, 그리고 소프트웨어 버전 관리 등의 문제점을 드러낸다.

그 어느 때 보다 서버 통합에 대한 요구가 절실한 것은 바로 이러한 이유 때문이다. 서버 통합은 많은 수의 서버들을 단일한 기능의 서버로 또는 적은 수의 서버로 옮겨서 보안을 강화하고, 비용을 절감하며, 관리 및 운영을 용이하게 하는 것으로 정의되고 있다.

IBM의 zLinux는 서버 통합에 가장 적절하고 효과적인 방안을 제시하고 있다. z/VM 환경에서 수 십대 또는 수 백 대의 리눅스 서버들을 한 대의 zSeries에서 운영할 수 있는 반면, NT 혹은 유닉스 환경에서 각 리눅스 서버는 한 대의 NT 서버 혹은 한 대의 유닉스 서버로 각각 물리적으로 떨어져 운영된다.

또한 z/VM 환경에서 리눅스 서버는 프로세서, 메모리, 디스크, 네트웍 등 하드웨어 자원을 공유하므로 시스템 자원을 효율적으로 이용할 수 있으며, 각 리눅스 서버는 개별 IP를 가질 수 있으므로 각 서버를 비즈니스 업무에 맞는 독립적인 환경으로 구축해 운영할 수 있다. zLinux는 소프트웨어 버전을 동일하게 유지할 수 있는 기능을 제공한다.

왜 zLinux를 사용하는가?

고객은 왜 zLinux 시스템을 사용하여야 하는가? 에 대한 질문에 답하면서 이 글을 마무리 할까 한다.
첫 번째, 어떤 기업체에서 3대의 리눅스 서버의 사용률이 각기 90%, 70%, 50%라 가정하자. 70%, 50% 사용률 서버의 여유분이 있음에도 불구하고 90%의 용량을 사용하는 서버의 용량증설이 불가피한 것이 현실이다. 하지만, 논리구획영역 모드나 z/VM 게스트 모드를 이용하여 zLinux를 수행하는 경우에는 리눅스 구획간의 자원할당 및 공유가 가능해 특정 구획의 추가 용량 증설 문제를 쉽게 해결할 수 있을 것이다.

두 번째, z/VM의 게스트로 zLinux를 이용하면 시스템 내부의 메모리를 이용하여 고속 통신을 하므로 각 서버간의 물리적 네트웍을 이용하여 통신하는 것보다 통신이 매우 빠르고 효과적이며 그 보안성 측면에서도 안전하다고 할 것이다.

세 번째, 새로운 리눅스 서버의 생성이 용이하다는 점이다. z/VM 게스트 모드상의 모든 리눅스는 디스크를 공유하므로 이미 설치되어 있는 리눅스 이미지를 복사하여, 그 이미지에 신규 IP 주소를 할당하여 주는 것 만으로도 새로운 서버를 만들 수 있다. 이는 빠르게 변화하는 시장 상황에 능동적으로 대처할 수 있게 하는 주문형 컴퓨터(On Demand) 시대의 운영체계 특성을 구비하고 있는 셈이다.

네 번째, 각 유닉스 서버는 서버마다 동일한 소프트웨어 버전을 유지할 수 없지만 zLinux 는 각 서버 마다 동일한 버전을 유지할 수 있다.
다섯 번째, 시스템 및 네트웍 구성이 간단해 시스템 관리가 용이하고 장애가 발생할 수 있는 요소가 많이 줄어들어 가용성을 높일 수 있다.
여섯 번째, 소프트웨어 비용이 저렴하다는 점이다.
일곱 번째, 서버 통합 시 유닉스는 많은 수의 클라이언트로 인하여 유연성이 떨어지는 반면 zSeries 한 대에 많은 리눅스 시스템을 설치하여 운영할 수 있는 유연성 및 생산성을 제공한다. 여덟 번째, 프로그램의 이식성이 좋다는 점이다. zLinux는 리눅스 코드중에 5% 정도만이 하드웨어에 의존하므로 이식성이 높고 하드웨어 벤더에 의존할 필요가 없이 필요 시 하드웨어를 교체해도 응용 프로그램의 수정 없이 운영할 수 있다.

저작권자 © 아이티데일리 무단전재 및 재배포 금지