En este tema se describe cómo instalar y activar la instancia de Virtual Edge en KVM mediante un archivo de configuración cloud-init.

Si decide utilizar el modo SR-IOV, habilítelo en KVM. Para obtener información sobre los pasos necesarios, consulte Activar SR-IOV en KVM.
Nota: El modo SR-IOV no se admite si se implementa Virtual Edge de KVM con una topología de alta disponibilidad. Para las implementaciones de alta disponibilidad; asegúrese de que SR-IOV no esté habilitado para ese par de Edge de KVM.
Para ejecutar VMware Virtual Edge en KVM mediante libvirt:
  1. Utilice gunzip para extraer el archivo qcow2 en la ubicación de la imagen (por ejemplo, /var/lib/libvirt/images).
  2. Cree los grupos de redes que va a utilizar para el dispositivo, mediante SR-IOV y OpenVswitch.

    Uso de SR-IOV (Using SR-IOV)

    A continuación se muestra una plantilla de interfaz de red de ejemplo específica de las tarjetas NIC Intel X710/XL710 que usan SR-IOV.

        <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>
    

    Uso de 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. Guarde el archivo XML de dominio que define la máquina virtual (por ejemplo, el archivo vedge1.xml creado en el paso 2).
  4. Para iniciar la máquina virtual, siga estos pasos:
    1. Cree una máquina virtual.
      virsh define vedge1.xml
    2. Inicie la máquina virtual.
      virsh start vedge1
    Nota: vedge1 es el nombre de la máquina virtual definida en el elemento <name> del archivo XML del dominio. Reemplace vedge1 por el nombre que especifique en el elemento <name>.
  5. Si utiliza el modo SR-IOV, después de iniciar la máquina virtual, establezca lo siguiente en las funciones virtuales (VF) que se utilizan:
    1. Desactive la comprobación de suplantación.
      ip link set eth1 vf 0 spoofchk off
    2. Active el modo de confianza.
      ip link set dev eth1 vf 0 trust on
    3. Establezca la VLAN, si es necesario.
      ip link set eth1 vf 0 vlan 3500
    Nota: El paso de configuración de funciones virtuales no se aplica al modo OpenVSwitch (OVS).
  6. Inicie sesión en la máquina virtual.
    virsh list
    Id Name State
    ----------------------------------------------------
    25 test_vcg running
    velocloud@KVMperf2$ virsh console 25
    Connected to domain test_vcg
    Escape character is ^]

El archivo cloud-init ya incluye la clave de activación, que se generó al crear una nueva instancia de Virtual Edge en SASE Orchestrator. La instancia de Virtual Edge está configurada con los ajustes de configuración del archivo cloud-init. Esta acción configurará las interfaces a medida que la instancia de Virtual Edge se encienda. Una vez que la instancia de Virtual Edge esté en línea, se activará con SASE Orchestrator mediante la clave de activación. La dirección IP de SASE Orchestrator y la clave de activación se definieron en el archivo cloud-init.