- 시스템소프트웨어

tobewiseys
- 작성일
- 2012.11.27
실전 클라우드 가상화 구축 기술
- 글쓴이
- 최동욱,김두호,강정일,조성우,박종민 공저
한빛미디어
이 책은 저자의 머리말에 나와 있듯이, "클라우드 컴퓨팅(Cloud Computing)의 핵심 기술인 가상화(Virtualization) 기술에 대해 실무적인 관점에서 설명"한 책이다. 더구나, 번역서가 아닌 국내 실무자들의 실제 구축 경험을 토대로 책을 만들었다는 점에서 높이 평가하고 싶다.
책의 내용은 IT분야의 초보자들이 읽기에는 어려운 부분들이 많이 나온다. 운영체제, 네트워크, 스토리지에 관한 중급이상의 지식이 있어야 읽기 편할 것이다. 즉, 개념서가 아니라 실무에서 직접 활용할 수 있을 정도로 난이도가 있는 책이라고 하겠다.
책의 내용을 요약하면 다음과 같다.
Part 1 가상화와 하이퍼바이저
1장에서 가상화관련 기본 개념에 대해서 소개하고 있다. 가상화(Virtualization)와 에뮬레이션(Emulation)의 차이에 대해서 설명하고 있는데... 추가적으로 http://tobewiseys.tistory.com/248 글을 참조하면 도움이 될 것이다. 요약하면, 가상화는 물리적인 자원들을 논리적으로 분할 또는 합병하기 위한 개념이고, 에뮬레이션은 호환성에 중점을 둔다고 보면 되겠다.
하이퍼바이저는(Hypervisor)는 "호스트 컴퓨터(Host Computer)와 게스트(Guest) OS를 연결해주는 플랫폼"으로 가상 게스트로부터 하드웨어로 전달되는 명령을 하이퍼바이저가 처리하여 마치 하드웨어처럼 보이는 역할을 수행한다고 이해하면 되겠다. 이 책에서 중점을 두고 설명하는 하이퍼바이저는 QEMU(Quick EMUlator), KVM(Kernel-based Virtual Machine), Xen 이다.
(참고로 Xen을 읽을 때는 젠이라고 읽는 것이 맞는 것 같다. http://en.wikipedia.org/wiki/Xen에 가면 발음기호가 zɛn으로 나와 있다. youtube의 동영상을 보면 가끔 센이라고 이야기하는 사람들이 있던데..
센이 아니라 젠이라고 읽어야 할 것 같다.)
1장에서 개념적인 내용이 많이 나오는데.. 특히 전가상화와 반가상화 개념은 꼭 이해하고 넘어가야 한다.
전가상화(Full Virtulization, Native Virtualization)는 하드웨어의 지원(인텔-VT, AMD-V)을 받아, 게스트 OS의 수정없이, 하이퍼바이저가 하드웨어 관련 명령을 처리하는 방식으로, 성능이 낮은 편이나, 많은 하이퍼바이저(VMware ESX, MS Hyper-v, KVM 등)가 이 방식을 사용하고 있다.
반가상화(Para-Virtualization)은 게스트 OS를 수정하여 하드웨어 관련 명령을 하이퍼바이저가 바로 처리하는 방식으로, 성능이 향상되나 사용할 수 있는 게스트 OS가 오픈소스 OS로 제한된다는 단점이 있다. 대표적인 하이퍼바이저로 Xen이 있다.
참고로 전가상화와 반가상화의 성능부분에서 의아해 할 수 있을 것이다. 하드웨어의 지원을 받으면 더 빠를 것 같은데 왜 전가상화가 더 느린가? 33페이지의 그림을 보고 이해하면 도움이 될 것이다. (관련 내용은 143페이지에도 나온다) 즉, 전가상화는 게스트 OS에서 하드웨어 제어 요청 -> 하드웨어 지원 가상화기술(인텔-VT, AMD-V)-> 하이퍼바이저에 하드웨어 제어 요구-> 하드웨어 제어 단계를 거치는데 비해, 반가상화는 게스틍 OS에서 하드웨어 제어 요청 -> 하이퍼바이저에 하드웨어 제어요구 -> 하드웨어 제어 단계를 거치기 때문이라고 한다. (반가상화 단계에서는 하드웨어 지원 가상화기술을 사용하는 단계가 없다)
가상화가 필요한 이유로 낭비되는 자원을 효율적으로 운영하여 비용을 절감하는 것이 가장 큰 목적이라고 한다. 그밖에 라이브 마이그레이션(Live Migration)을 통한 로드 밸런싱(Load Balancing)이나, 다양한 플랫폼(Cross-Platform)에서 개발을 용이하게 하거나, 멀티 코어를 지원하지 못하는 구형 소프트웨어를 여러 가상 머신에서 수행하여 처리시간을 단축시키려는 목적도 있다고 한다.
2장에서는 이 책에서 주로 소개하려는 2개의 하이퍼바이저인 KVM과 Xen 하이퍼바이저에서 디바이스 에뮬레이션이나 가속을 위해서 사용하는 QEMU(Quick EMUlator) 하이퍼바이저에 대해서 설명하고 있다.
3장에서는 (레드헷에서 가상화 전략의 기반으로 삼고 있으며) 리눅스 커널에 포함되어 전가상화를 지원하는 KVM(Kernel-based Virtual Machine) 하이퍼바이저에 대해서 설명하고 있다. 전가상화를 위해서는 CPU가 가상화 기술을 지원하는지 확인하는 방법에 대해서도 설명하고 있다. 참고로 인텔의 VT(Virtualization Technology)에 대해서는 http://tobewiseys.tistory.com/237 의 글을 참조하면 도움이 될 것이다.
또한, 오프라인 마이그레이션(Off-Line Migration)에 비해서 까다로운, 라이브 마이그레이션(Live Migration)이 어떻게 이루어지는지 129~132페이지에 그림으로 상세히 설명되어 있다.
4장에서는 반가상화(Paravirtualization)를 지원하고 검증된 하이퍼바이저인 Xen 을 소개하고 있다. Xen 하이퍼바이저는 가상 게스트들의 CPU 스케쥴링과 메모리 분배 담당, 가상 게스트로부터 하드웨어로 전달되는 명령을(보안상 일반적인 I/O 기능제외) 처리한다. 게스트(Guest)들은, 다른 가상 게스트를 관리하기 위한 도메인 0와 물리적 I/O 리소스에 접근할 권한이 없은 일반적인 용도의 도메인 U로 구분할 수 있다.
5장에서는 Xen 하이퍼바이저를 기반으로 좀더 플랫폼 형태로 제품화된 XenServer에 대해서 소개한다. Xen과 XenServer의 차이에 대해서 "Xen은 자동차의 엔진이고 XenServer는 자동차"에 해당한다고 설명하고 있다. 즉, 단순하고 실험적으로 가상화를 구축한다면 Xen을 이용해서 직접 작업을 해도 되지만, 좀더 복잡하고 규모가 커지게 되면 Xen을 이용하는 것보다는 XenServer가 더 낫다는 이야기이다.
Part 2 실전 가상화 관리
6장에서 하이퍼바이저를 통하여 가상머신을 관리하기 위한 라이브러리인 libvirt에 대해서 소개하고, 실제로 하이퍼바이저에 연결하여 관리를 수행하는 C프로그램 예제를 보여주고 있으며, 이 라이브러리를 이용하여 CLI(Command Line Interface) 환경에서 게스트를 관리할 수 있는 virsh(Virtual Shell)에 대해서 설명하고 있다.
7장에서는 스토리지를 네트워크로 연결한 NAS(Network Attached Storage) 방식 파일 시스템인 GlusterFS을 소개하고 있다. 참고로 249페이지에서 NFS(Netowrk File System)가, 별도 클라이언트가 필요없는 범용성이라는 장점이 있지만, 단일 장애지점(SPOF, single point of failure), 처음 마운트한 서버를 거쳐 데이터를 주고받아야 하는 오버헤드(Overhead, 과부하)가 존재한다는 단점에 대해서 알아 두는 것이 도움이 될 것이다.
8장에서는 가상머신관리자(VMM, Virtual Machine Manager)로 virt-manager을 이용하여, 가상머신을 관리하는 작업(메모리할당, 가상 CPU할당, 실행상태 표시 등)을 소개하고 있다.
9장에서는 libvirt-python 라이브러리, 아파치 웹서버, 파이썬 모듈을 이용하여, 가상머신 목록표시/추가/삭제를 수행하는 psp(python server page)를 작성하여, 웹기반 가상화 관리도구를 개발하는 방식에 대해서 소개하고 있다.
10장에서는 오픈소스 웹기반 가상머신, 네트워크, 스토리지 관리도구인 클라우드스택(cloudstack)에 대해서 소개하고 있다.
존(zone), 포드(pod), 클러스터(clsuter) 개념을 사용하고 있는데.. 잘 이해가 되지 않는다. 318페이지의 내용과 335~338페이지의 내용을 합쳐서 비교해 보면, 존(zone)은 데이터선터를 구분하기 위한 용도로 사용되는 것 같고, 포드(pod)는 336페이지의 내용을 보아서는 zone 내에서 IP를 기준으로 적당히 네트워크를 분할하는 것 같다. 클러스터는 zone 내에서 하이퍼바이저 기준으로 몇 개의 그룹으로 나눌 것인지 지정하는 것으로 보면될 것 같다.
부록A에서는 VirtualBox를 통해서 XenServer를 설치하는 방법에 대해서 설명하고 있다.
실제로 Oracle의 VirtualBox 홈페이지를 가서 VirtualBox를 내려 받아 설치한 후, XenServer를 설치하려고 했는데 잘 안되었다. 358페이지에서 시스템>확장된 기능> IO APIC 사용하기를 체크하고 XenServer를 설치하려고 하였지만... 설치 모드로 넘어가지 않았다... Windows XP 가상머신은 잘 설치되었는데... 무엇이 잘못된 것인지 알아내는 데 시간이 걸릴 것 같다.
--------------------------------------
다음은 오탈자이다.
49페이지 [그림 2-2] -> [그림 2-4]
94페이지 솔류선 -> 솔루션 (다른 곳에서는 솔루션이라고 하느데 여기서만 솔류션이라고 함)
326페이지 아래에서 4번째 내려받자다 -> 내려받자
327페이지 아래에서 4번째 줄에서 vim /etc/hosts는 vim /etc/selinux/config 일 것이다.
346페이지 [그림 11-30] -> [그림 10-30]
- 좋아요
- 6
- 댓글
- 0
- 작성일
- 2023.04.26
댓글 0
댓글이 없습니다.
첫 번째 댓글을 남겨보세요.