웹사이트 검색

Ubuntu/Debian에서 LXC를 설치, 생성 및 관리하는 방법


지난 10년 동안 오픈 소스 커뮤니티는 이식성, 유연성, 보안 강화, 애플리케이션 관리 용이성 등 컨테이너화가 제공하는 수많은 이점 덕분에 컨테이너화를 선호하는 애플리케이션 배포 방식으로 꾸준히 전환해 왔습니다. 널리 사용되는 컨테이너화 기술로는 Docker, PodmanLXD가 있습니다.

Go 언어로 작성된 LXD(Lekseed로 발음)는 명령줄에서 또는 < Strong>REST API 또는 기타 타사 도구. LXD는 오픈소스 프로젝트이며 OS 수준 가상화 기술인 LXC(Linux 컨테이너)의 확장입니다.

LXC는 2008년쯤에 등장했고, LXD는 7년 후인 2015년에 LXC와 동일한 구성 요소로 출시되었습니다. LXD는 컨테이너를 더욱 사용자 친화적이고 관리하기 쉽게 만들었습니다.

LXC의 확장인 LXD는 스냅샷 및 실시간 마이그레이션과 같은 고급 기능을 제공합니다. 또한 컨테이너와 가상 머신을 쉽게 관리할 수 있는 데몬도 제공합니다. LXC를 대체하려는 것이 아니라 LXC 기반 컨테이너의 사용성 및 처리 개선을 목표로 합니다.

이 가이드에서는 Debian/Ubuntu에서 LXD를 사용하여 LXC 컨테이너를 만들고 관리하는 방법을 보여줍니다.

1단계: Ubuntu에 LXD 설치

첫 번째 단계는 LXD를 설치하는 것입니다. 이를 수행하는 방법에는 두 가지가 있습니다. APT 패키지 관리자를 사용하여 Ubuntu 저장소에서 설치하거나 스냅을 사용할 수 있습니다.

APT를 사용하여 먼저 시스템을 업데이트합니다.

sudo apt update

그런 다음 LXD 시스템 컨테이너 하이퍼바이저를 다음과 같이 설치합니다.

sudo apt install lxd

스냅을 사용하면 최신 버전의 LXD를 설치할 수 있습니다.

sudo snap install lxd

또한 다음과 같이 최신 LTS 릴리스인 LXD 4.0을 설치할 수 있습니다.

sudo snap install lxd --channel=4.0/stable

다음과 같이 설치된 LXD 버전을 확인할 수 있습니다.

lxd --version

스냅을 사용했다면 다음과 같이 LXD 스냅 패키지가 설치되었는지 확인할 수 있습니다.

snap list

2단계: LXD 서비스 초기화

LXD 컨테이너 하이퍼바이저를 초기화하거나 시작하려면 다음 명령을 실행하세요.

sudo lxd init

이 명령은 LXD 구성 방법에 대한 일련의 질문을 제시합니다. 기본값은 잘 작동하지만 요구 사항에 따라 자유롭게 설정을 지정할 수 있습니다.

이 예에서는 ZFS 파일 시스템 및 볼륨 관리자를 사용하여 tecmint_pool이라는 스토리지 풀을 만들었습니다. 나머지 질문에서는 기본 옵션을 선택했습니다. 기본 선택을 적용하는 쉬운 방법은 키보드의 ENTER 버튼을 누르는 것입니다.

다음 명령을 실행하여 제공된 정보를 확인합니다.

sudo lxc profile show default

생성된 스토리지 풀로 범위를 더 좁힐 수 있습니다. 아래 명령은 현재 스토리지 풀의 세부 정보를 표시합니다.

sudo lxc storage list
sudo lxc storage show tecmint_pool

또한 LXD에서 사용 중인 네트워크 인터페이스에 대한 정보를 표시할 수도 있습니다. 이 경우에는 기본 선택인 lxdbr0입니다.

sudo lxc network show lxdbr0

3단계: Ubuntu에서 LXD 컨테이너 생성

이제 장비를 바꿔서 Linux 컨테이너를 만들어 보겠습니다. 다음 명령을 사용하여 다운로드할 수 있는 사전 빌드된 모든 컨테이너를 나열할 수 있습니다.

sudo lxc image list images:

여기에는 Ubuntu, CentOS, Debian 및 AlmaLinux와 같은 다양한 운영 체제의 모든 컨테이너 목록이 채워집니다.

다음과 같이 특정 분포로 범위를 좁힐 수 있습니다.

sudo lxc image list images: | grep -i centos
sudo lxc image list images: | grep -i debian

이 예에서는 사용 가능한 컨테이너를 나열합니다.

sudo lxc image list images: | grep -i ubuntu

이제 첫 번째 컨테이너를 만들어 보겠습니다. 컨테이너를 생성하는 구문은 다음과 같습니다.

sudo lxc launch images:{distro}/{version}/{arch} {container-name}

이제 Ubuntu 20Debian 10에서 각각 두 개의 컨테이너를 생성하겠습니다.

sudo lxc launch images:ubuntu/focal tecmint-con1
sudo lxc launch images:debian/10 tecmint-con2

위의 예에서는 tecmint-con1tecmint-con2라는 두 개의 컨테이너를 만들었습니다.

생성된 컨테이너를 나열하려면 다음 명령을 실행합니다.

sudo lxc list

출력에서 두 개의 컨테이너가 나열된 것을 볼 수 있습니다.

LXC 컨테이너에 대한 셸 액세스 권한을 얻으려면 다음 명령을 실행하세요.

sudo lxc exec tecmint-con1 bash

셸 액세스 권한을 얻으면 프롬프트가 변경되어 루트 사용자로 실행 중임을 나타냅니다.

컨테이너를 종료하려면 다음 명령을 실행합니다.

exit

4단계: Ubuntu에서 LXD 컨테이너 관리

이제 LXD 컨테이너를 관리하는 데 사용할 수 있는 몇 가지 명령을 확인해 보겠습니다.

실행 중인 모든 컨테이너를 나열하려면 다음 명령을 실행합니다.

sudo lxc list

LXC 컨테이너에 대한 자세한 정보를 표시하려면 다음 구문을 사용하세요.

sudo lxc info container-name

이를 통해 컨테이너 이름, 아키텍처, 생성 날짜, 상태 네트워크 인터페이스, 대역폭, CPU, 메모리 및 디스크 사용량과 같은 정보를 제공하고 몇 가지 지표를 언급할 수 있습니다.

LXC 컨테이너를 중지하려면 다음 구문을 사용하세요.

sudo lxc stop container-name

예를 들어 tecmint-con1 컨테이너를 중지하려면 다음 명령을 실행합니다.

sudo lxc stop  tecmint-con1

다시 한번 컨테이너를 나열하여 컨테이너가 중지되었는지 확인하세요.

sudo lxc list

또는 다음과 같이 실행 중이거나 중지된 컨테이너를 나열할 수 있습니다.

sudo lxc list | grep -i STOPPED
sudo lxc list | grep -i RUNNING

LXC 컨테이너를 시작하려면 다음 구문을 사용하세요.

sudo lxc start container-name

예를 들어, 컨테이너 tecmint-con1을 시작하려면 다음 명령을 실행하십시오.

sudo lxc start tecmint-con1

다음 구문을 사용하여 공백으로 구분된 하나의 명령으로 컨테이너를 우회하여 컨테이너를 시작하거나 중지할 수 있습니다.

sudo lxc stop container1 container2
sudo lxc start container1 container2

예를 들어 모든 컨테이너를 중지하려면 다음을 실행합니다.

sudo lxc stop tecmint-con1 tecmint-con2

LXC 컨테이너를 다시 시작하려면 다음 구문을 사용하세요.

sudo lxc restart container-name

예를 들어, 컨테이너 tecmint-con1을 다시 시작하려면 다음 명령을 실행하십시오.

sudo lxc restart tecmint-con1

또는 단일 명령으로 여러 컨테이너를 전달할 수 있습니다.

sudo lxc start container1 container2

예를 들어 모든 컨테이너를 다시 시작하려면 다음을 실행합니다.

sudo lxc restart tecmint-con1 tecmint-con2

LXC 컨테이너를 삭제하려면 먼저 중지한 다음 삭제하세요. 예를 들어 tecmint-con2 컨테이너를 삭제하려면 다음 명령을 실행합니다.

sudo lxc stop tecmint-con2
sudo lxc delete tecmint-con2

이 가이드는 LXD 컨테이너에 대한 견고한 기초와 컨테이너를 시작, 생성 및 관리하는 방법을 제공했습니다. 이제 큰 어려움 없이 편안하게 컨테이너를 시작하고 관리할 수 있기를 바랍니다.