lxc-create
{-n name} [-f config_file] {-t template} [-B
backingstore] [-- template-options]
설명
lxc-create는 설정정보와
사용자 정보가
저장되는 시스템
객체를 생성한다.
name은 다른 lxc
명령어들에서 특정
컨테이너를
지정하는데
사용된다.
객체는 /var/lib/lxc에
작성되는
디렉토리이며, 자신의
name으로 구분되어
진다.
객체는 응용
프로그램이 사용할 수
있고 볼 수 있는 여러
자원들의 정의이다.
설정파일이 많은
정보를 담고 있을수록
컨테이너는 더욱더
고립될 수 있고, 응용
프로그램은 더욱더
격리될 수 있다.
만약 설정파일
config_file가 지정되지
않았다면, 컨테이너는
프로세스, sysv ipc, 마운트
포인트에 대한
기본적인 고립 상태로
만들어진다.
옵션
- -f, --config
config_file
- 컨테이너 가상화 및
고립 기능을 설정하는
설정파일을
지정한다.
- -t, --template
template
- lxc-create 명령어는 'lxc-template'
스크립트를 호출한다.
template은 'lxc-template'
스크립트의 짧은
이름으로, busybox, debian, fedora, ubuntu, sshd
등이 있다.
스크립트의 구조에
대해 궁금할 때는
/usr/share/lxc/templates에 있는
예제들을 참고하면
된다. template 대신
스크립트의 전체
경로를 지정할 수도
있다. "none"으로
지정하면
루트파일시스템
생성을 강제로 건너뛸
수 있다.
- -B, --bdev
backingstore
- 'backingstore'는 'dir', 'lvm', 'loop', 'btrfs', 'zfs', 'rbd',
'best'를 지정할 수 있다.
기본 값은 'dir'로
컨테이너 루트
파일시스템을
의미하며
/var/lib/lxc/container/rootfs이하
디렉토리를 가리킨다.
'dir'은 옵션으로
컨테이너 루트
파일시스템이 어느
경로에 위치할지
지정할 수 있으며, --dir
ROOTFS로 가능하다. ('none'은
'dir'과 동일하다) 'btrfs'가
지정되어 있다면,
타겍 파일시스템은
반드시 btrfs여야 한다.
그리고 컨테이너 루트
파일시스템은 새로운
서브볼륨으로
생성된다. 이는
스냅샷된 복제물을
만들지만, rsync --one-filesystem는
분리된
파일시스템으로
취급하게 된다. 'lvm'으로
지정되있다면, lvm 블록
디바이스가 사용되며,
이때 사용가능한
옵션은 다음과 같다 :
--lvname lvname1는 이름이
lvname1인 LV를
만든다(기본값은
컨테이너 이름). --vgname
vgname1는 이름이 vgname1인
볼륨그룹 안에 LV를
만든다(기본값은 lxc).
--thinpool thinpool1는 thinpool1라는
풀 안에 있는 thin-provisioned
볼륨으로 LV를
만든다(기본값은 lxc).
--fstype FSTYPE는 LV의
파일시스템을 FSTYPE으로
지정한다(기본값은 ext4).
--fssize SIZE는 LV의 크기를
지정한다(기본값은 1G).
'loop'로 지정되어
있다면, 'lvm'과 비슷하게
--fstype FSTYPE과 --fssize SIZE를
사용할 수
있다(기본값은 'lvm'과
동일).
'rbd'로 지정되어
있다면, ceph.conf내
적절하게
설정사항이 있어야
하고 ceph.client.admin.keyring가
정의되어 있어야
한다. 아래 옵션을
지정할 수 있다 : --rbdname
RBDNAME는 생성하는 블록
장치의 이름을 RBDNAME로
지정한다(기본값은
컨테이너의 이름). --rbdpool
POOL는 블록 장치를
넣을 풀을 POOL로
지정한다(기본값은
'lxc').
'best'로 지정되어
있다면, lxc는 btrfs, zfs, lvm, dir의
순서대로
시도해본다.
- --
template-options
- 이것은 template-options를
템플릿에게 인수로
넘긴다. 만약 어떤
인수를 템플릿에서
지원하는지 보고
싶다면, lxc-create -t TEMPLATE -h를
사용하면 된다.
공통 옵션
이 옵션들은
대부분의 lxc
명령어들에서
공통으로 쓰인다.
- -?, -h, --help
- 사용법을 기존
출력하는 것보다 길게
출력한다.
- --usage
- 사용법을 표시한다.
- -q, --quiet
- 결과를 표시하지
않는다.
- -P,
--lxcpath=PATH
- 컨테이너 경로를 직접
지정한다. 기본값은
/var/lib/lxc이다.
- -o,
--logfile=FILE
- 로그의 경로를 FILE로
지정한다. 기본값은
로그를 출력하지 않는
것이다.
- -l,
--logpriority=LEVEL
- 로그 수준을 LEVEL로
지정한다. 기본값은
ERROR이다. 사용 가능한 값
: FATAL, CRIT, WARN, ERROR, NOTICE, INFO, DEBUG.
이 옵션은 로그
파일에만
적용된다는 사실을
주의해야 한다. stderr로
출력되는 ERROR 로그에는
영향을 끼치지
않는다.
- -n,
--name=NAME
- 컨테이너 식별자로
NAME을 사용한다.
컨테이너 식별자의
형식은 알파벳-숫자
문자열이다.
- --rcfile=FILE
- 컨테이너의 가상화 및
고립 기능들을 설정할
파일을 지정한다.
이전에
만들어졌던
컨테이너에 설정
파일이 이미
있더라도, 이 옵션이
지정되어 있다면
해당 파일을
사용한다.
- --version
- 버전 정보를
표시한다.
참조
lxc(7), lxc-create(1), lxc-copy(1),
lxc-destroy(1), lxc-start(1), lxc-stop(1),
lxc-execute(1), lxc-console(1), lxc-monitor(1),
lxc-wait(1), lxc-cgroup(1), lxc-ls(1),
lxc-info(1), lxc-freeze(1), lxc-unfreeze(1),
lxc-attach(1), lxc.conf(5)
저자
Daniel Lezcano <daniel.lezcano@free.fr>