0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ubuntu 16.04をセットアップ、KVM・LXDをブリッジ構成にする

Last updated at Posted at 2016-12-13

やること

  • Ubuntu 16.04(固定IP)
    • KVM(ブリッジ接続)
    • LXD(ブリッジ接続・固定IP)

インストール

UEFIの場合、事前にパーティションを切る。KVM上で試すときにUEFIの場合はEFI/ubuntu/grubx64.efiをEFI/BOOT/BOOTX64.EFIへコピー。

ホスト名は最初から設定し、ユーザーはとりあえずtestユーザーを作る。

ディレクトリーを英語化

$ LANG=C xdg-user-dirs-gtk-update

NetworkManagerを無効化

# NetworkManagerが起動しないようにコメントアウトする
$ sudo nano /etc/init/network-manager.conf

# start on (local-filesystems
#          and started dbus
#          and static-network-up)

IPアドレスを固定

この手順を飛ばしてブリッジを作成しても構いません。

# イーサネットのデバイス名を調べる(下記の<xxx>)
$ ip a

# ネットワーク設定を変更
$ sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback

auto <xxx>
iface <xxx> inet static
  address 192.168.1.<nnn>
  netmask 255.255.255.0
  gateway 192.168.1.1
  dns-nameservers 192.168.1.1

# 再起動
$ sudo shutdown -r now

ブリッジを作成

# 仮想ブリッジを作るためにbridge-utilsをインストール
$ sudo apt-get install -y bridge-utils

# イーサネットのデバイス名を調べる(下記の<xxx>)
$ ip a

# ネットワーク設定を変更
$ sudo nano /etc/network/interfaces
auto lo br0
iface lo inet loopback

iface <xxx> inet manual

iface br0 inet static
	address 192.168.1.<nnn>
	netmask 255.255.255.0
	gateway 192.168.1.1
	dns-nameservers 192.168.1.1
	bridge_ports xxx

# 再起動
$ sudo shutdown -r now

NetworkManagerを削除

$ sudo apt-get purge -y network-manager

KVMをインストール

# 各種パッケージのインストール
$ sudo apt-get install -y qemu-kvm libvirt-bin virt-manager ovmf

# 操作したいユーザーをlibvirtdグループに追加
$ sudo gpasswd -a <user> libvirtd

# 再起動
$ sudo shutdown -r now

# libvirt-binの状況を確認
$ sudo /etc/init.d/libvirt-bin status

KVMを管理

# 基本的にvirt-manager(仮想マシンマネージャー)で操作するがUUIDを変えたい場合
# 仮想マシンの一覧を確認
$ sudo virsh list --all

# 仮想マシンの設定(XML)をダンプ
$ sudo virsh dumpxml xxx > domain.xml

# 仮想マシンを管理対象から外す
$ sudo virsh undefine xxx

# XMLを直接編集してUUIDを変更
$ sudo nano domain.xml

# XMLを登録
$ sudo virsh define domain.xml

LXDをインストール

# バックポート版をインストール
$ sudo apt-get install -y -t xenial-backports lxd

# 初期設定
$ sudo lxd init

# ブリッジを構成
$ sudo lxc profile device set default eth0 parent br0

LXDを管理

# コンテナを作成
$ sudo lxc init ubuntu:16.04 <container>

# コンテナを起動
$ sudo lxc start <container>

# コンテナの一覧を確認
$ sudo lxc list

# IPアドレスを固定
$ sudo lxc exec <container> -- sh -c 'echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg'
$ sudo lxc exec <container> -- cat /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}

$ address='192.168.1.<nnn>' &&
$ netmask='255.255.255.0' &&
$ gateway='192.168.1.1' &&
$ dns_nameservers='192.168.1.1' &&
$ cfg="auto lo\niface lo inet loopback\n\nauto eth0\niface eth0 inet static\n\taddress $address\n\tnetmask $netmask\n\tgateway $gateway\n\tdns-nameservers $dns_nameservers" &&
$ sudo lxc exec <container> -- sh -c "echo '$cfg' > /etc/network/interfaces.d/50-cloud-init.cfg"
$ sudo lxc exec <container> -- cat /etc/network/interfaces.d/50-cloud-init.cfg
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
	address 192.168.1.<nnn>
	netmask 255.255.255.0
	gateway 192.168.1.1
	dns-nameservers 192.168.1.1

# コンテナの中に入る
$ sudo lxc exec <container> bash

# コンテナの中から出る
# exit

# コンテナを停止
$ sudo lxc stop <container>

# コンテナを削除
$ sudo lxc delete <container>
0
4
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
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?