Beschreibt die Installation und Aktivierung des virtuellen Edge auf KVM mithilfe einer cloud-init-Konfigurationsdatei.

Wenn Sie den SR-IOV-Modus verwenden, aktivieren Sie SR-IOV in KVM. Die Schritte dazu finden Sie unter Aktivieren von SR-IOV auf KVM.
Hinweis: Der SR-IOV-Modus wird nicht unterstützt, wenn der virtuelle KVM-Edge mit einer Hochverfügbarkeitstopologie bereitgestellt wird. Stellen Sie für Hochverfügbarkeitsbereitstellungen sicher, dass SR-IOV für dieses KVM-Edge-Paar nicht aktiviert ist.
So führen Sie den virtuellen VMware-Edge auf KVM mithilfe von „libvirt“ aus:
  1. Verwenden Sie gunzip, um die Datei qcow2 in den Image-Speicherort (z. B. /var/lib/libvirt/images) zu extrahieren.
  2. Erstellen Sie die für das Gerät zu verwendenden Netzwerkpools mithilfe von SR-IOV und OpenvSwitch.

    Verwenden von SR-IOV (Using SR-IOV)

    Nachfolgend finden Sie ein Beispiel für eine Netzwerkschnittstellen-Vorlage, die speziell für Netzwerkkarten vom Typ Intel X710/XL710 mit SR-IOV verwendet wird.

        <interface type='hostdev' managed='yes'>
            <mac address='52:54:00:79:19:3d'/>
            <driver name='vfio'/>
            <source>
                <address type='pci' domain='0x0000' bus='0x83' slot='0x0a' function='0x0'/>
            </source>
            <model type='virtio'/>
        </interface>
    

    Verwenden von OpenvSwitch (Using OpenVSwitch)

    <network> 
     <name>passthrough</name> 
     <model type='virtio'/> 
     <forward mode="bridge"/> 
     <bridge name="passthrough"/> 
     <virtualport type='openvswitch'> 
     </virtualport> 
     <vlan trunk='yes'> 
     <tag id='33' nativeMode='untagged'/> 
     <tag id='200'/> 
     <tag id='201'/> 
     <tag id='202'/> 
     </vlan> 
     </network> 
     Bridge 
     <network> 
     <name>passthrough</name> 
     <model type='virtio'/> 
     <forward mode="bridge"/> 
     </network> 
    <domain type='kvm'> 
     <name>vedge1</name> 
     <memory unit='KiB'>4194304</memory> 
     <currentMemory unit='KiB'>4194304</currentMemory> 
     <vcpu placement='static'>2</vcpu> 
     <resource> 
     <partition>/machine</partition> 
     </resource> 
     <os> 
     <type arch='x86_64' machine='pc-i440fx-trusty'>hvm</type> 
     <boot dev='hd'/> 
     </os> 
     <features> 
     <acpi/> 
     <apic/> 
     <pae/> 
     </features> 
    <!--
    Set the CPU mode to host model to leverage all the available features on the host CPU 
    -->
     <cpu mode='host-model'> 
     <model fallback='allow'/> 
     </cpu> 
     <clock offset='utc'/> 
     <on_poweroff>destroy</on_poweroff> 
     <on_reboot>restart</on_reboot> 
     <on_crash>restart</on_crash> 
     <devices> 
     <emulator>/usr/bin/kvm-spice</emulator> 
     <!-- 
     Below is the location of the qcow2 disk image 
     --> 
     <disk type='file' device='disk'> 
     <driver name='qemu' type='qcow2'/> 
     <source file='/var/lib/libvirt/images/edge-VC_KVM_GUEST-x86_64-2.3.0-18- R23-20161114-GA-updatable-ext4.qcow2'/> 
     <target dev='sda' bus='sata'/> 
     <address type='drive' controller='0' bus='0' target='0' unit='0'/> 
     </disk> 
     <!-- 
     If using cloud-init to boot up virtual edge, attach the 2nd disk as CD-ROM 
     --> 
     <disk type='file' device='cdrom'> 
     <driver name='qemu' type='raw'/> 
     <source file='/home/vcadmin/cloud-init/vedge1/seed.iso'/> 
     <target dev='sdb' bus='sata'/> 
     <readonly/> 
     <address type='drive' controller='1' bus='0' target='0' unit='0'/> 
     </disk> 
     <controller type='usb' index='0'> 
     <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> 
     </controller> 
     <controller type='pci' index='0' model='pci-root'/> 
     <controller type='sata' index='0'> 
     <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> 
     </controller> 
     <controller type='ide' index='0'> 
     <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> 
     </controller> 
     <!-- 
     The first two interfaces are for the default L2 interfaces, NOTE VLAN support just for SR-IOV and OpenvSwitch  
     --> 
     < interfacetype='network'>  
     < modeltype='virtio'/>  
     < sourcenetwork='LAN1'/>  
     < vlan>< tagid='#hole2_vlan#'/></ vlan>  
     < aliasname=LAN1/>  
     < addresstype='pci' domain='0x0000' bus='0x00' slot='0x12' function='0x0'/>  
     </ interface>  
     < interfacetype='network'>  
     < modeltype='virtio'/>  
     < sourcenetwork=LAN2/>  
     < vlan>< tagid='#LAN2_VLAN#'/></ vlan>  
     < aliasname='hostdev1'/>  
     < addresstype='pci' domain='0x0000' bus=' 0x00' slot='0x13' function='0x0'/>  
     </ interface>  
    <!--
     The next two interfaces are for the default L3 interfaces. Note that additional 6 routed interfaces 
    are supported for a combination of 8 interfaces total  
     --> 
     < interfacetype='network'>  
     < modeltype='virtio'/>  
     < sourcenetwork=WAN1/>  
     < vlan>< tagid='#hole2_vlan#'/></ vlan>  
     < aliasname=LAN1/>  
     < addresstype='pci' domain='0x0000' bus='0x00' slot='0x12' function='0x0'/>  
     </ interface>  
     < interfacetype='network'>  
     < modeltype='virtio'/>  
     < source network=LAN2/>  
     < vlan>< tag id='#LAN2_VLAN#'/></ vlan>  
     < aliasname='hostdev1'/>  
     < addresstype='pci' domain='0x0000' bus='0x00' slot='0x13' function='0x0'/>  
     </ interface>  
     <serial type='pty'> 
     <target port='0'/> 
     </serial> 
     <console type='pty'> 
     <target type='serial' port='0'/> 
     </console> 
     <input type='mouse' bus='ps2'/> 
     <input type='keyboard' bus='ps2'/> 
     <graphics type='vnc' port='-1' autoport='yes' listen='127.0.0.1'> 
     <listen type='address' address='127.0.0.1'/> 
     </graphics> 
     <sound model='ich6'> 
     <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> 
     </sound> 
     <video> 
     <model type='cirrus' vram='9216' heads='1'/> 
     <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> 
     </video> 
     <memballoon model='virtio'> 
     <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> 
     </memballoon> 
     </devices> 
     </domain>             
             
  3. Speichert die XML-Domänendatei, die die VM definiert (z. B. die in Schritt 2 erstellte Datei vedge1.xml).
  4. Starten Sie die VM, indem Sie die folgenden Schritte ausführen:
    1. Erstellen Sie eine VM.
      virsh define vedge1.xml
    2. Starten Sie die VM.
      virsh start vedge1
    Hinweis: vedge1 ist der Name der VM, die im Element <name> der XML-Domänendatei definiert ist. Ersetzen Sie vedge1 durch den von Ihnen im Element <name> angegebenen Namen.
  5. Wenn Sie den SR-IOV-Modus verwenden, legen Sie nach dem Starten der VM Folgendes für die verwendeten virtuellen Funktionen (VFs) fest:
    1. Deaktivieren Sie den Spoofcheck.
      ip link set eth1 vf 0 spoofchk off
    2. Aktivieren Sie den vertrauenswürdigen Modus.
      ip link set dev eth1 vf 0 trust on
    3. Richten Sie bei Bedarf das VLAN ein.
      ip link set eth1 vf 0 vlan 3500
    Hinweis: Der Schritt für die Konfiguration der virtuellen Funktionen gilt nicht für den OpenvSwitch (OVS)-Modus.
  6. Beziehen Sie die Konsole in die VM ein.
    virsh list
    Id Name State
    ----------------------------------------------------
    25 test_vcg running
    velocloud@KVMperf2$ virsh console 25
    Connected to domain test_vcg
    Escape character is ^]

Cloud-init enthält bereits den Aktivierungsschlüssel, der beim Erstellen eines neuen virtuellen Edge im SASE Orchestrator erzeugt wurde. Der virtuelle Edge wird mit den Konfigurationseinstellungen aus der Cloud-init-Datei konfiguriert. Auf diese Weise werden die Schnittstellen konfiguriert, sobald der virtuelle Edge eingeschaltet wird. Sobald der virtuelle Edge online ist, wird er mithilfe des Aktivierungsschlüssels mit dem SASE Orchestrator aktiviert. Die IP-Adresse und der Aktivierungsschlüssel des SASE Orchestrator wurden in der Cloud-init-Datei definiert.