lxc-create(1) | lxc-create(1) |
NAME¶
lxc-create - コンテナの作成
SYNOPSIS¶
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, ALERT, CRIT, WARN, ERROR, NOTICE, INFO, DEBUG, TRACE。
このオプションは追加のログファイルへのイベントログの優先度の設定である事に注意してください。stderr への ERROR イベントのログには影響しません。
- -n, --name=NAME
- NAME という名前でコンテナを識別します。コンテナ識別子のフォーマットは英数字の文字列です。
- --rcfile=FILE
- コンテナの仮想化、隔離機能の設定のための設定ファイルを指定します。
(lxc-create 経由で) 前もってコンテナが作られた際の設定ファイルが既にあった場合でも、このオプションが指定された場合は、指定した設定ファイルが使用されます。
- --version
- バージョン番号を表示します。
診断¶
- The container already exists
- メッセージの通り、コンテナを作成しようとしたけれども、同じ名前のコンテナが存在しています。 lxc-ls コマンドを使って、システム上に存在する利用可能なコンテナのリストが表示できます。
SEE ALSO¶
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)
2024-09-19 |