In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument werden die erforderlichen Schritte zum Erstellen und Ausführen einer virtuellen Windows-Maschine (VM) auf dem Connected Grid Module (CGM) - System Server (SRV)-Modul beschrieben.
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Wenn Sie IOx-Anwendungen oder VMs auf der CGR1000-Plattform ausführen möchten, können Sie das CGM-SRV-Computing-Modul verwenden. Das CGM-SRV-Modul ist eigentlich ein kleiner Server, der eine x86-Multicore-CPU, Speicher und Speicher enthält. Sowohl der CGR 1120 als auch der CGR 1240 können über eines dieser Module verfügen, um IOx-Funktionen hinzuzufügen.
Zum Zeitpunkt der Dokumenterstellung stehen zwei Arten zur Verfügung:
| Bestandserhaltungseinheit (SKU) | Solid-State-Laufwerke (SSD) | RAM | CPU |
| CGM-SRV-64 | 64 GB (50 GB nutzbar) | 4 GB | 4 Kerne, 800 MHz |
| CGM-SRV-128 | 128 GB (100 GB nutzbar) | 4 GB | 4 Kerne, 800 MHz |
Jedes Modul verfügt außerdem über zwei USB-Ports für Speicher und eine eigene externe Gigabit-Ethernet-Schnittstelle.
Wie bei jedem anderen IOx-fähigen Gerät kann das Modul verschiedene Arten von IOx-Anwendungen hosten. Aufgrund der größeren Kapazität des CGM-SRV-Moduls kann es jedoch auch eine vollständig konfigurierte Windows- oder Standard-Linux-Distribution (z. B. Ubuntu oder CentOS) ausführen.
Um eine Windows VM auf dem CGM-SRV-Modul bereitzustellen, müssen Sie zunächst ein Image im QEMU-QCOW-Format erstellen, das die Windows-Installation enthält. Eine Möglichkeit, ein solches Image zu erstellen, ist mit KVM und virsh auf einem Linux-Rechner.
Die genannten Schritte betreffen auch nicht die CGR1xxx oder CGM-SRV überhaupt, sie sind nur erforderliche Schritte, um ein grundlegendes Windows 7 VM QCOW-Image zu erstellen, das Sie im nächsten Schritt auf der CGM-SRV bereitstellen können.
Für dieses Handbuch können Sie mit einer neu installierten CentOS7 Minimalinstallation beginnen. Die Schritte für andere Linux-Distributionen müssen ähnlich sein, können sich jedoch leicht unterscheiden.
Schritt 1: Überprüfen Sie zunächst, ob der Host-Rechner VM-Erweiterungen unterstützt. Auf der x86-Plattform sind dies entweder AMD-V oder Intels VT-X. Die meisten, wenn nicht alle, modernen x86-CPUs unterstützen diese Erweiterungen. Selbst wenn Sie eine VM ausführen, bieten die meisten Hypervisoren die Möglichkeit, diese Erweiterungen zu übergeben/zu emulieren.
Um zu überprüfen, ob die installierte CPU diese Erweiterungen unterstützt, müssen Sie überprüfen, ob das vmx (für VT-X) oder svm (für AMD-V) Flag in der cpuinfo-Ausgabe vorhanden ist.
[root@cen7 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo 2
Wenn die Ausgabe dieses Befehls 0 ist, bedeutet dies, dass keine gefundene CPU die VM-Erweiterungen unterstützt. In diesem Fall können Sie überprüfen, ob diese Erweiterungen in Ihrem BIOS oder Hypervisor aktiviert sind, wenn Sie eine VM zum Ausführen dieses Computers verwenden.
Schritt 2: Der nächste Schritt ist die Erstellung einer Bridge, um ein Netzwerk für die VM, die Sie auf KMV ausführen können.
Zuerst müssen Sie IP-Forwards im Kernel aktivieren:
[root@cen7 ~]# echo "net.ipv4.ip_forward = 1"|sudo tee /etc/sysctl.d/99-ipforward.conf net.ipv4.ip_forward = 1 [root@cen7 ~]# sysctl -p /etc/sysctl.d/99-ipforward.conf net.ipv4.ip_forward = 1
Um die Bridge zu erstellen, muss die IP-Konfiguration von der eigentlichen Schnittstelle zur Bridge selbst verschoben werden, da diese die Schnittstelle ist, die die IP-Adresse besitzt.
Nachdem Sie eine Standardinstallation abgeschlossen haben, wird die Netzwerkkonfiguration in /etc/sysconfig/network-scripts ausgeführt:
[root@cen7 ~]# ls -1 /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/network-scripts/ifcfg-eno16777736 /etc/sysconfig/network-scripts/ifcfg-lo
Schritt 3. Wie Sie sehen können, gibt es derzeit eine Schnittstelle (neben der Loopback-Schnittstelle) namens eno167777736. Sie müssen die IP-bezogene Konfiguration in eine Bridge-Schnittstelle verschieben, die Sie virbr0 aufrufen können:
[root@cen7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-virbr0 [root@cen7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-virbr0 DEVICE=virbr0 TYPE=BRIDGE ONBOOT=yes BOOTPROTO=static IPADDR=172.16.245.162 NETMASK=255.255.255.0 GATEWAY=172.16.245.2 DNS1=8.8.8.8
Schritt 4. Danach müssen Sie die IP-Konfiguration von der realen Schnittstelle bereinigen und mit der virbr0-Bridge verbinden:
[root@cen7 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 [root@cen7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eno16777736 UUID=46f0f247-e164-40cc-866b-9133458d9df8 DEVICE=eno16777736 ONBOOT=yes BRIDGE=virbr0 HWADDR=00:0c:29:ce:96:38
Schritt 5: Sobald die Netzwerkkonfiguration abgeschlossen ist, können Sie KVM installieren:
[root@cen7 ~]# sudo yum install kvm virt-manager libvirt virt-install qemu-kvm xauth dejavu-lgc-sans-fonts -y ... Complete!
Schritt 6. Nach Abschluss der Installation sollte dieser Computer am besten neu gestartet werden, um die neu installierten Module und die Netzwerkkonfiguration anzuwenden:
[root@cen7 ~]# init 6
Schritt 7: Nach Abschluss des Neustarts sollten Sie in der Lage sein, über die (gleiche) IP, die auf der Bridge-Schnittstelle konfiguriert wurde, auf den Computer zuzugreifen. Sie müssen überprüfen, ob das KVM-Kernelmodul geladen ist:
root@cen7 ~]# lsmod|grep kvm kvm_intel 200704 0 kvm 589824 1 kvm_intel irqbypass 16384 1 kvm
Schritt 8. Wenn dies gut aussieht, können Sie versuchen, eine Verbindung mit virsh herzustellen:
[root@cen7 ~]# sudo virsh -c qemu:///system list Id Name State ----------------------------------------------------
Schritt 9: Ein letzter Schritt besteht darin, Port 5900 auf der Firewall auf diesem Computer für den VNC-Zugriff auf die Windows-Installation zu öffnen:
[root@cen7 ~]# firewall-cmd --zone=public --add-port=5900/tcp --permanent success [root@cen7 ~]# firewall-cmd --reload success
Nachdem Sie nun ein System haben, das mit der KVM-Installation arbeitet, können Sie ein neues VM auf KVM starten und die Windows-Installationsdialoge durchlaufen.
Schritt 1. Kopieren Sie die Windows 7-Installations-ISO auf Ihre VM (oder machen Sie es über das Netzwerk zugänglich):
[root@cen7 ~]# scp jedepuyd@172.16.X.X:/home/jedepuyd/win7install.iso /var jedepuyd@172.16.X.X's password: win7install.iso 100% 4546MB 62.1MB/s 01:13
Schritt 2: Erstellen Sie eine neue KVM VM und lassen Sie sie von der Windows 7 ISO booten:
root@cen7 ~]# virt-install --connect qemu:///system -n win7 -r 1024 --vcpus=2 --disk path=/var/lib/libvirt/images/win7.img,size=9 --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type windows --os-variant win7 --accelerate --network=bridge:virbr0 --hvm --cdrom /var/win7install.iso Starting install... Allocating win7.img | 9.0 GB 00:00:00 Creating domain... | 0 B 00:00:00 Domain installation still in progress. You can reconnect to the console to complete the installation process.
Schritt 3: Nachdem das virtuelle System gestartet wurde, können Sie sich mithilfe des VNC Viewers mit der IP-Adresse des Host-Rechners an Port 5900 verbinden und die Windows-Standardinstallation abschließen, wie im Bild gezeigt:

Wenn Windows zum Zeitpunkt der Installation neu startet, kann es erforderlich sein, das virtuelle System mit virsh neu zu starten, wenn dies nicht automatisch erfolgt:
[root@cen7 ~]# virsh start win7 Domain win7 started
Schritt 4: Fahren Sie das virtuelle System nach Abschluss der Installation herunter. Sie haben jetzt ein QCOW-Image dieser Installation im Pfad, der beim Erstellen der VM angegeben wird: /var/lib/libvirt/images/win7.img Dieser Image-Typ kann auf der CGM-SRV bereitgestellt werden, um Windows auszuführen.
Nachdem Sie den richtigen Image-Typ für die Ausführung auf der CGM-SRV haben, können Sie mit der Bereitstellung beginnen.
Schritt 1: Richten Sie ein Profil für ioxclient ein, das Ihrer Konfiguration entspricht:
[root@cen7 ~]# ./ioxclient profiles create Enter a name for this profile : CGR1120_20 Your IOx platform's IP address[127.0.0.1] : 10.X.X.X.X Your IOx platform's port number[8443] : Authorized user name[root] : admin Password for admin : Local repository path on IOx platform[/software/downloads]: URL Scheme (http/https) [https]: API Prefix[/iox/api/v2/hosting/]: Your IOx platform's SSH Port[2222]: Your RSA key, for signing packages, in PEM format[]: Your x.509 certificate in PEM format[]: Activating Profile CGR1120_20 Saving current configuration
In diesem Beispiel entspricht 10.X.X.X der ausgehenden Schnittstelle auf dem CGR1000, auf dem Sie Network Address Translation (NAT) für die Weiterleitung an Port 8443 auf der CGM-SRV konfiguriert haben.
Schritt 2. Nun, da ioxclient konfiguriert ist, lassen Sie uns Ihr zuvor erstelltes Image in vm.img umbenennen, um es ein wenig zu vereinfachen und mit der Verwendung von Secure Copy (SCP) mit ioxclient auf CGM-SRV zu kopieren.
Konvertieren Sie optional das Festplatten-Image in das QCOW2-Format, da CGM-SRV dies erwartet. Neuere Versionen von virt-manager scheinen die Disk-Images standardmäßig im QCOW3-Format zu erstellen.
Mit dem folgenden Befehl können Sie das Bild ganz einfach konvertieren:
[root@cen7 ~]# qemu-img convert -f qcow2 -O qcow2 /var/lib/libvirt/images/win7.img /var/lib/libvirt/images/win7.img
Wenn Sie sicher sind, dass das Bild das richtige Format aufweist, fahren Sie mit dem Umbenennen und Kopieren fort:
[root@cen7 ~]# mv /var/lib/libvirt/images/win7.img /root/vm.img [root@cen7 ~]# ./ioxclient platform scp /root/vm.img Currently active profile : CGR1120_20 Command Name: plt-scp Saving current configuration Downloaded scp keys to pscp.pem Running command : [scp -P 2222 -r -i pscp.pem /root/vm.img scpuser@10.50.215.246:/]
Dieser Transfer kann eine Weile dauern, die Übertragungsraten von ca. 3-4 MB/s auf die CGM-SRV über Cisco IOS®. Die Datei wird auf das CGM-SRV-Modul nach /mnt/data/vm/vm.img kopiert.
Schritt 3: Während der Übertragung (oder des Abschlusses) können Sie die Datei package.yaml erstellen. Diese Datei beschreibt IOx, was genau Sie bereitstellen möchten und wie Sie es verpacken.
[root@cen7 ~]# vi package.yaml [root@cen7 ~]# cat package.yaml descriptor-schema-version: 2.2 info: author-link: http://www.cisco.com/ author-name: Jens Depuydt description: Windows 7 VM for CSR-SRV name: win7 version: 1.0 app: type: vm cpuarch: x86_64 resources: profile: custom cpu: 600 disk: 10 memory: 3072 network: - interface-name: eth0 - interface-name: eth1 graphics: vnc: true startup: ostype: windows qemu-guest-agent: false disks: - target-dev: hda file: file://vm.img
Wie Sie in diesem Paket.yaml sehen können, verweisen Sie auf file://vm.img, das dem tatsächlichen Speicherort von mnt/data/vm/vm.img auf dem CGM-SRV-Modul entspricht.
Schritt 4. Der nächste Schritt ist die Verpackung mit der Verwendung von ioxclient:
[root@cen7 ~]# ./ioxclient pkg . Currently active profile : default Command Name: package No rsa key and/or certificate files to sign the package Checking if package descriptor file is present.. Validating descriptor file /root/package.yaml with package schema definitions Parsing descriptor file.. Found schema version 2.2 Loading schema file for version 2.2 Validating package descriptor file.. File /root/package.yaml is valid under schema version 2.2 Created Staging directory at : /var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626 Copying contents to staging directory Checking for application runtime type Couldn't detect application runtime type Creating an inner envelope for application artifacts Excluding .DS_Store Generated /var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626/artifacts.tar.gz Calculating SHA1 checksum for package contents.. Package MetaData file was not found at /private/var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626/.package.metadata Wrote package metadata file : /private/var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626/.package.metadata Root Directory : /private/var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/638513626 Output file: /var/folders/sp/f9qn2fsn0d5fkj7szps6qvvr0000gn/T/559089521 Path: .package.metadata SHA1 : 262f763740c182f95358be84514a76ac11e37012 Path: artifacts.tar.gz SHA1 : 3d89ccd35fe5318dd83a249a26cb8140d98d15bb Path: package.yaml SHA1 : aa42f949b707df07a83a17344e488c44eb585561 Generated package manifest at package.mf Generating IOx Package.. Package generated at /root/package.tar
Schritt 5: Nachdem Sie das Paket erstellt haben, können Sie es auf unserer CGM-SRV installieren. Die IOx-Anwendung/VM heißt in diesem Beispiel win7:
[root@cen7 ~]# ./ioxclient app install win7 package.tar Currently active profile : default Command Name: application-install Saving current configuration Installation Successful. App is available at : https://10.X.X.X:8443/iox/api/v2/hosting/apps/win7 Successfully deployed
Schritt 6. Bevor Sie die win7 IOx VM aktivieren können, müssen Sie eine Payload-JSON-Datei erstellen, die das VNC-Passwort für diese VM festlegt:
[root@cen7 ~]# vi vnc.json
[root@cen7 ~]# cat vnc.json
{
"resources": {
"graphics": {"vnc-password": "password"}
}
}
Schritt 7: Mit der vnc.json Nutzlast können Sie die win7 IOx VM aktivieren:
[root@cen7 ~]# ./ioxclient app activate win7 --payload vnc.json Currently active profile : default Command Name: application-activate Payload file : vnc.json. Will pass it as application/json in request body.. App win7 is Activated
Schritt 8. Der letzte Schritt mit ioxclient ist es, das virtuelle System zu starten:
[root@cen7 ~]# ./ioxclient app start win7 Currently active profile : default Command Name: application-start App win7 is Started
An dieser Stelle wird die Windows VM auf der CGM-SRV ausgeführt, und Sie können damit beginnen.
Um auf die Windows-Konsole zugreifen zu können, können Sie den VNC-Viewer an der ausgehenden Schnittstelle des CGR1000 und des Ports 5900 wie im Bild gezeigt verwenden:

Aus Netzwerksicht haben Sie entschieden, eth0 und eth1 an die win7 IOx VM zu übergeben, indem Sie die Datei package.yaml wie im Bild gezeigt verwenden:

Wie Sie sehen, haben diese Schnittstellen eine IP-Adresse vom DHCP-Server erhalten, die unter Cisco IOS® ausgeführt wird und ohne weitere Konfiguration verwendet werden kann.
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
So überprüfen Sie, ob die VM ausgeführt wird:
[root@cen7 ~]# ./ioxclient app list Currently active profile : CGR1120_20 Command Name: application-list Saving current configuration List of installed App : 1. win7 ---> RUNNING
Sie können den Status auch über den lokalen Manager überprüfen, wie im Bild gezeigt:

In diesem Abschnitt erhalten Sie Informationen zur Behebung von Fehlern in Ihrer Konfiguration.
Um Bereitstellungsprobleme zu beheben, überprüfen Sie die Ausgabe von ioxclient oder /var/log/caf.log auf dem CGM-SRV-Host-Betriebssystem.
Stellen Sie sicher, dass NAT für den Zugriff auf alle Ressourcen (Cisco Application-Hosting Framework (CAF), Secure Shell (SSH), VNC) richtig konfiguriert ist.
Feedback