Bereitstellung der NetScaler VPX-Instanz mit SR-IOV auf OpenStack
Sie können leistungsstarke NetScaler VPX-Instanzen, die die Single-Root-I/O-Virtualisierungs-(SR-IOV)-Technologie verwenden, auf OpenStack bereitstellen.
Sie können eine NetScaler VPX-Instanz, die die SR-IOV-Technologie verwendet, auf OpenStack in drei Schritten bereitstellen:
- SR-IOV Virtual Functions (VFs) auf dem Host aktivieren.
- Die VFs konfigurieren und OpenStack zur Verfügung stellen.
- Die NetScaler VPX auf OpenStack bereitstellen.
Voraussetzungen
Stellen Sie sicher, dass Sie:
- Die Intel 82599 NIC (NIC) zum Host hinzufügen.
- Den neuesten IXGBE-Treiber von Intel herunterladen und installieren.
- Den IXGBEVF-Treiber auf dem Host auf die Blacklist setzen. Fügen Sie den folgenden Eintrag in die Datei /etc/modprobe.d/blacklist.conf ein: Blacklist
ixgbevf
Hinweis:
Die Treiberversion
ixgbemuss mindestens 5.0.4 sein.
SR-IOV VFs auf dem Host aktivieren
Führen Sie einen der folgenden Schritte aus, um SR-IOV VFs zu aktivieren:
-
Wenn Sie eine Kernel-Version vor 3.8 verwenden, fügen Sie den folgenden Eintrag zur Datei /etc/modprobe.d/ixgbe hinzu und starten Sie den Host neu: options ixgbe max_vfs=<number_of_VFs>
-
Wenn Sie Kernel-Version 3.8 oder höher verwenden, erstellen Sie VFs mit dem folgenden Befehl:
echo <number_of_VFs> > /sys/class/net/<device_name>/device/sriov_numvfs
<!--NeedCopy-->
Dabei gilt:
- number_of_VFs ist die Anzahl der virtuellen Funktionen, die Sie erstellen möchten.
- device_name ist der Schnittstellenname.
Wichtig:
Stellen Sie beim Erstellen der SR-IOV VFs sicher, dass Sie den VFs keine MAC-Adressen zuweisen.
Hier ist ein Beispiel für die Erstellung von vier VFs.

Um die VFs persistent zu machen, fügen Sie die Befehle, die Sie zum Erstellen der VFs verwendet haben, zur Datei rc.local hinzu. Hier ist ein Beispiel, das den Inhalt der Datei rc.local zeigt.

Weitere Informationen finden Sie in diesem Intel SR-IOV Konfigurationshandbuch.
VFs konfigurieren und für OpenStack verfügbar machen
Befolgen Sie die Schritte unter dem folgenden Link, um SR-IOV auf OpenStack zu konfigurieren: https://wiki.openstack.org/wiki/SR-IOV-Passthrough-For-Networking.
Die NetScaler VPX-Instanz auf OpenStack bereitstellen
Sie können eine NetScaler VPX-Instanz in einer OpenStack-Umgebung mithilfe der OpenStack-CLI bereitstellen.
Die Bereitstellung einer VPX-Instanz beinhaltet optional die Verwendung von Daten vom Konfigurationslaufwerk. Das Konfigurationslaufwerk ist ein spezielles Konfigurationslaufwerk, das beim Booten an die Instanz angehängt wird. Dieses Konfigurationslaufwerk kann verwendet werden, um Netzwerkkonfigurationsinformationen wie Verwaltungs-IP-Adresse, Netzwerkmaske und Standard-Gateway an die Instanz zu übergeben, bevor Sie die Netzwerkeinstellungen für die Instanz konfigurieren.
Wenn OpenStack eine VPX-Instanz bereitstellt, erkennt es zunächst, dass die Instanz in einer OpenStack-Umgebung bootet, indem es eine spezifische BIOS-Zeichenfolge (OpenStack Foundation) liest, die auf OpenStack hinweist. Bei Red Hat Linux-Distributionen wird die Zeichenfolge in /etc/nova/release gespeichert. Dies ist ein Standardmechanismus, der in allen OpenStack-Implementierungen auf Basis der KVM-Hypervisor-Plattform verfügbar ist. Das Laufwerk muss ein spezifisches OpenStack-Label haben. Wenn das Konfigurationslaufwerk erkannt wird, versucht die Instanz, die folgenden Informationen aus dem im nova Boot-Befehl angegebenen Dateinamen zu lesen. In den folgenden Verfahren wird die Datei „userdata.txt“ genannt.
- Verwaltungs-IP-Adresse
- Netzwerkmaske
- Standard-Gateway
Sobald die Parameter erfolgreich gelesen wurden, werden sie im NetScaler®-Stack eingetragen. Dies hilft bei der Fernverwaltung der Instanz. Wenn die Parameter nicht erfolgreich gelesen werden oder das Konfigurationslaufwerk nicht verfügbar ist, wechselt die Instanz zum Standardverhalten, das wie folgt lautet:
- Die Instanz versucht, die IP-Adressinformationen von DHCP abzurufen.
- Wenn DHCP fehlschlägt oder ein Timeout auftritt, startet die Instanz mit der Standard-Netzwerkkonfiguration (192.168.100.1/16).
Bereitstellen der NetScaler VPX-Instanz auf OpenStack über CLI
Sie können eine VPX-Instanz in einer OpenStack-Umgebung mithilfe der OpenStack-CLI bereitstellen. Hier ist eine Zusammenfassung der Schritte zur Bereitstellung einer NetScaler VPX-Instanz auf OpenStack:
-
Extrahieren der
.qcow2-Datei aus der .tgz-Datei -
Erstellen eines OpenStack-Images aus dem qcow2-Image
-
Bereitstellen einer VPX-Instanz
Um eine VPX-Instanz in einer OpenStack-Umgebung bereitzustellen, führen Sie die folgenden Schritte aus.
-
Extrahieren Sie die
qcow2Datei aus der.tqzDatei, indem Sie den Befehl eingeben: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--> -
Erstellen Sie ein OpenStack-Image mit der in Schritt 1 extrahierten
.qcoz2Datei, indem Sie den folgenden Befehl eingeben: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-->Die folgende Abbildung zeigt eine Beispielausgabe für den Befehl glance image-create.

-
Nachdem ein OpenStack-Image erstellt wurde, stellen Sie die NetScaler VPX-Instanz bereit.
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-->Im vorhergehenden Befehl ist userdata.txt die Datei, die Details wie IP-Adresse, Netzmaske und Standard-Gateway für die VPX-Instanz enthält. Die Benutzerdatendatei ist eine vom Benutzer anpassbare Datei. NSVPX-KVM-12.0-26.2 ist der Name der virtuellen Appliance, die Sie bereitstellen möchten. –NIC port-id=218ba819-9f55-4991-adb6-02086a6bdee2 ist die OpenStack VF.
Die folgende Abbildung zeigt eine Beispielausgabe des
novaBoot-Befehls.
Die folgende Abbildung zeigt ein Beispiel der Datei userdata.txt. Die Werte innerhalb der Tags <PropertySection></PropertySection> sind die Werte, die vom Benutzer konfigurierbar sind und Informationen wie IP-Adresse, Netzmaske und Standard-Gateway enthalten.
<?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-->
Zusätzliche unterstützte Konfigurationen: Erstellen und Löschen von VLANs auf SR-IOV VFs vom Host
Geben Sie den folgenden Befehl ein, um ein VLAN auf dem SR-IOV VF zu erstellen:
ip link show enp8s0f0 vf 6 vlan 10
Im vorhergehenden Befehl ist “enp8s0f0” der Name der physischen Funktion.
Beispiel: VLAN 10, erstellt auf vf 6

Geben Sie den folgenden Befehl ein, um ein VLAN auf dem SR-IOV VF zu löschen:
ip link show enp8s0f0 vf 6 vlan 0
Beispiel: VLAN 10, von VF 6 entfernt

Mit diesen Schritten ist das Verfahren zur Bereitstellung einer NetScaler VPX-Instanz, die die SRIOV-Technologie verwendet, auf OpenStack abgeschlossen.