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をインストールして使用する方法を理解していただければ幸いです。記事が気に入ったら、フィードバックやコメントを共有してください。