zoukankan      html  css  js  c++  java
  • kvm + openvswitch

    https://docs.openvswitch.org/en/latest/howto/vlan
    https://docs.openvswitch.org/en/latest/howto/tunneling
    https://docs.openvswitch.org/en/latest/howto/userspace-tunneling
    https://superuser.openstack.org/articles/multiple-private-networks-with-open-vswitch-gre-tunnels-and-libvirt
    https://www.sdnlab.com/5889.html

    准备2台虚拟机(node-153 192.168.8.153 & node-154 192.168.8.154),环境rocky 8.4,开启虚拟化

    # grep -E 'svm|vmx' /proc/cpuinfo
    vmx is for Intel processors
    svm is for AMD processors
    

    安装kvm

    yum install -y qemu-kvm libvirt virt-install virt-viewer
    systemctl enable libvirtd && systemctl start libvirtd
    

    删除kvm默认建立的linux bridge

    virsh net-destroy default
    virsh net-undefine default
    

    安装openvswitch

    yum install -y openvswitch-2.12.0-1.1.el8.x86_64.rpm 
    systemctl enable openvswitch && systemctl start openvswitch
    

    建立外部网桥br-ext

    ovs-vsctl add-br br-ext
    
    cat > /etc/sysconfig/network-scripts/ifcfg-br-ext <<EOF
    DEVICE=br-ext
    DEVICETYPE=ovs
    TYPE=OVSBridge
    IPADDR=192.168.8.153
    NETMASK=255.255.255.0
    BOOTPROTO=none
    ONBOOT=yes
    USERCTL=no
    GATEWAY=192.168.8.1
    DNS1=144.144.144.144
    EOF
    
    cat > /etc/sysconfig/network-scripts/ifcfg-enp1s0 <<EOF
    DEVICE=enp1s0
    DEVICETYPE=ovs
    TYPE=OVSPort
    OVS_BRIDGE=br-ext
    ONBOOT=yes
    EOF
    
    ovs-vsctl add-port br-ext enp1s0 && systemctl restart network
    
    # 或者手工设置
    ip addr flush dev enp1s0
    ip addr add 192.168.8.153/24 dev br-int
    ip link set dev br-int up
    ip route add default via 192.168.8.1
    

    建立内部网桥br-int

    # node-153
    ovs-vsctl add-br br-int
    ovs-vsctl add-port br-int gre0 -- set interface gre0 type=gre options:remote_ip=192.168.8.154
    ovs-vsctl set bridge br-int stp_enable=true
    
    # node-154
    ovs-vsctl add-br br-int
    ovs-vsctl add-port br-int gre0 -- set interface gre0 type=gre options:remote_ip=192.168.8.153
    ovs-vsctl set bridge br-int stp_enable=true
    

    kvm建立ovs-network网桥

    cat > /tmp/ovs-network.xml <<EOF
    <network>
      <name>ovs-network</name>
      <forward mode='bridge'/>
      <bridge name='br-int'/>
      <virtualport type='openvswitch'/>
      <portgroup name='no-vlan' default='yes'>
      </portgroup>
      <portgroup name='vlan-100'>
        <vlan>
          <tag id='100'/>
        </vlan>
      </portgroup>
      <portgroup name='vlan-200'>
        <vlan>
          <tag id='200'/>
        </vlan>
      </portgroup>
    </network>
    EOF
    
    virsh net-define /tmp/ovs-network.xml 
    virsh net-autostart ovs-network
    virsh net-start ovs-network
    
    virsh net-list
     Name          State    Autostart   Persistent
    ------------------------------------------------
     ovs-network   active   yes         yes
    

    建立vm

    virt-install 
      --os-type=linux --os-variant=rhel8.4 
      --name=vm01 --vcpus=1 --ram=1024 
      --location=/tmp/Rocky-8.4-x86_64-minimal.iso 
      --disk path=/var/lib/libvirt/images/vm01.img,bus=virtio,size=10,cache=writeback,format=qcow2 
      --network=network:ovs-network,model=virtio 
      --extra-args "console=ttyS0,115200" 
      --nographics
    
    virt-install 
      --os-type=linux --os-variant=rhel8.4 
      --name=vm01 --vcpus=1 --ram=1024 
      --location=/tmp/Rocky-8.4-x86_64-minimal.iso 
      --disk path=/var/lib/libvirt/images/vm01.img,bus=virtio,size=10,cache=writeback,format=qcow2 
      --network bridge=br-int,virtualport.type=openvswitch,model=virtio 
      --extra-args "console=ttyS0,115200" 
      --nographics
    
  • 相关阅读:
    数据结构和算法关系
    x轴滚动
    常用Python第三方库简介
    devgridContral
    第一次线程使用经验总结
    调取图片出现的的内存泄露,导致大红叉
    IEEE754 处理数据变换
    c# 基础任务1
    Python-常用第三方库
    C#高性能大容量SOCKET并发(八):通讯协议
  • 原文地址:https://www.cnblogs.com/liujitao79/p/15193425.html
Copyright © 2011-2022 走看看