Computer >> 컴퓨터 >  >> 시스템 >> Linux

LXD란? 리눅스 컨테이너 하이퍼바이저의 개념과 주요 기능

LXD는 Linux Containers(LXC)를 위한 오픈 소스 컨테이너 관리 확장 도구입니다. LXD는 기존 LXC의 기능을 개선하는 동시에, 리눅스 컨테이너를 더 쉽게 구축하고 관리할 수 있도록 다양한 신규 기능을 제공합니다.

LXD의 작동 방식

LXD는 liblxc 라이브러리를 통해 LXC와 통신하는 REST API(Representational State Transfer Application Programming Interface)입니다. 또한 애플리케이션이 LXC에 접근할 수 있게 해주는 시스템 데몬을 함께 제공하며, 템플릿 배포 시스템을 통해 더 빠른 컨테이너 생성과 운영을 지원합니다.

컨테이너 사용자라면 LXC가 리눅스 시스템 컨테이너 기술이라는 점을 이해할 필요가 있습니다. 이 기술은 어떤 측면에서는 VMware ESXi와 같은 하이퍼바이저 수준의 가상화와 유사하며, 다른 측면에서는 Docker와 같은 애플리케이션 컨테이너와 닮아 있습니다.

LXD의 주요 기능

LXD는 LXC의 기본 기능 세트를 기반으로 성능을 한층 강화했습니다. 대표적인 장점은 다음과 같습니다.

  • 강력한 명령줄 인터페이스(CLI)
  • 뛰어난 확장성
  • 비특권(non-privileged) 컨테이너 설정과 리소스 제한을 통한 향상된 보안
  • USB, 네트워크 인터페이스 카드(NIC), 디스크, 그래픽 프로세서 등 하드웨어에 대한 디바이스 패스스루(pass-through) 지원
  • 컴퓨팅 리소스에 대한 정교한 제어
  • 스토리지 풀링(storage pooling)을 포함한 네트워크 및 스토리지 관리 기능
  • 실행 중인 컨테이너의 스냅샷 생성
  • 호스트 간 실행 중인 컨테이너의 라이브 마이그레이션(live migration)

또한 LXD는 OpenStack과 같은 클라우드 플랫폼과의 통합도 가능합니다. 예를 들어 Nova LXD 프로젝트는 OpenStack Nova용 플러그인을 제공하여 컨테이너를 OpenStack 환경에 통합할 수 있게 하며, 사용자는 필요에 따라 가상 머신(VM) 또는 컨테이너를 선택해 생성할 수 있습니다.

LXD란? 리눅스 컨테이너 하이퍼바이저의 개념과 주요 기능

LXD 컨테이너의 구성 요소

LXD 컨테이너는 여러 요소로 이루어져 있습니다. rootfs라 불리는 파일 시스템, 앞서 언급한 리소스 사양과 제한을 포함하는 프로파일 및 구성 옵션 집합, 디스크나 네트워크 인터페이스와 같은 디바이스 참조, 컨테이너의 임시(ephemeral) 또는 영속(persistent) 상태를 나타내는 속성, 그리고 스냅샷을 통해 캡처되는 런타임 세부 정보가 그것입니다.