403 Forbidden
eregi
전체 방문자
오늘
어제
  • 분류 전체보기 (22)
    • 컴퓨터 공학 (8)
      • 네트워크 (1)
      • 보안 (4)
      • 리눅스 (2)
      • 프로그래밍, DB (1)
    • 이슈 (1)
      • 보안 이슈 (1)
      • 사회 이슈 (0)
    • 기타 (11)
      • 소프트웨어 (7)
      • 알뜰 정보 (4)
      • 일기장 (0)

403 Forbidden

컴퓨터 공학/리눅스

리눅스 컨테이너 (LXC, LinuX Containers)

2020. 8. 27. 17:45

VM은 훨씬 더 많은 시스템 리소스를 사용한다. 각 VM은 단순히 운영체제의 복사본만 실행하는 것이 아니라 그 운영체제의 실행을 위해 필요한 모든 하드웨어의 복사본도 실행한다. 따라서 많은 RAM과 CPU 사이클이 빠른 속도로 소비된다. 반면 컨테이너에는 운영체제와 보조 프로그램, 라이브러리, 그리고 특정 프로그램을 실행하기 위한 시스템 리소스만 있으면 된다.

가상화 기법

 1. 하이퍼바이저

   - 호스트 시스템 하드웨어를 단계를 나누어 제어. 하드웨어 리소스에는 가상화를 거쳐 접근. 각 게스트는 각각의 OS를 갖는다.

   - AWS Xen, VMWare ESXi, KVM, Microsoft Hyper-V

 

 2. 컨테이너

   - 완전히 독립적인 OS를 실행하면서 호스트 OS의 커널을 공유하는 방식. 현재에는 Docker 사용. LXC

LXC(LinuX Containers)란?

OS레벨에서의 가상화를 통해 자원을 타 프로세스와의 단절된 공간인 컨테이너 단위로 나누어 사용할 수 있게 해줌.

컨테이너 생성

lxc-create -n myContainer -t ubuntu

-n : 컨테이너명

-t : 템플릿

 (/usr/share/lxc/templates에 다양한 템플릿이 존재한다.)

컨테이너 상태

lxc-ls --fancy

컨테이너 부팅

lxc-start -d  -n myContainer

루트 쉘 획득

lxc-attach -n myContainer

 

설계 고려 사항

  • 젠이나 KVM 같은 전가상화 하이퍼바이저들은 libvrt 등의 관리 도구로 일반적으로 수많은 리눅스VM을 포함하는 기업 규모의 환경에서 사용한다.
  • VMWARE나 버추얼박스는 실제로 PC에 OS를 설치할 필요 없이 한 번에 한두개 정도의 라이브OS를 테스트하고 실험하기에 좋다. 그러나 상대적으로 오버헤드가 커서 실제 운영환경에 사용하기에는 적합하지 않다.
  • LXC나 도커 같은 컨테이너 기술은 상당히 가벼우며 단 몇초면 프로비저닝을 하고 실행할 수 있다. 특히 LXC 컨테이너는 신기술을 적용하고 OS 소프트웨어 스택을 안전하게 구축하는 데 적합하다. 현재 도커는 거대한 마이크로서비스 아키텍처의 일부분으로 무수한 동적 통합 컨테이너를 실행하는 데 사용하는 기술이다.

'컴퓨터 공학 > 리눅스' 카테고리의 다른 글

Linux 하위 디렉토리 모든 파일에 속성/소유자 적용  (0) 2020.07.28
eregi
Designed By 정상우.

티스토리툴바