가상화

  • 가상화는 하드웨어에 종속된 리소스를 사용해 유용한 IT 서비스를 만드는 기술
  • 가상화를 사용하면 물리적 머신의 기능을 여러 사용자 또는 환경에 배포해 물리적 머신을 활용

하이퍼바이저

  • 소프트웨어가 물리 리소스를 필요로 하는 가상 환경으로부터 물리 리소스를 분리

  • 호스트 컴퓨터 대에서 운영체제 다수를 동시에 실행하는 논리적 플랫폼

  • 하이퍼바이저는 노트북 등의 운영 체제에 배포하거나 서버 등의 하드웨어에 직접 설치

  • 하이퍼바이저가 물리 리소스를 분할하여 가상환경에서 사용함

    하이퍼바이저 분류(설치방법)

  • Native - type1

    • 해당 하드웨어/베어메탈에 직접 설치
    • 게스트 운영체제는 두번째 수준으로 실행
    • 성능이 높음
    • 제품 : Xen, KVM, Xen Server등
  • Native - type2

    • 일반 프로그램처럼 호스트 운영체제에서 실행
    • 게스트 운영체제는 세번째 수준으로 실행
    • 성능이 낮음
    • 제품 : Virtualbox, Vmware 등
    • 윈도우에 가상프로그램을 설치를 하기 때문에 일반 사용자같은 경우 type2를 주로 사용함
      #### 가상화방식
  • 전가상화

    • 하드웨어를 모두 가상화
    • 게스트 운영체제를 변경하지 않음
    • 물리적인 가상화를 지원하는 CPU 가상화 기술(VT필요)
    • 네이티브 상식은 이 가상화를 사용
  • 반가상화

    • 하드웨어를 완전히 가상화하지 않음
    • 게스트 운영체제커널 일부 수정이 필요함
    • 하이퍼바이저가 모든 제어를 담당하므로 높은 성능을 유지
    • Qemu가 대표적인 도구

컨테이너

  • 컨테이너는 가상환경을 사용해 각 마이크로 서비스를 격리하는 기술
  • 컨테이너는 가상머신처럼 하드웨어를 전부 구현하지 않기 때문에 실행이 빠름

리눅스 네임 스페이스 - 컨테이너를 격리하는 기술

리눅스 컨트롤 그룹 - 컨테이너를 격리하는 기술

  • 프로세스로 소비할 수 있는 리소스 양(CPU, 메모리, I/O, 네트워크 대역대, device 노드 등)을 제한

컨테이너를 격리하는 기술 - Union Mout File System

  • 동일한 디렉토리에 여러 파일시스템을 마운트하는 기술/기능
  • 먼저 마운트된 것을 살려둔 상태로 추가적으로 마운트하는 것
  • 단 겹치는 것(폴더, 파일)이 있으면 나중 것이 우선함
  • 리눅스 mount 명령어에 --union 옵션을 붙여 마운트함
  • 활용사례 : CD를 마운트한 후, 같은 곳에 HDD를 유니온 마운트하여, 변경분(증분)이 HDD에 저장되도록 함
  • 원본에는 영향을 주지 않고 커스터마이징 부분만 따로 보관

출처

profile
사진은 남아 추억이 메모는 남아 스펙이 된다

0개의 댓글