IT/Cloud

    [가상화] Xen과 KVM 하이퍼바이저 아키텍처

    가상화와 하이퍼바이저에 대해 작성한 이전 글들을 읽고 오는 것을 권장한다. [가상화] 하이퍼바이저와 가상화 [가상화] Full Virtualization & Para Virtualization (전가상화와 반가상화) Xen Architecture Xen은 AWS, Citrix, 알리바바클라우드, 화웨이, 인텔, AMD, KT 등에서 정말 많이 사용하는 오픈소스 하이퍼바이저이다. Xen은 대표적인 반가상화 하이퍼바이저로 등장했지만, HVM(하드웨어 기반 가상화) 기능을 활용하여 전가상화도 지원한다. 도메인(Domain)은 Xen 환경에서 동작하고 있는 가상머신을 의미한다. 도메인은 크게 Dom0와 DomU 2가지로 나뉘는데, Dom0는 실제 물리 디바이스와 통신하기 위한 디바이스 드라이브가 존재하는 가상화..

    [가상화] Full Virtualization & Para Virtualization (전가상화와 반가상화)

    이전 글에서 가상화와 하이퍼바이저에 대해서 알아보았다. 하이퍼바이저는 다시 가상화 방식에 따라 Full Virtualization과 Para Virtualization으로 분류된다. Full Virtualization (전가상화) Full Virtualization은 한글로 전가상화라고 한다. 말 그대로 하드웨어를 완전히 가상화하는 방식이다. 전부 가상화하기 때문에 Guest OS가 Host 시스템과 완전히 분리되어 실행된다. 따라서 Full Virtualization 방식에서 Guest OS는 자신이 가상머신의 OS인지 인지하지 못한다. Host 하드웨어와 Guest OS 사이에 Hypervisor가 분명 존재하나, VM 입장에서는 가상화된 하드웨어를 진짜(물리) 하드웨어로 인지하고 있기 때문에, 실제..

    [가상화] 하이퍼바이저와 가상화

    가상화 (Virtualization) 가상화란? 우리가 일반적으로 사용하는 PC는 cpu와 memory를 적게 사용하는 경우 전력도 적게 공급되도록 설계되어 있다. 반면, 서버의 경우 항상 최상의 성능을 유지해야 하기 때문에 전력을 최대로 공급해야 할뿐더러 서버를 조금 사용하든 많이 사용하든 IDC 임대료는 동일하다. 그렇다면 서버의 남는 cpu와 memory를 놀리지 말고 활용할 수 있는 방법을 찾아야 했다. 가장 간단한 방법은 동시에 여러 개의 Application을 동시에 올리는 방법이다. 웹서버, DB서버, DNS 등등... 그러나 이런 경우 서로 간의 영향이 생길뿐더러 서버가 다운되었을 때 모든 서비스가 중단되는 위험이 있다. 보안 문제도 필연적으로 발생하게 된다. 여기서 가상화의 개념이 시작된..

    [Network] ONOS로 Open vSwitch 제어하기

    이 글 또한 작년 여름에 실습하며 정리한 내용인데, 블로그 활동을 잠시 쉬게 되면서 오늘에서야 포스팅하게 되었다. 이 글을 읽기 전 Cloud 카테고리의 [Network] Prefix가 붙은 글을 먼저 읽는 것을 권장한다. ONOS란? ONOS(Open Network Operating System)는 SDN/NFV 솔루션을 구축하기 위한 오픈소스 SDN 컨트롤러이다. (Apache 2.0 라이센스) ONOS는 단순화된 프로그래밍 상의 인터페이스로 새로운 동적 네트워크 서비스를 생성하고 구축할 수 있는 유연성을 제공하며, 통신사급 솔루션을 구축하고자 하는 사업자의 요구를 충족시키기 위해 설계되었다. ONOS는 네트워크의 구성과 실시간 제어를 모두 제어하므로, 네트워크 패브릭 내에서 라우팅과 스위칭 제어 프..

    [Network] Virtual Network와 Open vSwitch (네트워크 가상화)

    예전에 올리려고 정리해놨던 글인데, 블로그 활동을 잠시 쉬다가 오랜만에 포스팅한다. Cloud 카테고리에서 Network 영역을 지속해서 다루는 이유는, 네트워크가 가상화의 핵심 요소이며 Cloud를 이해하기 위한 기본적인 소양이기 때문이다. 네트워크 가상화 기존 network 인프라 기존의 레거시 인프라에서는 Application을 호스팅하기 위해 물리적인 서버와 네트워크 장비들이 필요했다. 서버들 간 통신을 가능하도록 하기 위해서 각 서버에는 외부 네트워크에 연결되는 NIC(Network Interface Card)가 포함되어 있어야 하며, NIC은 네트워크 인프라를 통해 endpoint 간 통신을 가능하도록 한다. 위 그림에서 볼 수 있듯이 스위치는 이러한 endpoint 간 효율적인 패킷 통신을 ..