lxc-create
{-n name} [-f config_file] {-t template} [-B
backingstore] [-- template-options]
説明
lxc-create
は、設定情報とユーザ情報が保存されているシステムオブジェクトを作成します。
name
で指定された名前が、他の
lxc
コマンドで、コンテナを特定する名前として使われます。
オブジェクトは
/var/lib/lxc
内に作られる、自身の名前がついたディレクトリです。
オブジェクトは、アプリケーションが使用したり、参照したりする様々なリソースの定義です。
設定ファイルがより多くの情報を持つほど、コンテナやアプリケーションはより隔離されたものになります。
設定ファイルが
config_file
で指定されない場合、コンテナはデフォルトの隔離状態で作られます:
プロセス、sysv
ipc、マウントポイントです。
オプション
- -f, --config
config_file
- コンテナの仮想化と隔離機能を設定するための設定ファイルを指定します。
- -t, --template
template
- template は lxc-create
コマンドが呼び出す、存在する
'lxc-template'
スクリプトの短い名前です。
例えば、busybox, debian, fedora, ubuntu, sshd
があります。
期待されるスクリプトの構造の詳細は、/usr/share/lxc/templates
内の例を参照してください。
加えて、実行可能なテンプレートスクリプトへのフルパスも指定することが可能です。rootfs
の作成を行わないように
"none"
を指定することも可能です。
- -B, --bdev
backingstore
- 'backingstore' には 'dir', 'lvm', 'loop', 'btrfs', 'zfs',
'rbd', 'best'
のいずれかを指定します。
デフォルトは 'dir'
で、コンテナのルートファイルシステムが
/var/lib/lxc/container/rootfs
以下のディレクトリであることを意味します。
'dir'
にはオプションとして
--dir ROOTFS
を指定することも可能です。
このオプションは、デフォルトの代わりに特定のパス以下にコンテナの
rootfs
を置くということになります。
('none' は 'dir'
のエイリアスです。)
'btrfs'
が指定された場合、ターゲットのファイルシステムは
btrfs
でなければいけません。
そして、コンテナの
rootfs は新しい subvolume
として作製されます。
このことにより、スナップショットによるクローンが作製可能になりますが、結果として
rsync --one-filesystem
が、別々のファイルシステムとして取り扱ってしまうことにもなります。
backingstore が 'lvm'
である場合、lvm
ブロックデバイスを使用します。
この時、以下のオプションが有効になります:
--lvname lvname1
はデフォルト値のコンテナ名の
LV の代わりに lvname1
という名前の LV
を作成します。 --vgname
vgname1
は、デフォルト値である
lxc という volume group
の代わりに vgname1
という名前の volume group
内に LV
を作成します。 --thinpool
thinpool1
は、デフォルトである
lxc
のという名前のプールの代わりに
thinpool1
という名前のプール内にシンプロビジョニングされたボリュームとして
LV を作成します。 --fstype
FSTYPE は LV
上のファイルシステムをデフォルト値である
ext4 の代わりに FSTYPE
で指定したもので作成します。
--fssize SIZE
はデフォルト値である
1G の代わりに SIZE
で指定したサイズで
LV を作成します。
backingstore が 'loop'
の場合、'lvm' と同様に
--fstype FSTYPE と --fssize SIZE
が使えます。これらの値のデフォルト値は
'lvm'
の場合と同じです。
backingstore が 'rbd'
の場合、ceph.conf
に有効な設定がされており、ceph.client.admin.keyring
が定義されている必要があります。
--rbdname RBDNAME
を指定すると、RBDNAME
という名前のブロックデバイスを作成します。このオプションを指定しない場合のデフォルトのブロックデバイス名はコンテナ名です。
--rbdpool POOL
を指定すると、POOL
という名前のプール内にブロックデバイスを作成します。このオプションを指定しない場合のデフォルトのプール名は
'lxc' です。
backingstore が '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
- コンテナの仮想化、隔離機能の設定のための設定ファイルを指定します。
(lxc-create 経由で)
前もってコンテナが作られた際の設定ファイルが既にあった場合でも、このオプションが指定された場合は、指定した設定ファイルが使用されます。
- --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>