設計方針

ホストマシンのネットワーク設定

VM インストール直後のデフォルトネットワーク構成

munakata@mvc:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute enp5s0
       valid_lft forever preferred_lft forever
    inet6 fe80::692:26ff:fe5c:c315/64 scope link 
       valid_lft forever preferred_lft forever

3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff

munakata@mvc:~$ brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.5254004ab1a9	yes		virbr0-nic

munakata@mvc:~$ nmcli device
DEVICE      TYPE      STATE     CONNECTION     
enp5s0      ethernet  接続済み  netplan-enp5s0 
virbr0      bridge    接続済み  virbr0         
lo          loopback  管理無し  --             
virbr0-nic  tun       管理無し  --             

ゲストOSに同一セグメントIPを振れるようにブリッジ構成にする

新規に br0 を定義する

munakata@mvc:~$ nmcli device
DEVICE      TYPE      STATE     CONNECTION     
enp5s0      ethernet  接続済み  netplan-enp5s0 
virbr0      bridge    接続済み  virbr0         
lo          loopback  管理無し  --             
virbr0-nic  tun       管理無し  --             

munakata@mvc:~$ nmcli connection add type bridge ifname br0
接続 'bridge-br0' (cfcf64fa-3d14-4194-8352-ca74b4b20dd3) が正常に追加されました。

munakata@mvc:~$ nmcli device
DEVICE      TYPE      STATE                     CONNECTION     
enp5s0      ethernet  接続済み                  netplan-enp5s0 
virbr0      bridge    接続済み                  virbr0         
br0         bridge    接続中 (IP 設定を取得中)  bridge-br0     
lo          loopback  管理無し                  --             
virbr0-nic  tun       管理無し                  --             

br0 のスパンニングツリー(ループ回避の為の冗長プロトコル)を無効にする

munakata@mvc:~$ nmcli connection show bridge-br0 | grep bridge.stp
bridge.stp:                             はい

munakata@mvc:~$ nmcli connection modify bridge-br0 bridge.stp no

munakata@mvc:~$ nmcli connection show bridge-br0 | grep bridge.stp
bridge.stp:                             いいえ

bridge-br0のIPアドレス、ゲートウェイ、DNSサーバの設定

nmcli connection modify bridge-br0 ipv4.method manual ipv4.addresses "192.168.11.8/24" ipv4.gateway "192.168.11.1" ipv4.dns 192.168.11.1

ブリッジbridge-br0にデバイスenp5s0を接続タイプbridge-slaveとして追加

munakata@mvc:~$ nmcli connection add type bridge-slave ifname enp5s0 master bridge-br0
接続 'bridge-slave-enp5s0' (317c09b2-e7a4-409d-906b-4e12450344b4) が正常に追加されました。

変更後の設定を確認

munakata@mvc:~$ nmcli connection show 
NAME                 UUID                                  TYPE      DEVICE 
bridge-br0           cfcf64fa-3d14-4194-8352-ca74b4b20dd3  bridge    br0    
bridge-slave-enp5s0  317c09b2-e7a4-409d-906b-4e12450344b4  ethernet  enp5s0 
virbr0               f93e94e4-980a-4a45-9ccd-668fcdb7130a  bridge    virbr0 
netplan-enp5s0       85b48279-9901-3522-93a4-380f40958535  ethernet  --     

munakata@mvc:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever

2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff

3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute br0
       valid_lft forever preferred_lft forever
    inet6 fe80::8024:bc4f:d6e5:c348/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff

KVM インストール

必要なパッケージ群をインストール

munakata@mvc:~$ sudo apt install -y qemu-kvm libvirt0 libvirt-bin virt-manager libguestfs-tools

munakata が libvirt グループに追加された( sudo 無しで virsh 等が実行できる )

munakata@mvc:~$ cat /etc/group | grep libvirt
libvirt:x:131:munakata
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:132:

仮想マシンの iso ファイルの準備と virsh にプールを登録

参考 URL

virt-manager を使って仮想マシンをインストール

CPU の仮想化支援機構が無効になっている場合にはエラーが出る → BIOS メニューで有効にする

KVMのゲストOSをブリッジに接続する (ゲストOSのインターフェース vnet0 を virtbr0 から br0 に切り替える)

munakata@mvc:~$ brctl show
bridge name	bridge id		STP enabled	interfaces
br0		8000.0492265cc315	no		enp5s0
virbr0		8000.5254004ab1a9	yes		virbr0-nic

参考 URL

virtsh を使った仮想マシンの操作

代表的なコマンド

Noコマンド処理内容
1vm の一覧表示virsh list (--all)
2vm の起動virsh start ドメイン名
3vm の停止virsh shutdown ドメイン名
4vm の一時停止virsh suspend ドメイン名
5vm の再開virsh resume ドメイン名
6vm のリネームvirsh domrename ドメイン名
7vm の設定変更(xml ファイルの編集)virsh edit ドメイン名
8

仮想マシンに対するコンソール接続


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS