KVM パッケージインストール

  • CentOS 7
    # yum groupinstall "Virtualization Host" "Virtualization Client"
  • CentOS 6
    # yum groupinstall "Virtualization" "Virtualization Client" "Virtualization Platform" "Virtualization Tools"

NIC のブリッジ設定

  • 物理マシン-仮想マシン間の接続を「NAT接続」にすると、物理マシンのネットワークから仮想マシンのサービスにアクセスすることができないため、物理マシン-仮想マシン間の接続には「ブリッジ接続」を使う。

CentOS 7

  • NIC デバイス確認。
    物理 NIC デバイス名は環境によって変わる。
    # nmcli dev
    DEVICE      TYPE      STATE      CONNECTION
    virbr0      bridge    connected  virbr0
    enp1s0      ethernet  connected  enp1s0
    lo          loopback  unmanaged  --
    virbr0-nic  tun       unmanaged  --
  • 自動的に追加される virbr0 は初期状態だと NAT モードなので、削除してブリッジモードの仮想デバイスを追加。
    # nmcli dev delete virbr0
    # nmcli con delete virbr0
    # nmcli con add type bridge ifname br0
    # nmcli con modify bridge-br0 bridge.stp no
    # nmcli con modify bridge-br0 ipv4.method manual ipv4.address "192.168.1.2/24" ipv4.gateway "192.168.1.1" ipv4.dns 8.8.8.8 ipv4.dns-search example.com
  • 物理 NIC デバイスを bridge デバイスに追加。
    # nmcli con add type bridge-slave ifname enp1s0 master br0
    # nmcli con del enp1s0; reboot
  • 再起動後の状態確認。
    # nmcli dev
    DEVICE  TYPE      STATE      CONNECTION          
    br0     bridge    connected  bridge-br0          
    enp1s0  ethernet  connected  bridge-slave-enp1s0 
    lo      loopback  unmanaged  --                  
    # nmcli con
    NAME                 UUID                                  TYPE            DEVICE 
    bridge-br0           XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  bridge          br0    
    bridge-slave-enp1s0  XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  802-3-ethernet  enp1s0 
    vnet0                XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  tun             vnet0  

CentOS 6

  • /etc/sysconfig/network-scripts/ifcfg-eth0
    # Physical NIC 0
    DEVICE=eth0
    ONBOOT=yes
    HWADDR=xx:xx:xx:xx:xx:xx
    BOOTPROTO=none
    BRIDGE=br0
    NM_CONTROLLED=no
  • /etc/sysconfig/network-scripts/ifcfg-br0
    # Virtual Bridge 0
    DEVICE=br0
    TYPE=Bridge
    ONBOOT=yes
    BOOTPROTO=static
    IPADDR=192.168.0.10		# 物理マシンのIPアドレス
    PREFIX=24
    GATEWAY=192.168.0.1		# 物理マシン/仮想マシン共通のゲートウェイ
    DNS1=192.168.0.1
    DOMAIN=TakeAsh.net
    NM_CONTROLLED=no

仮想環境用ネットワーク設定

  • 設定ファイル
    /usr/share/libvirt/networks/default.xml
  • libvirt: Network XML format
  • ネットワーク一覧表示
    # virsh net-list --all
  • 設定内容表示
    # virsh net-dumpxml default
  • 自動起動を無効化
    # virsh net-autostart default --disable
  • 自動起動を有効化
    # virsh net-autostart default
  • 手動起動
    # virsh net-start default

仮想マシンマネージャの起動

  • root 権限が必要。
  • Gnome: アプリケーション - システムツール - 仮想マシンマネージャー
  • bash: virt-manager

インストールメディアおよび仮想マシンイメージファイルの場所

  • /var/lib/libvirt/images/

仮想マシン定義ファイルの場所

  • /etc/libvirt/qemu/

新規仮想マシン作成

詳細設定

  • ステップ5/5の「インストール前に設定をカスタマイズする」チェックボックスにチェックを入れておくと、下記項目の設定ができる。
  • 各項目毎に「適用」ボタンを押さないと、次の項目に変えた時にデフォルトに戻ってしまう。

CPU

  • 「Configuration」は、「Copy host CPU configuration」ボタンをクリックすることで物理マシンの CPU 構成をコピーできる。

仮想 NIC のモデル

モデル名スピード
e100010/100/1000 Mbps
rtl813910/100 Mbps
  • デフォルトは「rtl8139」になっている。

ディスプレイVNC

  • 種類: Spice
    • VNC だとサウンドが再生されない。

仮想マシンの操作(コマンドライン)

仮想マシンの一覧表示

# virsh list --all

仮想マシンを起動

# virsh start <仮想マシン名>

仮想マシンをシャットダウン

# virsh shutdown <仮想マシン名>

仮想マシンのディスクイメージファイルを変更

  • 対象の仮想マシンはシャットダウンしていること。
  • edit で、<source file='~'/> を <新イメージファイル名> に修正, 保存する。
  • edit の操作は vi 。
    # virsh list --all
    # mv <元イメージファイル名> <新イメージファイル名>
    # virsh edit <仮想マシン名>

仮想マシンの定義ファイルの表示

# virsh dumpxml <仮想マシン名>

仮想マシンの削除

  • 仮想マシン定義ファイルは削除されるが、ディスクイメージファイルは削除されない。
    # virsh undefine <仮想マシン名>

仮想マシンの自動起動

  • ホスト起動時に自動起動させる
    # virsh autostart <仮想マシン名>
  • 自動起動設定確認
    # ls /etc/libvirt/qemu/autostart/
  • 自動起動の解除
    # virsh autostart --disable <仮想マシン名>

サウンド出力

  • Audio output
  • /etc/libvirt/qemu.conf
    vnc_allow_host_audio = 1
  • ディスプレイ表示に VNC ではなく Spice を使う。

エラー対応

virt-who を起動しようとして失敗する

  • 起動時に毎回エラーメッセージが表示される。
    Démarrage de virt-who : Traceback (most recent call last):
    File "/usr/share/virt-who/virt-who.py", line 33, in <module>
    from subscriptionmanager import SubscriptionManager, SubscriptionManagerError
    File "/usr/share/virt-who/subscriptionmanager.py", line 24, in <module>
    import rhsm.connection as rhsm_connection
    ImportError: No module named rhsm.connection
    [FAILED]
  • 原因: パッケージのミスで本来不要な virt-who がインストールされてしまう。
  • 対処: virt-who のアンインストール。
    yum erase virt-who
  • 0006342: service virt-who won't start without python-rhsm - CentOS Bug Tracker

リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Mon, 22 May 2017 10:21:46 JST (90d)