Περιγράφει τον τρόπο εγκατάστασης και ενεργοποίησης του εικονικού Edge στο KVM με χρήση ενός αρχείου διαμόρφωσης cloud-init.
- Χρησιμοποιήστε το gunzip για να εξαγάγετε το αρχείο qcow2 στη θέση του ειδώλου (για παράδειγμα, /var/lib/libvirt/images).
- Δημιουργήστε τις ομάδες δικτύου που πρόκειται να χρησιμοποιήσετε για τη συσκευή, χρησιμοποιώντας SR-IOV και OpenVswitch.
Χρήση SR-IOV
Ακολουθεί ένα δείγμα προτύπου διασύνδεσης δικτύου ειδικά για κάρτες Intel X710/XL710 NIC που χρησιμοποιούν 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>
Χρήση 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>
- Αποθηκεύστε το αρχείο XML τομέα που ορίζει την εικονική μηχανή (για παράδειγμα, vedge1.xml που δημιουργήθηκε στο βήμα 2).
- Εκκινήστε την εικονική μηχανή εκτελώντας τα ακόλουθα βήματα:
- Δημιουργήστε την εικονική μηχανή.
virsh define vedge1.xml
- Ξεκινήστε την εικονική μηχανή.
virsh start vedge1
Σημείωση:vedge1
είναι το όνομα της εικονικής μηχανής που ορίζεται στο στοιχείο<name>
του αρχείου XML τομέα. Αντικαταστήστε τοvedge1
με το όνομα που καθορίζετε στο στοιχείο<name>
. - Δημιουργήστε την εικονική μηχανή.
- Εάν χρησιμοποιείτε τη λειτουργία SR-IOV, μετά την εκκίνηση της εικονικής μηχανής, ορίστε τα εξής στις εικονικές λειτουργίες (VF) που χρησιμοποιούνται:
- Απενεργοποιήστε τον έλεγχο πλαστογράφησης.
ip link set eth1 vf 0 spoofchk off
- Ενεργοποιήστε τη λειτουργία αξιοπιστίας.
ip link set dev eth1 vf 0 trust on
- Ορίστε το VLAN, εάν απαιτείται.
ip link set eth1 vf 0 vlan 3500
Σημείωση: Το βήμα διαμόρφωσης των εικονικών λειτουργιών δεν ισχύει για τη λειτουργία OpenVSwitch (OVS). - Απενεργοποιήστε τον έλεγχο πλαστογράφησης.
- Κονσόλα στην εικονική μηχανή.
virsh list Id Name State ---------------------------------------------------- 25 test_vcg running velocloud@KVMperf2$ virsh console 25 Connected to domain test_vcg Escape character is ^]
Το Cloud-init περιλαμβάνει ήδη το κλειδί ενεργοποίησης, το οποίο δημιουργήθηκε κατά τη δημιουργία ενός νέου εικονικού Edge στο SASE Orchestrator. Το εικονικό Edge έχει διαμορφωθεί με τις ρυθμίσεις διαμόρφωσης του αρχείου Cloud-init. Αυτό θα διαμορφώσει τις διασυνδέσεις καθώς ενεργοποιείται το εικονικό Edge. Μόλις συνδεθεί το εικονικό Edge, θα ενεργοποιηθεί με το SASE Orchestrator χρησιμοποιώντας το κλειδί ενεργοποίησης. Η διεύθυνση IP του SASE Orchestrator και το κλειδί ενεργοποίησης έχουν οριστεί στο αρχείο Cloud-init.