Installation de vMX sur KVM
Lisez cette rubrique pour comprendre comment installer le routeur MX virtuel dans l’environnement KVM.
Préparation de l’hôte Ubuntu à l’installation de vMX
Pour préparer le système d’hôte Ubuntu à l’installation de vMX (à partir de Junos OS version 15.1F6) :
-
Répondez aux exigences minimales en matière de logiciels et de systèmes d’exploitation décrites dans la configuration matérielle et logicielle minimale requise.
-
Reportez-vous aux sections Mises à niveau du noyau et mise à niveau vers libvirt 1.2.19 ci-dessous.
-
Si vous utilisez les cartes familiales Intel XL710 PCI-Express, assurez-vous de mettre à jour les pilotes. Voir Mettre à jour les pilotes pour la carte NIC X710.
-
Activez la technologie Intel VT-d dans le BIOD. (Nous vous recommandons de vérifier le processus avec le fournisseur car les différents systèmes disposent de méthodes différentes pour activer VT-d.)
Reportez-vous à la procédure d’activation de VT-d disponible sur le site Web Intel.
-
Désactivez KSM en définissant
KSM_ENABLED=0
/etc/default/qemu-kvm. -
Désactivez la virtualisation APIC en modifiant le fichier /etc/modprobe.d/qemu-system-x86.conf et en ajoutant
enable_apicv=0
à la ligne contenantoptions kvm_intel
.options kvm_intel nested=1 enable_apicv=0
-
Redémarrez l’hôte pour désactiver la virtualisation KSM et APIC.
-
Si vous utilisez SR-IOV, vous devez effectuer cette étape.
Note:Vous devez supprimer toute installation précédente avec un pont externe dans /etc/réseau/interfaces et revenir à l’aide de l’interface de gestion d’origine. Assurez-vous que la commande n’affiche
ifconfig -a
pas les ponts externes avant de poursuivre l’installation.Pour déterminer si un pont externe s’affiche, utilisez la
ifconfig
commande pour afficher l’interface de gestion. Pour confirmer que cette interface est utilisée pour un groupe de ponts externes, utilisez labrctl show
commande pour voir si l’interface de gestion est répertoriée comme pont externe.Activez la fonctionnalité SR-IOV en étendant l’activation
intel_iommu=on
dans le répertoire /etc/default/grub .GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
Ajoutez la
intel_iommu=on
chaîne à n’importe quel texte existant pour leGRUB_CMDLINE_LINUX_DEFAULT
paramètre.Exécutez la
update-grub
commande suivie de lareboot
commande. -
Pour des performances optimales, nous vous recommandons de configurer la taille des immenses pages pour qu’elles soient 1G sur l’hôte et de nous assurer que le nœud NUMA du VFP comporte au moins 16 pages 1G Huge Pages. Pour configurer la taille des pages Huge, ajoutez la ligne suivante dans /etc/default/grub :
GRUB_CMDLINE_LINUX="default_hugepagesz=1G hugepagesz=1G hugepages=number-of-huge-pages"
Le nombre de pages immenses doit être au moins (16G * number-of-numa-sockets).
-
Exécutez la
modprobe kvm-intel
commande avant d’installer vMX.
À partir de Junos OS 18.2 et des versions ultérieures, ubuntu 16.04.5 LTS et Linux 4.4.0-62-generic sont pris en charge.
Pour répondre aux exigences minimales en matière de logiciels et de systèmes d’exploitation, vous devrez peut-être effectuer ces tâches :
Mise à niveau du noyau
La mise à niveau du noyau Linux dans la version Ubuntu 16.04 n’est pas nécessaire.
Si vous utilisez Ubuntu 14.04.1 LTS, qui comprend 3.19.0-80-generic, vous pouvez sauter cette étape. Ubuntu 14.04 comprend une version plus faible du noyau (Linux 3.13.0-24-generic) que la version recommandée (Linux 3.19.0-80-generic).
Pour mettre à niveau le noyau :
-
Déterminez votre version du noyau.
uname -a Linux rbu-node-33 3.19.0-80-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
-
Si votre version diffère de celle indiquée à l’étape 1, exécutez les commandes suivantes :
apt-get install linux-firmware apt-get install linux-image-3.19.0-80-generic apt-get install linux-image-extra-3.19.0-80-generic apt-get install linux-headers-3.19.0-80-generic
-
Redémarrez le système.
Mise à niveau vers libvirt 1.2.19
Ubuntu 16.04.5 prend en charge la version Libvirt est 1.3.1. La mise à niveau de libvirt dans Ubuntu 16.04 n’est pas nécessaire.
Ubuntu 14.04 prend en charge libvirt 1.2.2 (qui fonctionne pour le mode VFP lite). Si vous utilisez le mode de performance VFP ou déployez plusieurs instances vMX à l’aide du mode VFP lite, vous devez passer à libvirt 1.2.19.
Pour mettre à niveau libvirt :
-
Assurez-vous d’installer tous les packages répertoriés dans La configuration matérielle et logicielle minimale requise.
-
Accédez au répertoire /tmp à l’aide de la
cd /tmp
commande. -
Obtenez le
libvirt-1.2.19
code source à l’aide de la commandewget http://libvirt.org/sources/libvirt-1.2.19.tar.gz
. -
Décompressez et détachez le fichier à l’aide de la
tar xzvf libvirt-1.2.19.tar.gz
commande. -
Accédez au répertoire libvirt-1.2.19 à l’aide de la
cd libvirt-1.2.19
commande. -
Arrêtez libvirtd avec la
service libvirt-bin stop
commande. -
Exécutez la
./configure --prefix=/usr --localstatedir=/ --with-numactl
commande. -
Exécutez la
make
commande. -
Exécutez la
make install
commande. -
Assurez-vous que le démon libvirtd est en cours d’exécution. (Utilisez la
service libvirt-bin start
commande pour la recommencer. Si ce n’est pas le cas, utilisez la/usr/sbin/libvirtd -d
commande.)root@vmx-server:~# ps aux | grep libvirtd root 1509 0.0 0.0 372564 16452 ? Sl 10:25 0:00 /usr/sbin/libvirtd -d
-
Vérifiez que les versions de libvirtd et virsh sont 1.2.19.
root@vmx-server:~# /usr/sbin/libvirtd --version libvirtd (libvirt) 1.2.19 root@vmx-server:~# /usr/bin/virsh --version 1.2.19 root@vmx-server:~#
Le système affiche le journal de compilation de code.
Si vous ne pouvez pas déployer vMX après la mise à niveau de libvirt, descendez le pont virbr0 avec la ifconfig virbr0 down
commande et supprimez le pont avec la brctl delbr virbr0
commande.
Mise à jour des pilotes pour la carte réseau X710
Si vous utilisez les cartes réseau de la famille Intel XL710 PCI-Express, assurez-vous de mettre à jour les pilotes avant d’installer vMX.
Pour mettre à jour les pilotes :
Installer les autres packages requis
apt-get install python-pip apt-get install python-netifaces pip install pyyaml
Préparation de l’hôte Red Hat Enterprise Linux pour l’installation de vMX
Pour préparer le système hôte exécutant Red Hat Enterprise Linux à l’installation de vMX, effectuez la tâche pour votre version :
- Préparation de l’hôte Red Hat Enterprise Linux 7.3 pour installer vMX
- Préparation de l’hôte Red Hat Enterprise Linux 7.2 pour installer vMX
Préparation de l’hôte Red Hat Enterprise Linux 7.3 pour installer vMX
Pour préparer le système hôte exécutant Red Hat Enterprise Linux 7.3 pour l’installation de vMX :
Vous pouvez désormais installer vMX.
Lorsque vous installez vMX avec la sh vmx.sh -lv --install
commande, un avertissement d’incompatibilité de version du noyau peut s’afficher. Vous pouvez ignorer cet avertissement.
Préparation de l’hôte Red Hat Enterprise Linux 7.2 pour installer vMX
Pour préparer le système hôte exécutant Red Hat Enterprise Linux 7.2 pour l’installation de vMX :
Vous pouvez désormais installer vMX.
Lorsque vous installez vMX avec la sh vmx.sh -lv --install
commande, un avertissement d’incompatibilité de version du noyau peut s’afficher. Vous pouvez ignorer cet avertissement.
Préparation de l’hôte CentOS à l’installation de vMX
Pour préparer le système hôte exécutant CentOS à installer vMX :
Vous pouvez désormais installer vMX.
Lorsque vous installez vMX avec la sh vmx.sh -lv --install
commande, un avertissement d’incompatibilité de version du noyau peut s’afficher. Vous pouvez ignorer cet avertissement.
Installation de vMX pour différents cas d’utilisation
L’installation de vMX est différente pour des cas d’utilisation spécifiques. Le tableau répertorie les exigences de configuration requises pour certains cas d’utilisation vMX.
Cas d’utilisation |
Nombre minimum de processeurs virtuels |
Mémoire minimale |
Type d’équipement NIC |
---|---|---|---|
Simulation en laboratoire Performances jusqu’à 100 Mbits/s |
4 : 1 pour VCP3 pour VFP |
5 Go : 1 Go pour VCP4 Go pour VFP |
virtio |
Applications à faible bande passante Jusqu’à 3 Gbit/s de débit |
10:1 pour VCP9 pour VFP |
20 Go : 4 Go pour VCP16 Go pour VFP |
virtio |
Applications à bande passante élevée ou tests des performances Pour un débit de 3 Gbits/s et au-delà des performances |
10:1 pour VCP9 pour VFP |
20 Go 4 Go pour VCP16 Go pour VFP |
V2V SR |
Deux moteurs de routage virtuels
Note:
Lors du déploiement sur des hôtes distincts, vous devez configurer une connexion entre les hôtes pour que les VCP communiquent entre eux. |
Double le nombre de ressources VCP utilisées pour votre cas d’utilisation particulier lors du déploiement des deux instances VCP. |
Double le nombre de ressources VCP utilisées pour votre cas d’utilisation particulier lors du déploiement des deux instances VCP. |
virtio ou SR-IOV |
Cas d’utilisation |
Nombre minimum de processeurs virtuels |
Mémoire minimale |
Type d’équipement NIC |
---|---|---|---|
Simulation en laboratoire Performances jusqu’à 100 Mbits/s |
4 : 1 pour VCP3 pour VFP |
5 Go : 1 Go pour VCP4 Go pour VFP |
virtio |
Applications à faible bande passante Jusqu’à 3 Gbit/s de débit |
8:1 pour VCP7 pour VFP |
16 Go : 4 Go pour VCP12 Go pour VFP |
virtio |
Applications à bande passante élevée ou tests des performances Pour un débit de 3 Gbits/s et au-delà des performances |
8:1 pour VCP7 pour VFP |
16 Go 4 Go pour VCP12 Go pour VFP |
V2V SR |
Deux moteurs de routage virtuels
Note:
Lors du déploiement sur des hôtes distincts, vous devez configurer une connexion entre les hôtes pour que les VCP communiquent entre eux. |
Double le nombre de ressources VCP utilisées pour votre cas d’utilisation particulier lors du déploiement des deux instances VCP. |
Double le nombre de ressources VCP utilisées pour votre cas d’utilisation particulier lors du déploiement des deux instances VCP. |
virtio ou SR-IOV |
Cas d’utilisation |
Nombre minimum de processeurs virtuels |
Mémoire minimale |
Type d’équipement NIC |
---|---|---|---|
Simulation en laboratoire Performances jusqu’à 100 Mbits/s |
4 : 1 pour VCP3 pour VFP |
5 Go : 1 Go pour VCP4 Go pour VFP |
virtio |
Applications à faible bande passante Jusqu’à 3 Gbit/s de débit |
8:1 pour VCP7 pour VFP |
16 Go : 4 Go pour VCP12 Go pour VFP |
virtio |
Applications à bande passante élevée ou tests des performances Pour un débit de 3 Gbits/s et au-delà des performances |
8:1 pour VCP7 pour VFP |
16 Go 4 Go pour VCP12 Go pour VFP |
V2V SR |
Cas d’utilisation |
Nombre minimum de processeurs virtuels |
Mémoire minimale |
Type d’équipement NIC |
---|---|---|---|
Simulation en laboratoire Performances jusqu’à 100 Mbits/s |
4 : 1 pour VCP3 pour VFP |
5 Go : 1 Go pour VCP4 Go pour VFP |
virtio |
Applications à faible bande passante Jusqu’à 3 Gbit/s de débit |
8:1 pour VCP7 pour VFP |
16 Go : 4 Go pour VCP12 Go pour VFP |
virtio |
Applications à bande passante élevée ou tests des performances Pour un débit de 3 Gbits/s et au-delà des performances |
8:1 pour VCP7 pour VFP |
16 Go 4 Go pour VCP12 Go pour VFP |
V2V SR |
Cas d’utilisation |
Nombre minimum de processeurs virtuels |
Mémoire minimale |
Type d’équipement NIC |
---|---|---|---|
Simulation en laboratoire Performances jusqu’à 100 Mbits/s |
4 : 1 pour VCP3 pour VFP |
10 Go : 2 Go pour VCP8 Go pour VFP |
virtio |
Applications à faible bande passante Jusqu’à 3 Gbit/s de débit |
4:1 pour VCP3 pour VFP |
10 Go : 2 Go pour VCP8 Go pour VFP |
virtio ou SR-IOV |
Applications à bande passante élevée ou tests des performances Pour un débit de 3 Gbits/s et au-delà des performances (avec au minimum deux ports Ethernet 10 Gb) Jusqu’à 80 Gbit/s de performances brutes |
8:1 pour VCP7 pour VFP |
16 Go 4 Go pour VCP12 Go pour VFP |
V2V SR |
Cas d’utilisation |
Nombre minimum de processeurs virtuels |
Mémoire minimale |
Type d’équipement NIC |
---|---|---|---|
Simulation en laboratoire Performances jusqu’à 100 Mbits/s |
4 : 1 pour VCP3 pour VFP |
8 Go : 2 Go pour VCP6 Go pour VFP |
virtio |
Applications à faible bande passante Jusqu’à 3 Gbit/s de débit |
4:1 pour VCP3 pour VFP |
8 Go : 2 Go pour VCP6 Go pour VFP |
virtio ou SR-IOV |
Applications à bande passante élevée ou tests des performances Pour un débit de 3 Gbits/s et au-delà des performances (avec au minimum deux ports Ethernet 10 Gb) Jusqu’à 80 Gbit/s de performances brutes |
5:1 pour VCP4 pour VFP |
8 Go 2 Go pour VCP6 Go pour VFP |
V2V SR |
À partir de Junos OS version 18.4R1 (hôte Ubuntu) et de Junos OS version 19.1R1 (hôte RedHat), vous pouvez définir la use_native_drivers
valeur true dans le fichier de configuration vMX pour utiliser les derniers pilotes non modifié pour vos cartes d’interface réseau pour les installations vMX
Pour installer vMX dans un cas d’utilisation particulier, effectuez l’une des tâches suivantes :
- Installation de vMX pour la simulation en laboratoire
- Installation de vMX pour les applications à faible bande passante
- Installation de vMX pour les applications à bande passante élevée
- Installation de vMX avec deux moteurs de routage
- Installation de vMX avec des interfaces WAN mixtes
Installation de vMX pour la simulation en laboratoire
À partir de Junos OS version 14.1, le cas d’utilisation de la simulation en laboratoire utilise le virtio NIC.
Cas d’utilisation de vMX pour la simulation en laboratoire (moins de 100 Mbits/s) :
Voici un fichier de configuration de démarrage vMX utilisant le type d’équipement virtio pour la simulation en laboratoire :
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/vmxlite/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/vmxlite/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/vmxlite/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #vRE VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 1024 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #vPFE VM parameters FORWARDING_PLANE: memory-mb : 4096 vcpus : 3 console_port: 8602 device-type : virtio interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 interface" - interface : ge-0/0/1 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 interface"
Installation de vMX pour les applications à faible bande passante
À partir de La version 14.1 de Junos OS, le cas d’utilisation des applications à faible bande passante repose sur des cartes NIC VIRTIO ou SR-IOV.
Pour installer le vMX pour le cas d’utilisation d’application à faible bande passante (jusqu’à 3 Gbits/s) :
Voici un fichier de configuration de démarrage vMX utilisant le type d’équipement virtio pour les applications à faible bande passante :
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #vRE VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #vPFE VM parameters FORWARDING_PLANE: memory-mb : 16384 vcpus : 9 console_port: 8602 device-type : virtio interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 interface" - interface : ge-0/0/1 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 interface"
Installation de vMX pour les applications à bande passante élevée
À partir de Junos OS version 14.1, le cas d’utilisation des applications à bande passante élevée repose sur les cartes RÉSEAU SR-IOV.
Pour installer vMX pour le cas d’utilisation de l’application à large bande passante (supérieure à 3 Gbits/s) :
Voici un fichier de configuration de démarrage vMX utilisant le type d’équipement SR-IOV :
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #VCP VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #VFP VM parameters FORWARDING_PLANE: memory-mb : 16384 vcpus : 9 console_port: 8602 device-type : sriov interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 port-speed-mbps : 10000 nic : eth1 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 connects to eth1" - interface : ge-0/0/1 port-speed-mbps : 10000 nic : eth2 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 connects to eth2"
Pour plus d’informations, consultez l’exemple : Activation des instances SR-IOV sur les instances vMX sur KVM.
Installation de vMX avec deux moteurs de routage
Vous pouvez configurer des moteurs de routage redondants sur le serveur vMX en créant le moteur de routage principal (re0) et le moteur de routage de secours (re1) dans la section CONTROL_PLANE du fichier de configuration de démarrage vMX (le fichier par défaut est config/vmx.conf).
Lors du déploiement des moteurs de routage sur des hôtes distincts, vous devez configurer une connexion entre les hôtes pour que les VCP communiquent entre eux.
À partir de junos OS version 18.1 pour installer vMX pour les deux moteurs de routage cas d’utilisation :
Voici un fichier de configuration de démarrage vMX qui déploie la première instance du moteur de routage sur cet hôte :
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #VCP VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port : 8601 deploy : 0 interfaces : - type : static instance : 0 ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" - type : static instance : 1 console_port : 8612 ipaddr : 10.102.144.95 macaddr : "0A:00:DD:C0:DE:0F" --- #VFP VM parameters FORWARDING_PLANE: memory-mb : 12288 vcpus : 10 console_port: 8602 device-type : sriov interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 port-speed-mbps : 10000 nic : eth1 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 connects to eth1" - interface : ge-0/0/1 port-speed-mbps : 10000 nic : eth2 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 connects to eth2"
Installation de vMX avec des interfaces WAN mixtes
À partir de Junos OS version 17.2, le cas d’utilisation des interfaces WAN mixtes utilise les interfaces virtio et SR-IOV. Les exemples de configuration requis sont les mêmes que pour le type d’équipement SR-IOV.
Pour installer le vMX avec des interfaces mixtes :
Voici un fichier de configuration de démarrage vMX utilisant des interfaces mixtes :
--- #Configuration on the host side - management interface, VM images etc. HOST: identifier : vmx1 # Maximum 4 characters host-management-interface : eth0 routing-engine-image : "/home/vmx/images/junos-vmx-x86-64.qcow2" routing-engine-hdd : "/home/vmx/images/vmxhdd.img" forwarding-engine-image : "/home/vmx/images/vFPC.img" --- #External bridge configuration BRIDGES: - type : external name : br-ext # Max 10 characters --- #VCP VM parameters CONTROL_PLANE: vcpus : 1 memory-mb : 4096 console_port: 8601 interfaces : - type : static ipaddr : 10.102.144.94 macaddr : "0A:00:DD:C0:DE:0E" --- #VFP VM parameters FORWARDING_PLANE: memory-mb : 12288 vcpus : 10 console_port: 8602 device-type : mixed interfaces : - type : static ipaddr : 10.102.144.98 macaddr : "0A:00:DD:C0:DE:10" --- #Interfaces JUNOS_DEVICES: - interface : ge-0/0/0 type : virtio mac-address : "02:06:0A:0E:FF:F0" description : "ge-0/0/0 interface" - interface : ge-0/0/1 type : sriov port-speed-mbps : 10000 nic : eth2 mtu : 2000 virtual-function : 0 mac-address : "02:06:0A:0E:FF:F1" description : "ge-0/0/1 connects to eth2"