KVM+Openvswitch環境のCentOS 7へのインストール

6402 ワード

Author: Xu FC

CentOS 7

  • バージョン
  • [root@localhost ~]# uname -a
    Linux localhost.localdomain 3.10.0-862.3.3.el7.x86_64 #1 SMP Fri Jun 15 04:15:27 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
    
  • SElinux(Security-Enhanced Linux:すべてのリソースへのアクセス制御)
  • を閉じる
    vi /etc/sysconfig/selinux 
    SELINUX=disabled
    
  • システムアップグレード:yum update
  • ソフトウェアのインストール

  • KVMは最下層のHypervisorで、CPUの動作をシミュレートするために使用されます.LinuxカーネルはデフォルトでKVMをサポートしています.modprobe kvmでロードし、lsmod | grep kvmで表示できます.
  • Qemu-kvmは完全なシミュレータであり、ユーザー層で動作し、KVMの上に構築され、KVMインタフェースを呼び出し、完全なネットワークとI/Oサポートを提供し、qemu-kvm:yum install qemu-kvm
  • をインストールする.
  • Libvirtはqemu-kvmを呼び出して仮想マシンを管理するツールで、virshで呼び出すことができ、libvirt:yum install libvirt
  • をインストールする仮想マシン操作APIを提供しています.
  • Libvirt-pythonはlibvirtがpythonに提供するAPIであり、libvirt-pythonをインストールする:yum install libvirt-python
  • libvirtをインストールするクライアント:yum install libvirt-client
  • libvirtベースの仮想マシン作成コマンドラインツールのインストール:yum install virt-install
  • libvirtベースのグラフィックス仮想マシン管理ツールのインストール:yum install virt-manager
  • libvirtに基づいてguest OSのグラフィックス化consoleを表示するためのツールをインストールする:yum install virt-viewer
  • 仮想マシンリソースの使用状況を表示するためのlibvirtベースのツールのインストール:yum install virt-top
  • libvirtベースのpythonを使用して仮想マシンをインストールするツールをインストールします:yum install python-virtinst
  • 仮想マシンディスク管理ツールのインストール:yum install libguestfs-tools
  • libvirtdを起動し、起動
  • として設定
    systemctl start libvirtd
    systemctl enable libvirtd
    
    [root@localhost ~]# virsh -c qemu:///system list
    Id    Name                           State
    ----------------------------------------------------
    
  • openvswitch:yum install openvswitch
  • をインストール

    KVMネットワーク構成--Bridge

  • CentOSネットワークプロファイルディレクトリ:cd /etc/sysconfig/network-scripts/
  • ブリッジデバイススクリプトファイルの追加:vi ifcfg-br0
  • DEVICE=br0
    TYPE=Bridge
    BOOTPROTO=none
    ONBOOT=yes
    NM_CONTROLLED=no
    

    このブリッジ上にホストホストホストの静的IPアドレスを配置することもできる.
    DEVICE=br0
    TYPE=Bridge
    BOOTPROTO=static
    IPADDR=192.168.2.6
    NETMASK=255.255.255.0
    GATEWAY=192.168.2.1
    DEFROUTE=yes
    ONBOOT=yes
    NM_CONTROLLED=no
    
  • NICデバイスをシャットダウンし、NICデバイスのスクリプトファイルを変更します:ifdown enp133s0f0vi ifcfg-enp133s0f0
  • HWADDR=00:0C:BD:00:DE:20
    TYPE=Ethernet
    BOOTPROTO=none
    NM_CONTROLLED=no
    DEVICE=enp133s0f0
    ONBOOT=yes
    BRIDGE=br0
    
  • ネットワークカード、起動ブリッジ:ifup enp133s0f0ifup br0
  • [root@localhost network-scripts]# ip add
    ...
    4: enp133s0f0:  mtu 1500 qdisc mq master br0 state UP group default qlen 1000
        link/ether 00:0c:bd:00:de:20 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::20c:bdff:fe00:de20/64 scope link 
           valid_lft forever preferred_lft forever
    ...
    17: br0:  mtu 1500 qdisc noqueue state UP group default qlen 1000
        link/ether 00:0c:bd:00:de:20 brd ff:ff:ff:ff:ff:ff
        inet6 fe80::20c:bdff:fe00:de20/64 scope link 
           valid_lft forever preferred_lft forever
    ...
    

    ブリッジに静的IPアドレスが設定されている場合は、br 0に表示されます.
  • ブリッジの表示:
  • [root@localhost network-scripts]# brctl show
    bridge name     bridge id               STP enabled     interfaces
    br0             8000.000cbd00de20       no              enp133s0f0
    br1             8000.000cbd00de21       no              enp133s0f1
    br2             8000.000cbd00de22       no              enp133s0f2
    br3             8000.000cbd00de23       no              enp133s0f3
    

    KVMネットワーク構成--vSwitch

  • openvswitchを起動し、起動するように設定:systemctl start openvswitchsystemctl enable openvswitch
  • /etc/sysconfig/network-scriptsディレクトリの下で、OVS Bridgeスクリプトを構成する:vi ifcfg-br20
  • DEVICE=br20
    DEVICETYPE=ovs
    TYPE=OVSBridge
    BOOTPROTO=none
    ONBOOT=yes
    NM_CONTROLLED=no
    
  • ネットワークカードを閉じて、ネットワークカードのスクリプトを修正します:ifdown enp7s0f0vi ifcfg-enp7s0f0
  • HWADDR=00:0C:BD:06:43:8A
    DEVICETYPE=ovs
    TYPE=OVSPort
    DEVICE=enp7s0f0
    NM_CONTROLLED=no
    ONBOOT=yes
    OVS_BRIDGE=br20
    
  • ネットワークカードを起動し、OVS Bridge:ifup enp7s0f0ifup br20
  • を起動する.
    [root@localhost network-scripts]# ip add
    ...
    11: enp7s0f1:  mtu 1500 qdisc mq master ovs-system state UP group default qlen 1000
        link/ether 00:0c:bd:06:43:8b brd ff:ff:ff:ff:ff:ff
        inet6 fe80::20c:bdff:fe06:438b/64 scope link 
           valid_lft forever preferred_lft forever
    ...
    14: br20:  mtu 1500 qdisc noqueue state UNKNOWN group default qlen 1000
        link/ether 00:0c:bd:06:43:8a brd ff:ff:ff:ff:ff:ff
        inet6 fe80::60d0:9eff:fea0:b263/64 scope link 
           valid_lft forever preferred_lft forever
    ...
    
  • 表示vswitch:
  • [root@localhost network-scripts]# ovs-vsctl show
    7cb9a643-bff7-4d85-8f4d-1cb8077bb117
        Bridge "br20"
            Port "br20"
                Interface "br20"
                    type: internal
            Port "vnet4"
                Interface "vnet4"
            Port "enp7s0f0"
                Interface "enp7s0f0"
        Bridge "br11"
            Port "ens65f1"
                Interface "ens65f1"
            Port "br11"
                Interface "br11"
                    type: internal
        Bridge mgmt
            Port "enp1s0f0"
                Interface "enp1s0f0"
            Port "vnet0"
                Interface "vnet0"
            Port mgmt
                Interface mgmt
                    type: internal
        Bridge "br21"
            Port "enp7s0f1"
                Interface "enp7s0f1"
            Port "vnet10"
                Interface "vnet10"
            Port "br21"
                Interface "br21"
                    type: internal
            Port "vnet7"
                Interface "vnet7"
        ovs_version: "2.0.0"
    
  • はnetworkの再起動に失敗し、bridgeがすでに存在することを示し、ovs-vsctl del-br BRIDGEを通過した後、networkを再起動して解決することができる.

  • WebVirtMgr配備:WebVirtMgr+NGINX環境のCentOS 7への配備