GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS 7 /RHEL7でKVMを使用してOpenvSwitchをインストールして使用する方法

vSwitchを開く はフリーでオープンソースのマルチレイヤーソフトウェアスイッチであり、仮想マシンと物理ネットワークまたは論理ネットワーク間のトラフィックを管理するために使用されます。 GREなどのオーバーレイ手法を使用したOpenStackテナントでのトラフィック分離などの機能を提供します 、 VXLAN および802.1QVLAN

カーネルスペースまたはユーザースペースでオープンvSwitchパケット転送エンジンを使用することを実装でき、リンクアグリゲーションは LACPを介して実行することもできます。 。

この記事では、CentOS7およびRHEL7サーバーに最新バージョンのOpenvSwitch2.9.2をインストールする方法について説明します。これとは別に、KVM仮想マシンでオープンvSwitchをネットワークに使用する方法を説明します。

続きを読む: Ubuntu18.04LTSサーバーにKVMをインストールして構成する方法

CentOS7またはRHEL7サーバーのいずれかがKVMで構成されていることを前提としています。 Open vswitch(OVS)2.0は、CentOS7およびRHEL7のデフォルトのyumリポジトリで使用できますが、最新バージョンのopen vSwitchをインストールする場合は、以下の手順を参照してください。

ステップ1)yumコマンドを使用して必要なパッケージをインストールします

CentOS7またはRHEL7サーバーにログインし、以下のyumコマンドを実行します。

[[email protected] ~]# yum install wget openssl-devel  python-sphinx gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool python-twisted-core python-zope-interface PyQt4 desktop-file-utils libcap-ng-devel groff checkpolicy selinux-policy-devel -y

ステップ2)ovsユーザーを作成し、OpenvSwitch2.9をダウンロードします

以下のコマンドを使用して、ovsという名前のユーザーを作成します

[[email protected] ~]# useradd ovs
[[email protected] ~]# su - ovs
[[email protected] ~]$

OVS 2.9 tarファイルをダウンロードし、以下のコマンドを使用してopenvswitchrpmをビルドします。

[email protected] ~]$ mkdir -p ~/rpmbuild/SOURCES
[[email protected] ~]$ wget http://openvswitch.org/releases/openvswitch-2.9.2.tar.gz
[[email protected] ~]$ cp openvswitch-2.9.2.tar.gz ~/rpmbuild/SOURCES/
[[email protected] ~]$ tar xfz openvswitch-2.9.2.tar.gz
[[email protected] ~]$ rpmbuild -bb --nocheck openvswitch-2.9.2/rhel/openvswitch-fedora.spec
[[email protected] ~]$ exit
logout
[[email protected] ~]#

次に、以下のyumコマンドを使用してOpenvSwitchrpmをインストールします

[[email protected] ~]# yum localinstall /home/ovs/rpmbuild/RPMS/x86_64/openvswitch-2.9.2-1.el7.x86_64.rpm -y

ステップ3)OpenvSwitchサービスを開始して有効にする

以下のsystemctlコマンドを使用して、openvSwitchサービスを開始および有効にします

[[email protected] ~]# systemctl start openvswitch.service
[[email protected] ~]# systemctl enable openvswitch.service
Created symlink from /etc/systemd/system/multi-user.target.wants/openvswitch.service to /usr/lib/systemd/system/openvswitch.service.
[[email protected] ~]# systemctl status openvswitch.service
● openvswitch.service - Open vSwitch
Loaded: loaded (/usr/lib/systemd/system/openvswitch.service; enabled; vendor preset: disabled)
Active: active (exited) since Sun 2018-08-05 10:16:12 EDT; 17s ago
Main PID: 73958 (code=exited, status=0/SUCCESS)
Aug 05 10:16:12 compute02 systemd[1]: Starting Open vSwitch...
Aug 05 10:16:12 compute02 systemd[1]: Started Open vSwitch.
[[email protected] ~]#

以下のコマンドを使用して、OVSバージョンを確認します

[[email protected] ~]# ovs-vsctl -V
ovs-vsctl (Open vSwitch) 2.9.2
DB Schema 7.15.1
[[email protected] ~]#

ステップ:4OVSブリッジを作成し、それにインターフェイスを追加します。

以下のコマンドを使用して、ovsブリッジを作成します

[[email protected] ~]# ovs-vsctl add-br ovs-br0

次に、インターフェースからIPをフラッシュまたは削除します。私の場合は、 eno16777736に割り当てられたIPです。

[[email protected] ~]# ip addr flush dev eno16777736

次に、このIPアドレスをovs bridge(ovs-br0)

に割り当てます。
[[email protected] ~]# ip addr add 192.168.1.4/24 dev ovs-br0

以下のコマンドを使用して、ovs-br0のポートとしてインターフェースを追加します

[[email protected] ~]# ovs-vsctl add-port ovs-br0 eno16777736

次に、以下の「iplink」コマンドを使用してブリッジを起動します。

[[email protected] ~]# ip link set dev ovs-br0 up

注: 上記の変更は永続的ではないため、再起動後もこれらの変更を永続的にします。ovsブリッジファイルを作成する必要があります。手順を以下に示します

[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# cp ifcfg-eno16777736 ifcfg-ovs-br0
[[email protected] network-scripts]#
[[email protected] network-scripts]# vi ifcfg-eno16777736
DEVICE=eno16777736
HWADDR="00:0c:29:c1:c3:4e"
TYPE=OVSPort
DEVICETYPE=ovs
OVS_BRIDGE=ovs-br0
ONBOOT=yes

ファイルを保存して終了します

[[email protected] network-scripts]# vi ifcfg-ovs-br0
DEVICE=ovs-br0
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
IPADDR=192.168.1.4
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes

ファイルを保存して終了します

以下のコマンドを使用してネットワークサービスを再起動します

[[email protected] network-scripts]# systemctl restart network

次に、「 ovs-vsctl 」を使用して、ovsブリッジとそのポートを確認します。 ”コマンド

[[email protected] ~]# ovs-vsctl show
8dc5f8e7-0e54-4d9d-ba7a-cd6b9b94f470
    Bridge "ovs-br0"
        Port "ovs-br0"
            Interface "ovs-br0"
                type: internal
        Port "eno16777736"
            Interface "eno16777736"
    ovs_version: "2.9.2"
[[email protected] ~]#

ステップ:5)virshovsネットワークを作成および定義します

次の内容でovsネットワークファイルを作成します。

[[email protected] ~]# vi /tmp/ovs-network.xml
<network>
<name>ovs-network</name>
<forward mode='bridge'/>
<bridge name='ovs-br0'/>
<virtualport type='openvswitch'/>
</network>

次に、以下のvirshコマンドを使用してovs-networkを定義します。

[[email protected] ~]# virsh net-define /tmp/ovs-network.xml
Network ovs-network defined from /tmp/ovs-network.xml
[[email protected] ~]# virsh net-start ovs-network
Network ovs-network started
[[email protected] ~]# virsh net-autostart ovs-network
Network ovs-network marked as autostarted
[[email protected] ~]#

次に、underコマンドを使用してvirshネットワークを確認します

[[email protected] ~]# virsh net-list
 Name                 State      Autostart     Persistent
----------------------------------------------------------
 default              active     yes           yes
 ovs-network          active     yes           yes
[[email protected] ~]#

手順:6)仮想マシンを作成し、ovs-networkを接続します

以下のvirt-installコマンドを使用して2つのテストVMを作成し、これらのVMのネットワークをovs-networkとして指定します。

[[email protected] ~]# virt-install  -n testvm1  --description "Test VM1 for OVS "  --os-type=Linux  --os-variant=rhel7  --ram=1096  --vcpus=1  --disk path=/var/lib/libvirt/images/testvm1.img,bus=virtio,size=10  --network network:ovs-network --graphics none  --location /root/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0

同様に、「testvm2」という名前の2番目のテストVMを作成します

[[email protected] ~]# virt-install  -n testvm2  --description "Test VM2 for OVS "  --os-type=Linux  --os-variant=rhel7  --ram=1096  --vcpus=1  --disk path=/var/lib/libvirt/images/testvm2.img,bus=virtio,size=10  --network network:ovs-network --graphics none  --location /root/CentOS-7-x86_64-DVD-1511.iso --extra-args console=ttyS0

VMが作成されたら、それらのインターフェースをovsブリッジ(ov-br0)に自動的に追加する必要があります。これは、ovs-vsctlコマンドから確認できます。

[[email protected] ~]# ovs-vsctl show
8dc5f8e7-0e54-4d9d-ba7a-cd6b9b94f470
    Bridge "ovs-br0"
        Port "ovs-br0"
            Interface "ovs-br0"
                type: internal
        Port "eno16777736"
            Interface "eno16777736"
        Port "vnet0"
            Interface "vnet0"
        Port "vnet1"
            Interface "vnet1"
    ovs_version: "2.9.2"
[[email protected] ~]# ovs-vsctl list-ports ovs-br0
eno16777736
vnet0
vnet1
[[email protected] ~]#

上記のコマンドでは、vnet0とvnet1はVMのタップインターフェイスです。これらのVMSをシャットダウンすると、これらのポートはOVSブリッジ(ovs-br0)から自動的に削除されます。 ovs(openvswitch)のログファイルは、「 / var / log / openvswitch」フォルダーに保存されます。 「。

これでこの記事は終わりです。CentOS7およびRHEL7サーバーにKVMでOpenvSwitch2.9をインストールして使用する方法を理解していただければ幸いです。記事が気に入ったら、フィードバックやコメントを共有してください。


Cent OS
  1. RHEL 8 /CentOS8にKVMをインストールする方法

  2. CentOS8にCurlをインストールして使用する方法

  3. CentOS7にownCloudをインストールする方法

  1. CentOS7.xおよびRHEL7.xにKVMハイパーバイザーをインストールします

  2. CentOS 7 /RHEL7にKolab16Groupwareサーバーをインストールする方法

  3. CentOS7およびRHEL7にJenkinsをインストールして構成する方法

  1. CentOS 7 /RHEL7にELKスタックをインストールする方法

  2. CentOS 7 /RHEL7のKVMでネストされた仮想化を有効にする方法

  3. CentOS7およびRHEL7サーバーにPHP7.4、7.3、7.2をインストールする方法