LoginSignup
3
5

More than 5 years have passed since last update.

Debian on LXC/LXD

Last updated at Posted at 2018-05-13

Debian on LXC/LXD

仮想化プラットフォームにProxmox VEを使用しています。Proxmox VEで利用できる仮想マシンにはLXCやKVMがあります。LXCは軽量仮想化技術と呼ばれており、KVMなどの仮想化技術に比べて、CPUやメモリを無駄にせず、オーバーヘッドもありません。ゲストOSがLinuxの場合、仮想マシンにLXCを選択しましょう。

LXCについて

LXCが登場してから数年経ち、日本語の情報も多くなってきたので、LXCの詳細は省きます。

LXCのインストール

ホストにDebian(Stretch)を利用しているので、LXC - Debian Wikiを参考にして、LXCをインストールします。Wikiの方が詳しいのでコマンドだけ記載します。

apt install lxc debootstrap bridge-utils

LXDについて

LXCにはLXDと呼ばれるコンテナマネージャがあります。Debian(Stretch)では、まだパッケージ化されていません。Debian(Stretch)でLXDを利用するにはSnappyと呼ばれるパッケージ管理システムを利用します。SnappyのパッケージはSnapと呼ばれ、様々なLinuxディストリビューションで動作します。Snapパッケージを利用するにはSnapdと呼ばれるツールを使用します。

SnapdとLXC/LXDのインストール

sudo apt install snapd
sudo snap install lxd

2018年3月27日にLXC 3.0.0、4月2日にLXD 3.0.0がリリースしました。Debian(Stretch)のLXCのバージョンは2.0.7、SnapパッケージのLXC/LXDのバージョンは3.0.0になります。

$ lxc --version
3.0.0
$ lxd --version
3.0.0

LXC/LXDのコマンドは/snap/binにあります。ログインし直して$PATHを更新するか、既存の$PATHを更新します。

. /etc/profile.d/apps-bin-path.sh

初期設定

rootユーザーにならずに、初期設定を行うにはsudo-iのオプションを指定します。

sudo -i lxd init

これは/etc/sudoersenv_resetのオプションにより、環境変数が初期化され、secure_pathに設定したPATHに固定されるからです。sudo-iのオプションを指定して回避できます。

Defaults    env_reset
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

環境変数の確認方法です。$PATH/snap/binがあることを確認してください。

env | grep PATH
sudo env | grep PATH
sudo -i env | grep PATH

LXDグループの追加

lxdグループにユーザーを追加します。このグループに所属するユーザーはLXDを制御することができます。

gpasswd -a $USER lxd

lxdグループが追加されたことを確認してください。

id $USER

コンテナの作成と使用

コンテナの作成します。

lxc launch ubuntu:16.04 first

作成したコンテナを確認します。

lxc list

コンテナを停止します。

lxc stop first

コンテナを削除します。

lxc delete first

LXDのコマンドラインの詳細はLinux Containers - LXD - はじめに - コマンドラインを参考にしてください。

参考文献

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5