Déployer l’instance NetScaler VPX avec SR-IOV, sur OpenStack
Vous pouvez déployer des instances NetScaler VPX hautes performances qui utilisent la technologie de virtualisation d’E/S à racine unique (SR-IOV), sur OpenStack.
Vous pouvez déployer une instance NetScaler VPX qui utilise la technologie SR-IOV, sur OpenStack, en trois étapes :
- Activer les fonctions virtuelles SR-IOV (VF) sur l’hôte.
- Configurer et rendre les VF disponibles pour OpenStack.
- Déployer le NetScaler VPX sur OpenStack.
Prérequis
Assurez-vous de :
- Ajouter la carte réseau Intel 82599 (NIC) à l’hôte.
- Télécharger et installer le dernier pilote IXGBE d’Intel.
- Mettre sur liste noire le pilote IXGBEVF sur l’hôte. Ajoutez l’entrée suivante dans le fichier /etc/modprobe.d/blacklist.conf : Liste noire
ixgbevf
Remarque :
La version du pilote
ixgbedoit être au minimum 5.0.4.
Activer les VF SR-IOV sur l’hôte
Effectuez l’une des étapes suivantes pour activer les VF SR-IOV :
-
Si vous utilisez une version de noyau antérieure à 3.8, ajoutez l’entrée suivante au fichier /etc/modprobe.d/ixgbe et redémarrez l’hôte : options ixgbe max_vfs=<number_of_VFs>
-
Si vous utilisez la version 3.8 du noyau ou une version ultérieure, créez des VF à l’aide de la commande suivante :
echo <number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs
<!--NeedCopy-->
Où :
- number_of_VFs est le nombre de fonctions virtuelles que vous souhaitez créer.
- device_name est le nom de l’interface.
Important :
Lorsque vous créez les VF SR-IOV, assurez-vous de ne pas attribuer d’adresses MAC aux VF.
Voici un exemple de création de quatre VF.

Pour rendre les VF persistantes, ajoutez les commandes que vous avez utilisées pour créer les VF au fichier rc.local. Voici un exemple montrant le contenu du fichier rc.local.

Pour plus d’informations, consultez ce Guide de configuration Intel SR-IOV.
Configurer et rendre les VF disponibles pour OpenStack
Suivez les étapes indiquées dans le lien ci-dessous pour configurer SR-IOV sur OpenStack : https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking.
Provisionner l’instance NetScaler VPX sur OpenStack
Vous pouvez provisionner une instance NetScaler VPX dans un environnement OpenStack en utilisant l’interface de ligne de commande OpenStack.
Le provisionnement d’une instance VPX implique, en option, l’utilisation de données du lecteur de configuration (config drive). Le lecteur de configuration est un lecteur de configuration spécial qui se connecte à l’instance lors de son démarrage. Ce lecteur de configuration peut être utilisé pour transmettre des informations de configuration réseau telles que l’adresse IP de gestion, le masque réseau et la passerelle par défaut, etc., à l’instance avant de configurer les paramètres réseau de l’instance.
Lorsqu’OpenStack provisionne une instance VPX, il détecte d’abord que l’instance démarre dans un environnement OpenStack, en lisant une chaîne BIOS spécifique (OpenStack Foundation) qui indique OpenStack. Pour les distributions Red Hat Linux, la chaîne est stockée dans /etc/nova/release. Il s’agit d’un mécanisme standard disponible dans toutes les implémentations OpenStack basées sur la plateforme d’hyperviseur KVM. Le lecteur doit avoir une étiquette OpenStack spécifique. Si le lecteur de configuration est détecté, l’instance tente de lire les informations suivantes à partir du nom de fichier spécifié dans la commande de démarrage nova. Dans les procédures ci-dessous, le fichier est appelé « userdata.txt ».
- Adresse IP de gestion
- Masque réseau
- Passerelle par défaut
Une fois les paramètres lus avec succès, ils sont renseignés dans la pile NetScaler®. Cela facilite la gestion de l’instance à distance. Si les paramètres ne sont pas lus avec succès ou si le lecteur de configuration n’est pas disponible, l’instance passe au comportement par défaut, qui est :
- L’instance tente de récupérer les informations d’adresse IP auprès du DHCP.
- Si le DHCP échoue ou expire, l’instance démarre avec la configuration réseau par défaut (192.168.100.1/16).
Provisionner l’instance NetScaler VPX sur OpenStack via l’interface de ligne de commande
Vous pouvez provisionner une instance VPX dans un environnement OpenStack en utilisant l’interface de ligne de commande OpenStack. Voici un résumé des étapes pour provisionner une instance NetScaler VPX sur OpenStack :
-
Extraction du fichier
.qcow2du fichier .tgz -
Création d’une image OpenStack à partir de l’image qcow2
-
Provisionnement d’une instance VPX
Pour provisionner une instance VPX dans un environnement OpenStack, suivez les étapes suivantes.
-
Extraire le fichier
qcow2du fichier.tqzen tapant la commande :tar xvzf <TAR file> tar xvzf NSVPX-KVM-12.0-26.2_nc.tgz NSVPX-KVM.xml NSVPX-KVM-12.0-26.2_nc.qcow2 <!--NeedCopy--> -
Créez une image OpenStack à l’aide du fichier
.qcoz2extrait à l’étape 1 en tapant la commande suivante :glance image-create --name="<name of the OpenStack image>" --property hw_disk_bus=ide --is-public=true --container-format=bare --disk-format=qcow2< <name of the qcow2 file> glance image-create --name="NS-VPX-12-0-26-2" --property hw_disk_bus=ide --is-public= true --container-format=bare --disk-format=qcow2< NSVPX-KVM-12.0-26.2_nc.qcow2 <!--NeedCopy-->L’illustration suivante fournit un exemple de sortie pour la commande glance image-create.

-
Une fois qu’une image OpenStack est créée, provisionnez l’instance NetScaler VPX.
nova boot --image NSVPX-KVM-12.0-26.2 --config-drive=true --userdata ./userdata.txt --flavor m1. medium --nic net-id=3b258725-eaae- 455e-a5de-371d6d1f349f --nic port-id=218ba819-9f55-4991-adb6- 02086a6bdee2 NSVPX-10 <!--NeedCopy-->Dans la commande précédente, userdata.txt est le fichier qui contient les détails tels que l’adresse IP, le masque de sous-réseau et la passerelle par défaut pour l’instance VPX. Le fichier de données utilisateur est un fichier personnalisable par l’utilisateur. NSVPX-KVM-12.0-26.2 est le nom de l’appliance virtuelle que vous souhaitez provisionner. –NIC port-id=218ba819-9f55-4991-adb6-02086a6bdee2 est le VF OpenStack.
L’illustration suivante donne un exemple de sortie de la commande de démarrage
nova.
L’illustration suivante montre un exemple du fichier userdata.txt. Les valeurs contenues dans les balises <PropertySection></PropertySection> sont les valeurs configurables par l’utilisateur et contiennent des informations telles que l’adresse IP, le masque de sous-réseau et la passerelle par défaut.
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <Environment xmlns:oe="http://schemas.dmtf.org/ovf/environment/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" oe:id="" xmlns="http://schemas.dmtf.org/ovf/environment/1"> <PlatformSection> <Kind>NOVA</Kind> <Version>2013.1</Version> <Vendor>Openstack</Vendor> <Locale>en</Locale> </PlatformSection> <PropertySection> <Property oe:key="com.citrix.netscaler.ovf.version" oe:value="1.0"/> <Property oe:key="com.citrix.netscaler.platform" oe:value="vpx"/> citrix.com 4 <Property oe:key="com.citrix.netscaler.orch_env" oe:value="openstack-orch-env"/> <Property oe:key="com.citrix.netscaler.mgmt.ip" oe:value="10.1.0.100"/> <Property oe:key="com.citrix.netscaler.mgmt.netmask" oe:value="255.255.0.0"/> <Property oe:key="com.citrix.netscaler.mgmt.gateway" oe:value="10.1.0.1"/> </PropertySection> </Environment> <!--NeedCopy-->
Configurations supplémentaires prises en charge : Création et suppression de VLAN sur les VF SR-IOV depuis l’hôte
Tapez la commande suivante pour créer un VLAN sur le VF SR-IOV :
ip link show enp8s0f0 vf 6 vlan 10
Dans la commande précédente, « enp8s0f0 » est le nom de la fonction physique.
Exemple : VLAN 10, créé sur vf 6

Saisissez la commande suivante pour supprimer un VLAN sur le VF SR-IOV :
ip link show enp8s0f0 vf 6 vlan 0
Exemple : VLAN 10, supprimé du VF 6

Ces étapes complètent la procédure de déploiement d’une instance NetScaler VPX qui utilise la technologie SRIOV, sur OpenStack.