O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve as etapas necessárias para criar e executar uma máquina virtual (VM) do Windows no módulo Connected Grid Module (CGM) - System Server (SRV).
A Cisco recomenda que você tenha conhecimento destes tópicos:
As informações neste documento são baseadas nestas versões de software e hardware:
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
Para executar aplicativos IOx ou VMs na plataforma CGR1000, você pode usar o módulo de computação CGM-SRV. O módulo CGM-SRV é, na verdade, um pequeno servidor que contém CPU, memória e armazenamento x86 de vários núcleos. O CGR1120 e o CGR1240 podem ter um desses módulos para adicionar recursos IOx.
Há, no momento da redação, dois tipos disponíveis:
Unidade de manutenção de estoque (SKU) | Unidades de estado sólido (SSD) | RAM | CPU |
CGM-SRV-64 | 64 GB (50 GB utilizáveis) | 4 GB | 4 núcleos de 800 MHz |
CGM-SRV-128 | 128 GB (100 GB utilizáveis) | 4 GB | 4 núcleos de 800 MHz |
Cada módulo também tem duas portas USB para armazenamento e sua própria interface Gigabit Ethernet externa.
Como em qualquer outro dispositivo compatível com IOx, o módulo pode hospedar diferentes tipos de aplicativos IOx, mas devido à maior capacidade do módulo CGM-SRV, ele também pode executar uma distribuição de Windows ou Linux padrão totalmente configurada (por exemplo, Ubuntu ou CentOS).
Para implantar uma VM Windows no módulo CGM-SRV, é necessário primeiro criar uma imagem no formato QEMU QCOW que contém a instalação do Windows. Uma maneira de criar tal imagem é com KVM e vírus em uma máquina Linux.
As etapas mencionadas não envolvem o CGR1xxx ou o CGM-SRV, são apenas etapas necessárias para criar uma imagem básica do QCOW do Windows 7 VM que você pode implantar na próxima etapa do CGM-SRV.
Para este guia, você pode começar com uma instalação mínima do CentOS7 recentemente instalada. As etapas para outras distribuições do Linux devem ser semelhantes, mas podem ser ligeiramente diferentes.
Etapa 1. A primeira coisa a fazer é verificar se o host-máquina suporta extensões de VM. Na plataforma x86, eles são AMD-V ou VT-X da Intel. A maioria das CPUs x86 modernas, se não todas, suportam essas extensões. Mesmo quando você executa uma VM, a maioria dos hipervisores oferece a opção de passar/emular essas extensões.
Para verificar se a CPU instalada suporta essas extensões, você precisa verificar se o sinalizador vmx (para VT-X) ou svm (para AMD-V) existe na saída cpuinfo.
[root@cen7 ~]# egrep -c '(vmx|svm)' /proc/cpuinfo 2
Se a saída desse comando for 0, isso significa que nenhuma CPU encontrada suporta as extensões de VM. Nesse caso, você pode verificar se essas extensões estão ativadas no BIOS ou no hipervisor quando usa uma VM para executar esta máquina.
Etapa 2. A próxima etapa é criar uma bridge para fornecer uma rede para a VM que você pode executar no KMV.
Primeiro, você precisa ativar o encaminhamento de IP no kernel:
[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
Para criar a bridge, a configuração IP precisa mover-se da interface real para a própria bridge, pois essa é a interface que possui o endereço IP.
Depois de concluir uma instalação padrão, a configuração de rede é em /etc/sysconfig/network-scripts:
[root@cen7 ~]# ls -1 /etc/sysconfig/network-scripts/ifcfg-* /etc/sysconfig/network-scripts/ifcfg-eno16777736 /etc/sysconfig/network-scripts/ifcfg-lo
Etapa 3. Como você pode ver, existe atualmente uma interface (além da interface de loopback), chamada eno167777736. Você precisa mover a configuração relacionada ao IP para uma interface de bridge que pode ser chamada de virbr0:
[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
Etapa 4. Depois disso, você precisa limpar a configuração IP da interface real e conectá-la à ponte virbr0:
[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
Etapa 5. Quando a configuração da rede estiver concluída, você poderá continuar e instalar o KVM:
[root@cen7 ~]# sudo yum install kvm virt-manager libvirt virt-install qemu-kvm xauth dejavu-lgc-sans-fonts -y ... Complete!
Etapa 6. Após a conclusão da instalação, o melhor é reinicializar esta máquina para aplicar os módulos instalados recentemente e a configuração de rede:
[root@cen7 ~]# init 6
Passo 7. Depois que a reinicialização for concluída, você poderá acessar a máquina no (mesmo) IP configurado na interface de bridge. Você deve verificar se o módulo de kernel KVM está carregado:
root@cen7 ~]# lsmod|grep kvm kvm_intel 200704 0 kvm 589824 1 kvm_intel irqbypass 16384 1 kvm
Etapa 8. Se isso parecer bom, você pode tentar se conectar com o vírus:
[root@cen7 ~]# sudo virsh -c qemu:///system list Id Name State ----------------------------------------------------
Etapa 9. Uma última etapa é abrir a porta 5900 no firewall desta máquina para acesso VNC à instalação do Windows:
[root@cen7 ~]# firewall-cmd --zone=public --add-port=5900/tcp --permanent success [root@cen7 ~]# firewall-cmd --reload success
Agora que você tem um sistema que funciona com a instalação do KVM, você pode ativar uma nova VM no KVM e executar os diálogos de instalação do Windows.
Etapa 1. Copie o ISO de instalação do Windows 7 para sua VM (ou torne-o acessível pela rede):
[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
Etapa 2. Crie uma nova VM KVM e deixe-a inicializar a partir do ISO do Windows 7:
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.
Etapa 3. Depois que a VM tiver iniciado, você poderá se conectar com o uso do visualizador VNC ao IP da máquina host na porta 5900 e concluir a instalação padrão do Windows como mostrado na imagem:
Se o Windows reinicializar no momento da instalação, pode ser necessário reiniciar a VM com o vírus se isso não for feito automaticamente:
[root@cen7 ~]# virsh start win7 Domain win7 started
Etapa 4. Quando a instalação tiver sido concluída, desligue a VM. Agora você tem uma imagem QCOW desta instalação no caminho fornecido quando cria a VM: /var/lib/libvirt/images/win7.img. Esse tipo de imagem pode ser implantado no CGM-SRV para executar o Windows.
Agora que você tem o tipo correto de imagem para ser executada no CGM-SRV, você pode começar a implantá-la.
Etapa 1. Configure um perfil para um cliente que corresponda à sua configuração:
[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
Neste exemplo, 10.X.X.X corresponde à interface de saída no CGR1000 no qual você configurou Network Address Translation (NAT) para encaminhar para a porta 8443 no CGM-SRV.
Etapa 2. Agora que o ioxclient está configurado, vamos renomear sua imagem criada anteriormente para vm.img para simplificar um bit e copiá-lo com o uso do Secure Copy (SCP) com o ioxclient para o CGM-SRV.
Opcionalmente, converta a imagem do disco para o formato QCOW2, pois é isso que o CGM-SRV está esperando. As versões mais recentes do Virtual-Manager parecem criar as imagens de disco por padrão no formato QCOW3.
Você pode converter facilmente a imagem com o uso deste comando:
[root@cen7 ~]# qemu-img convert -f qcow2 -O qcow2 /var/lib/libvirt/images/win7.img /var/lib/libvirt/images/win7.img
Depois de ter certeza de que a imagem está no formato correto, continue com a renomeação e a cópia:
[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:/]
Essa transferência pode demorar um pouco, as taxas de transferência de cerca de 3-4 MB/s para o CGM-SRV via Cisco IOS®. O arquivo é copiado para /mnt/data/vm/vm.img no módulo CGM-SRV.
Etapa 3. Enquanto a transferência está em andamento (ou concluída), você pode criar o arquivo package.yaml. Este arquivo descreve para o IOx o que exatamente você gostaria de implantar e como empacotá-lo.
[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
Como você pode ver neste pacote.yaml, consulte file://vm.img, que corresponde à localização real de mnt/data/vm/vm.img no módulo CGM-SRV.
Etapa 4. A próxima etapa é embalar com o uso do 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
Etapa 5. Depois de criar o pacote, você pode instalá-lo em nosso CGM-SRV. O aplicativo IOx/VM é chamado win7 neste exemplo:
[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
Etapa 6. Antes de ativar a VM win7 IOx, você precisa criar um arquivo JSON de payload que defina a senha do VNC para esta VM:
[root@cen7 ~]# vi vnc.json [root@cen7 ~]# cat vnc.json { "resources": { "graphics": {"vnc-password": "password"} } }
Passo 7. Com o uso do payload vnc.json, você pode ativar a VM win7 IOx:
[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
Etapa 8. A última etapa com o ioxclient é iniciar a VM:
[root@cen7 ~]# ./ioxclient app start win7 Currently active profile : default Command Name: application-start App win7 is Started
Nesse ponto, a VM do Windows é executada no CGM-SRV e você pode começar a usá-la.
Para obter acesso ao console da máquina do Windows, você pode usar o visualizador VNC na interface de saída no CGR1000 e na porta 5900, como mostrado na imagem:
De uma perspectiva de rede, você optou por dar eth0 e eth1 para a VM win7 IOx com o uso do arquivo package.yaml como mostrado na imagem:
Como você pode ver, essas interfaces obtiveram um IP do servidor DHCP que é executado no Cisco IOS® e pode ser usado sem outras configurações.
Use esta seção para confirmar se a sua configuração funciona corretamente.
Para verificar se a VM executa:
[root@cen7 ~]# ./ioxclient app list Currently active profile : CGR1120_20 Command Name: application-list Saving current configuration List of installed App : 1. win7 ---> RUNNING
Você também pode verificar o status do Gerenciador local, como mostrado na imagem:
Esta seção disponibiliza informações para a solução de problemas de configuração.
Para solucionar problemas com a implantação, verifique a saída de ioxclient ou /var/log/caf.log no SO host CGM-SRV.
Certifique-se de que o NAT esteja configurado corretamente para acessar todos os recursos (Cisco application-host framework (CAF), Secure Shell (SSH), VNC).