Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Achtergrondinformatie

Configureren

Een Windows VM-afbeelding maken

Installeer KVM op uw Linux-machine

Controleer de KVM-installatie

Een Windows VM maken

Windows VM-afbeelding implementeren op CGM-SRV

Verifiëren

Problemen oplossen

Inleiding

Dit document beschrijft de gewenste stappen om een Windows-virtuele machine (VM) te maken en uit te voeren op de Connected Grid-module (CGM) - System Server (SRV).

Voorwaarden

Vereisten

Cisco raadt kennis van de volgende onderwerpen aan:

- Linux

- Kernel-gebaseerde virtuele machine (KVM)

- Begrijp virtualisatie-concepten

Gebruikte componenten

De informatie in dit document is gebaseerd op de volgende software- en hardware-versies:

- Connected Grid-routers (CGR) 1120

- CGM-SRV-XX module

- De configuratiestappen voor CGM-SRV worden uitgevoerd vóór deze handleiding:

- Windows 7-installatie ISO

- VPN-viewer (Virtual Network Computing)

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk levend is, zorg er dan voor dat u de mogelijke impact van om het even welke opdracht begrijpt.

Achtergrondinformatie

Wanneer u IOx-toepassingen of VMs wilt uitvoeren op het CGR1000-platform, kunt u de CGM-SRV-computermodule gebruiken. De CGM-SRV module is een kleine server met een multi-core x86 CPU, geheugen en opslag. Zowel CGR1120 als CGR1240 kunnen één van deze modules hebben om IOx-functies toe te voegen.

Op het moment van schrijven zijn er twee soorten beschikbaar:

Bewaareenheden (SKU)

Solid State Drives (SSD)

RAM

CPU

CGM-SRV-64

64 GB (50 GB bruikbaar)

4 GB

4 kern: 800 MHz

CGM-SRV-128

128 GB (100 GB bruikbaar)

4 GB

4 kern: 800 MHz

Elke module heeft ook twee USB-poorten voor opslag en een eigen externe Gigabit Ethernet-interface.

Net als bij elk ander apparaat dat geschikt is voor IOx, kan de module verschillende typen IOx-toepassingen opslaan, maar door de grotere capaciteit van de CGM-SRV-module kan er ook een volledig geconfigureerd Windows- of standaard Linux-distro-module worden uitgevoerd (bijvoorbeeld Ubuntu of CentOS).

Configureren

Een Windows VM-afbeelding maken

Om een Windows VM op de CGM-SRV-module in te zetten, moet u eerst een afbeelding in het QEMU QCOW-formaat maken dat de Windows-installatie bevat. Eén manier om zo'n afbeelding te maken is met KVM en virsh op een Linux-machine.

De stappen die verder worden vermeld, hebben helemaal geen betrekking op CGR1xxx of CGM-SRV. Het zijn gewoon stappen nodig om een basisbeeld van Windows 7 VM QCOW te maken dat u in de volgende stap naar het CGM-SRV kunt implementeren.

Voor deze handleiding kunt u starten met een installatie die minimaal CentOS7 is geïnstalleerd. De stappen voor andere Linux-distributies moeten vergelijkbaar zijn, maar kunnen enigszins afwijken.

Installeer KVM op uw Linux-machine

Stap 1. Het eerste wat te doen is te controleren of de host-machine VM-extensies ondersteunt. Op het x86-platform zijn dat AMD-V of Intel’s VT-X. De meeste, zo niet alle, moderne x86 CPU’s ondersteunen deze uitbreidingen. Zelfs als je een VM runt, bieden de meeste hypervisors de optie om deze extensies door te geven/na te bootsen.

Om te controleren of de geïnstalleerde CPU’s deze uitbreidingen ondersteunen, moet u controleren of de Vmx-markering (voor VT-X) of svm-markering (voor AMD-V) in de samengestelde informatie-uitvoer bestaat.

[root@cen7 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo

2

Als de uitvoer van deze opdracht 0 is, betekent dit dat geen CPU de VM-uitbreidingen ondersteunt. In dat geval kunt u controleren of deze extensies ingeschakeld zijn in uw geprogrammeerde of hypervisors wanneer u een VM gebruikt om deze machine te starten.

Stap 2. De volgende stap is het creëren van een brug om een netwerk voor de VM te bieden dat u op KMV kunt gebruiken.

In de eerste plaats moet u IP-voorwaarts in het spoorwegnet mogelijk maken:

[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

Om de brug te creëren, moet de IP configuratie van de echte interface naar de brug zelf bewegen, aangezien dit de interface is die het IP adres bezit.

Nadat u een standaardinstallatie hebt voltooid, is de netwerkconfiguratie in /etc/sysfig/network-scripts:

[root@cen7 ~]# ls -1 /etc/sysconfig/network-scripts/ifcfg-*

/etc/sysconfig/network-scripts/ifcfg-eno16777736

/etc/sysconfig/network-scripts/ifcfg-lo

Stap 3. Zoals u kunt zien, is er momenteel één interface (naast de loopback interface), eno1677736 genoemd. U moet de IP-gerelateerde configuratie verplaatsen naar een bridge-interface die u virbr0 kunt noemen:

[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

Stap 4. Daarna moet u de IP-configuratie vanaf de echte interface schoonmaken en op de VIRBR0-brug aansluiten:

[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

Stap 5. Zodra de netwerkconfiguratie is voltooid, kunt u KVM starten en installeren:

[root@cen7 ~]# sudo yum install kvm virt-manager libvirt virt-install qemu-kvm xauth dejavu-lgc-sans-fonts -y

...

Complete!

Stap 6. Nadat de installatie is voltooid, kan deze machine het beste opnieuw worden opgestart om de nieuw geïnstalleerde modules en netwerkconfiguratie toe te passen:

[root@cen7 ~]# init 6

Controleer de KVM-installatie

Stap 7. Nadat de herstart is voltooid, kunt u de machine benaderen via dezelfde IP als die op de bruginterface is geconfigureerd. U moet controleren of de KVM kernel-module geladen is:

root@cen7 ~]# lsmod|grep kvm

kvm_intel             200704  0

kvm                   589824  1 kvm_intel

irqbypass              16384  1 kvm

Stap 8. Als dit er goed uitziet, kunt u proberen verbinding te maken met virussen:

[root@cen7 ~]# sudo virsh -c qemu:///system list

Id    Name                           State

----------------------------------------------------

Stap 9. Een laatste stap is om poort 5900 op de firewall van deze machine te openen voor VPN-toegang tot de installatie van Windows:

[root@cen7 ~]# firewall-cmd --zone=public --add-port=5900/tcp --permanent

success

[root@cen7 ~]# firewall-cmd --reload

success

Een Windows VM maken

Nu u een systeem hebt dat werkt met KVM-installatie, kunt u een nieuwe VM op KVM ontbranden en de installatiedialoogvensters van Windows doorlopen.

Stap 1. Kopieer de installatie-ISO van Windows 7 naar uw VM (of maak deze toegankelijk via het netwerk):

[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

Stap 2. Maak een nieuwe KVM en laat deze van Windows 7 ISO-software beginnen:

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.

Stap 3. Nadat de VM is gestart, kunt u met het gebruik van VPN-viewer verbinden met het IP van de host-machine op poort 5900 en de standaard Windows-installatie voltooien zoals in de afbeelding wordt getoond:

Als Windows opnieuw start op het moment van de installatie, moet de VM opnieuw met virsh worden opgestart als dit niet automatisch gebeurt:

[root@cen7 ~]# virsh start win7

Domain win7 started

Stap 4. Nadat de installatie is voltooid, sluit u de VM af. U beschikt nu over een QCOW-beeld van deze installatie in het pad dat wordt meegeleverd wanneer u de VM maakt: /var/lib/libvirt/images/win7.img. Dit type afbeelding kan op het CGM-SRV worden uitgevoerd om Windows uit te voeren.

Windows VM-afbeelding implementeren op CGM-SRV

Nu u het juiste type afbeelding hebt om op het CGM-SRV te starten, kunt u het implementeren.

Stap 1. Stel een profiel voor de inhoud in dat overeenkomt met uw configuratie:

[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 dit voorbeeld komt 10.X.X.X overeen met de vertrekkende interface in CGR1000 op basis waarvan u Network Address Translation (NAT) hebt ingesteld om naar poort 8443 op CGM-SRV te sturen.

Stap 2. Nu ioxclient is geconfigureerd, heten we uw vorige gemaakte afbeelding opnieuw naar vm.img te noemen om het bit te vereenvoudigen en het te kopiëren met behulp van Secure Copy (SCP) met ioxclient naar CGM-SRV.

Converteer naar keuze het diskbeeld naar het QCOW2-formaat omdat het CGM-SRV dit verwacht. Nieuwe versies van virt-Manager lijken de diskbeelden standaard in het QCOW3-formaat te maken.

U kunt de afbeelding met deze opdracht eenvoudig converteren:

[root@cen7 ~]# qemu-img convert -f qcow2 -O qcow2 /var/lib/libvirt/images/win7.img /var/lib/libvirt/images/win7.img

Zodra u zeker bent dat de afbeelding in de juiste indeling is, gaat u met de naam en het exemplaar verder:

[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:/]

Deze overdracht kan een tijdje duren, de overdrachtsnelheden van ongeveer 3-4 MB/s naar het CGM-SRV via Cisco IOS®. Het bestand wordt gekopieerd naar /mnt/data/vm/vm.img in de CGM-SRV module.

Stap 3. Terwijl de overdracht bezig is (of voltooid), kunt u het Packet.Yaml-bestand maken. Dit bestand beschrijft aan IOx wat u precies wilt implementeren en hoe u het wilt verpakken.

[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

Zoals u in dit pakket kunt zien.yaml, verwijst u naar file://vm.img, wat overeenkomt met de echte locatie van mnt/data/vm/vm.img op de CGM-SRV module.

Stap 4. De volgende stap is het verpakken met het gebruik van 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

Stap 5. Nadat u het pakket hebt gemaakt, kunt u het op onze CGM-SRV installeren. De IOx-toepassing/VM wordt win7 genoemd in dit voorbeeld:

[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

Stap 6. Voordat u de Win7 IOx VM kunt activeren, moet u een payload-JSON-bestand maken waarin het VPN-wachtwoord voor deze VM wordt ingesteld:

[root@cen7 ~]# vi vnc.json

[root@cen7 ~]# cat vnc.json

{

"resources": {

"graphics": {"vnc-password": "password"}

}

}

Stap 7. Met het gebruik van de payload van vnc.json, kunt u de win7 IOx VM activeren:

[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

Stap 8. De laatste stap met ioxclient is het starten van de VM:

[root@cen7 ~]# ./ioxclient app start win7

Currently active profile :  default

Command Name:  application-start

App win7 is Started

Op dit punt draait de Windows VM op de CGM-SRV en u kunt het gebruiken.

Om toegang tot de Windows-machineconsole te krijgen, kunt u VPN-viewer op de uitgaande interface in CGR1000 en poort 5900 gebruiken zoals in de afbeelding:

Vanuit netwerkperspectief hebt u ervoor gekozen eth0 en eth1 aan de win7 IOx VM te geven met behulp van het Package.yaml-bestand zoals in de afbeelding getoond:

Zoals u kunt zien, hebben deze interfaces een IP van de DHCP-server die op Cisco IOS® draait en zonder verdere configuratie kunnen worden gebruikt.

Verifiëren

Gebruik dit gedeelte om te bevestigen dat de configuratie correct werkt.

Om te controleren of de VM draait:

[root@cen7 ~]# ./ioxclient app list

Currently active profile :  CGR1120_20

Command Name:  application-list

Saving current configuration

List of installed App :

1. win7       --->    RUNNING

U kunt de status ook controleren vanuit Local Manager zoals in de afbeelding wordt weergegeven:

Problemen oplossen

Deze sectie verschaft informatie die u kunt gebruiken om problemen met uw configuratie op te lossen.

Als u problemen wilt oplossen met implementatie, controleert u de uitvoer van ioxclient of /var/log/caf.log in het CGM-SRV host OS.

Zorg ervoor dat NAT correct is geconfigureerd voor toegang tot alle bronnen (Cisco Application-host framework (CAF), Secure Shell (SSH) en VNC).