Nível: Intermediário Steve Schmidt, Senior Software Engineer, IBM Andrew R. Freed, Advisory Software Engineer, IBM Mike Gering, Senior Software Engineer, IBM
30/Jun/2009 O Open Virtualization Format (OVF) é um padrão aberto para embalagem e distribuição de aplicativos virtuais (ou software) que deve ser rodado em computadores virtuais. O padrão descreve um formato aberto, seguro, portátil, eficiente e extensível para a embalagem e distribuição de software para ser rodado em máquinas virtuais; o padrão é designado para que não seja ligado a qualquer hypervisor ou arquitetura de processador em particular. Neste artigo, os autores descrevem o padrão OVF e o conjunto de ferramentas OVF desenvolvido pela IBM.
A especificação do Open Virtualization Format (OVF) é um padrão sendo
desenvolvido pela associação da Distributed Management Task Force (DMTF)
para promover um formato aberto, seguro, portátil, eficiente e extensível
para a embalagem e distribuição de software para rodar em máquinas virtuais.
A DMTF é uma organização sem fins lucrativos de membros industriais dedicados
a promover o gerenciamento de sistemas e empresas e a interoperabilidade.
Associados e não associados podem reproduzir as especificações e documentos
da DMTF para usos consistentes com este objetivo, desde que a atribuição correta seja dada.
A IBM vê um grande potencial no desenvolvimento do padrão OVF, especialmente
porque suporta a habilidade de criar um ambiente aberto que define os
métodos padrão para representar e distribuir conteúdo de aplicativos
virtuais/máquinas virtuais. A IBM tem estado ativa na formação das
especificações padrão. Para promover ainda mais a adoção de pacotes
baseados em OVF, desenvolvendo ferramentas para ajudar os interessados em
representar máquinas virtuais/aplicativos virtuais no formato distribuível
OVF.
Neste artigo, descrevemos o padrão e demonstramos o Conjunto de Ferramentas
Open Virtualization Format.
O lugar do OVF no ciclo de vida do
aplicativo virtual
Como descrito na Seção 1.4 do White Paper sobre Open Virtualization Format
(veja o a seção de Recursos mais adiante neste
artigo para um link), o ciclo de vida do software para os aplicativos
virtuais seguem esse padrão:
- Desenvolva
- Embale e distribua
- Implemente
- Gerencie
- Torne Obsoleto
Após a fase de desenvolvimento (Passo 1), serviços (um ou mais VMs e os
metadados de implementação e configuração necessários) são embalados no
formato OVF (Passo 2). Os componentes dos pacotes podem ser bits de
terceiros. A fase de Implementação (Passo 3), o pacote OVF é instalado.
As fases de gerenciamento e de obsolescência (Passos 4 e 5) são específicos
para ambos a natureza do conteúdo no pacote OVF e os produtos de
virtualização específicos que você está usando.
O OVF 1.0 trata das fases de embalagem, distribuição e implementação.
Elementos no padrão
OVF
Três elementos chave definidos no padrão OVF:
- O pacote OVF
- O descritor OVF
- O arquivo de ambiente OVF
Vamos discuti-los em detalhes.
O pacote OVF
Na sua essência, um pacote OVF é um pacote de distribuição que consiste no
seguinte:
- Um arquivo descritor OVF (.ovf). É comumente referido como
o envelope OVF e é, em grande medida, o assunto desse suporte de
ferramentas. O arquivo descritor OVF define o conteúdo e requerimentos
do aplicativo virtual embalado no suporte de uma implementação
consistente e de sucesso do pacote. O arquivo descritor OVF segue um
formato XML.
- Arquivo de manifesto OVF zero para um (.mf). O arquivo de
manifesto contém a compilação SHA-1 dos arquivos individuais do pacote
OVF. O objetivo do manifesto é prover a integridade dos dados do
pacote.
- Arquivo de certificação OVF zero para um (.cert).Um pacote OVF
pode ser assinado, através da assinatura do arquivo de manifesto. A
assinatura da compilação é armazenada em um arquivo .cert junto com o
certificado X.509 base64-encoded. O objetivo do certificado é garantir
a autenticidade do pacote.
- De zero até muitos arquivos de imagem de disco. Estes arquivos
representam o disco virtual que suporta o aplicativo ou imagem(ns)
virtual(ais) definidos. De um modo mais geral, o pacote inclui os
artefatos necessitados pelo aplicativo, incluindo discos virtuais,
recursos de idiomas localizados, e outros artefatos.
O descritor OVF
O descritor envelope descreve todos os metadados para a(s) máquina(s)
virtuais (incluindo hardware virtual) que formam o pacote OVF.
O envelope consiste das seguintes partes:
- Uma indicação de versão definida pelo XML namespace URI.
- Uma lista de referencia de arquivos para todos os arquivos externos que
são parte deste pacote OVF definido por elementos de Referência
e seus elementos de Arquivo. Esses são arquivos típicos de discos virtuais, imagens ISO e recursos de internacionalização.
- Metadados no nível do aplicativo definidos por elementos de seção detalhando coisas como discos virtuais e redes.
- Uma descrição do conteúdo do aplicativo, que é ou uma maquina virtual única (elemento VirtualSystem) ou uma coleção de várias máquinas virtuais (elemento VirtualSystemCollection).
- Uma especificação dos pacotes de recursos de mensagens para zero ou mais localidades definido por um elemento de strings para cada localidade.
Figura 1 mostra a construção de parte de um envelope OVF.
Figura 1. A construção de um envelope OVF 
O envelope OVF é criado e usado nas fases de embalagem e distribuição da vida útil de aplicativos virtuais.
O ambiente OVF
O ambiente OVF está em um documento XML que é gerado por uma plataforma de implementação OVF quando a embalagem OVF está sendo implementada e, por sua vez, disponibilizado para softwares convidados dentro do sistema virtual implementado. A intenção do documento do ambiente OVF é proporcionar a propriedade do software convidado do sistema virtual (de um pacote OVF implementado) informação variável que pode ser usada para "personalizar" o sistema virtual de visitantes. Autores dos descritores do pacote OVF (o envelope OVF) indicam quais as propriedades dos clientes vão requerer entrada variável. Durante as atividades de implementação de um pacote OVF, a plataforma de implementação coleta os valores a serem associados às chaves de propriedades personalizadas e construtos do documento do ambiente OVF.
O ambiente OVF é usado na fase de implementação da vida útil do aplicativo virtual.
Destaques do Open Virtualization Format Toolkit
O Open Virtualization Format Toolkit oferece um conjunto de plug-ins Eclipse, bem com um padrão Java™ API, para ajudá-lo a criar um pacote de aplicativo virtual no formato com base em novos padrões, o Open Virtualization Format. O OVF Toolkit ajuda a embalar e distribuir o aplicativo virtual de acordo com o padrão OVF.
O conjunto de ferramentas oferece um editor fácil de usar que executa as tarefas de criar os descritores do pacote requeridos, garantindo conformidade aos requerimentos de semântica e sintaxe do padrão. Também oferece a capacidade de exportar os arquivos do pacote em dois formatos permitidos pelo padrão OVF: como um arquivo TAR único no formato do Open Virtual Appliance, ou um conjunto de arquivos.
Em suporte a esta nova capacidade de edição, este pacote oferece um conjunto de plug-ins Eclipse necessários para estender o seu ambiente de desenvolvimento existente.
As seguintes sessões destacam os vários aspectos e cenários de uso da ferramenta de composição OVF.
Validação e Cobertura de Especificação
A especificação OVF proporciona um esquema que detalha a semântica de um documento XML instance envelope OVF, bem como as especificações escritas que detalham a semântica que se estende além do que é expressado no esquema. O OVF Toolkit proporciona suporte que gerará documentos de instâncias em conformidade com OVF e pacotes de distribuição de aderem ao esquema OVF, bem como as especificações escritas. Itens de cobertura incluem:
- A aderência a cardinalidade para dados de elementos bem como para atributos requeridos
- Integridade de referencia para relacionamento de elementos
- Integridade do tipo de dados
- Integridade de enumeração de campo para tipos retidos
- Suporte para semânticas das especificações escritas além da sintaxe do esquema
A especificação OVF inclui a habilidade de descrever dentro dos documentos de instância do envelope XML definições de conteúdo de máquina virtual única, bem como definições de conteúdo de máquinas virtuais múltiplas. A ferramenta de composição OVF suporta para criação, edição e embalagem qualquer destes tipos de documentos de instância, junto com seus arquivos de suporte.
Sendo o autor de um novo envelope OVF
Em muitos casos, pode ser desejável criar um envelope OVF do zero. Como mencionamos anteriormente, um dos artefatos do Eclipse presente na ferramenta de composição é um novo editor que permite exatamente essa possibilidade. Em essência, você cria um novo arquivo dentro da área de trabalho do seu Eclipse como faria com qualquer arquivo no Eclipse IDE. A novidade é o tipo de arquivo: É chamado Envelope Modelo.
Os passos para criar um novo envelope OVF são:
- Crie um novo projeto (ou use um projeto existente) para manter os arquivos do envelope OVF se já não existe um.
Figura 2. Preparar ou criar um projeto para manter arquivos de envelopes OVF

- Criar um novo arquivo Modelo de Envelope dentro do projeto usando a ação Arquivo/Novo/Outro.
Figura 3. Criar novo arquivo Modelo Envelope 
- A esta altura você terá o esqueleto de um envelope OVF aberto dentro de um novo editor. Tenha em mente que a maioria dos metadados OVF deve ser adicionado após a criação do novo arquivo.
Figura 4. Adicionar metadados OVF ao esqueleto de envelope 
- Adicione conteúdo adicional ao envelope OVF destacando um elemento dentro do editor; clique a direita e selecione ou Filho Novo ou Novo Irmão, dependendo do conteúdo a ser adicionado.
Figura 5. Adicionar novas crianças e irmãos (conteúdo adiciona) ao envelope 
- Todos os comandos de edição típicos funcionam como esperado, incluindo cortar, copiar a colar. Além disso, uma visualização que você vai querer abrir é a visualização de Propriedades. Abra esse visualizador através do menu de contexto para um objeto OVF ou a ação do menuJanela/Exibir Visualização/Propriedades. A visualização de Propriedadesproporciona os nomes de atributos e seus valores correspondentes para elementos selecionados dentro de três editores. Esse visualizador é o local onde você pode mudar valores de dados para o atributo selecionado. Na Figura 6, um novo elemento de Arquivo foi adicionado sob a seção Referências; quando selecionado, os atributos correspondente são visíveis e modificados dentro da visualização de Propriedades.
Figura 6. Observando da visualização de Propriedades

Isso é o necessário para criar um novo envelope OVF. Quando salva o arquivo que está editando, o envelope é serializado no formato OVF padrão e, se desejado, pode ser aberto com o editor do envelope OVF ou qualquer outro editor capaz de visualizar arquivos XML (se você quiser inspecionar a representação XML do envelope).
Figura 7. Agora você pode inspecionar a representação em um editor 
Figura 8 mostra um envelope num editor de envelope.
Figura 8. O envelope num editor de envelope

Figura 9 mostra um envelope num editor de envelope padrão mostrando o XML serializado.
Figura 9. O envelope como XML serializado 
Importe /edite um descritor VM proprietário
Reconhecemos que muitas máquinas virtuais x86-based existem e são hospedadas por um dos produtos VMware hypervisor. Em casos como esse, seria desejável criar um envelope OVF metadados e pacotes de distribuição OVF que representam essas máquinas virtuais previamente construída.
Para fazer esse cenário de composição um pouco mais fácil, você pode usar uma nova capacidade de Importar que foi desenvolvida (mais especificamente, o Arquivo de Configuração Import VMware VMX). Usando essa nova capacidade de importação, é possível ter os metadados básicos do envelope OVF gerado de um arquivo de dados de configuração VM, que pode então ser sujeito a mudanças de edição adicionais dependendo do pacote OVF final desejado. Similarmente a Composição de Novo cenário, estará criando um envelope OVF como um novo arquivo em um projeto baseado em espaço de trabalho. As figuras seguintes ilustram os passos básicos para este tipo de importação.
Primeiro, selecioneArquivo/Importar das opções do menu principal:
Figura 10. Selecione Arquivo/Importar 
Selecione, então, o arquivo de configuração VXM para "importar" junto com a designação da localização alvo no espaço de trabalho onde gostaria de colocar o envelope OVF gerado:
Figura 11. Selecione Arquivo de configuração VMX Import 
Após pressionar Acabar o processo de importação irá analisar o arquivo de configuração VMX e gerar a estrutura de envelope OVF apropriada. Além dos OVF metadados, um link de arquivo será criado no projeto da área de trabalho para cada arquivo VMDK (disco virtual), em apoio de posteriores gerações de pacote OVF, proporcionando um cenário de geração "roundtrip" pleno. Figura 12 mostra o editor de envelope aberto para o envelope OVF gerado.
Figura 12. Editor de Envelope aberto para o envelope OVF 
Exportar um pacote OVF
Um dos principais objetivos da especificação OVF é definir um formato padrão de distribuição de pacotes que seja eficiente, seguro e móvel. Para tanto, a especificação define dois tipos primários de formatos de pacotes:
- Embalagem como um arquivo TAR único (formato open virtual appliance ou .ova)
- Embalagem como um grupo de arquivos (formato múltiplos arquivos)
A ferramenta de composição OVF suporta ambos esses formatos de distribuição através do serviços de processamento de Exportação. Exportar um pacote OVF como um conjunto de arquivos ou um archive TAR .ova é essencialmente o mesmo processo a partir da ferramenta de composição OVF; uma seleção de diálogo ao longo do caminho controla que formato de pacote é desejado. Como referência sobre como pacotes OVF podem ser produzidos no suporte de distribuição, apresentamos o seguinte cenário.
Um pacote OVF pode ser apresentado como um grupo de arquivos ou um arquivo único usando o formato TAR. Se o pacote OVF é o formato arquivo único, a extensão daquele arquivo devera ser .ova (aplicativo virtual aberto ou aplicativo).
Para os archives OVF TAR, os arquivos são criados na seguinte ordem dentro do archive:
- Arquivo descritor ovf.
- O restante dos arquivos está na mesma ordem em que estão listados na seção Referências. Observe que quaisquer arquivos do pacote de recurso de caracteres externo para internacionalização, deverá estar primeiro na seção de Referências.
- arquivo manifesto .mf (se o usuário escolher).
- arquivo certificação .mf (se o usuário escolher assinatura do pacote).
Se os arquivos manifesto ou certificação estão presentes, são colocados no final do archive. Para implementação, a restrição de ordenação garante que seja possível extrair o descritor OVF de um arquivo OVF TAR sem escanear o archive inteiro. O formato TAR usado está de acordo com o formato USTAR (Uniform Standard Tape Archive) como definido pelo grupo de normas POSIX IEEE 1003.1
Para exportar um pacote OVF a partir de uma ferramenta de composição OVF, selecione o comando menu exportar arquivo:
Figura 13. Exportar um pacote OVF a partir de uma ferramenta de composição

Então, selecione e carregue o arquivo descritor OVF que define os metadados do envelope OVF e seus respectivos arquivos. Se selecionar um arquivo .ovf antes de abrir o assistente de exportação, o wizar vai pré-carregar o arquivo para você.
Figura 14. Selecione/carregue o arquivo descritor que define os metadados do envelope OVF 
O próximo passo é indicar que tipo de processamento gostaria de realizar para os arquivos contidos dentro da seção Referências do envelope OVF. Há várias coisas a considerar neste momento do processo de exportação:
- Os arquivos devem ser embalados junto com o envelope e os outros arquivos opcionais? (Isso requer um referência de arquivo local, mas opcional, para protocolos http ou https).
- Alguns desses recursos de arquivos são pacotes de tradução? (Precisam ser ordenados primeiro na lista de arquivos).
- Você quer que um arquivo manifesto seja criado? (Isso levará ao cálculo das compilações do arquivo).
- Quer que os tamanhos de arquivos sejam calculados (ou recalculados)?
A figura 15 ilustra o diálogo onde você indica as suas opções de processamento de arquivos:
Figura 15. Indicar opções de processamento de arquivos 
Seguindo no passo de processamento de arquivo, indique o diretório de destino onde exportar o OVF e se quer exportar um conjunto de arquivos ou um arquivo de archive .ova TAR.
Figura 16. Indicar o diretório de destino do pacote 
O último passo (Figura 17) permite salvar quaisquer mudanças que possam ser relevantes ao envelope OVF baseado nas seleções de opção anteriores (atualizar tamanhos de arquivos). Após este passo, você terá o pacote OVF exportado pronto para distribuição.
Figura 17. Salvo, o pacote OVF exportado está pronto para distribuição

Neste ponto é possível salvar as configurações do assistente. Se assim fizer, uma extensão de arquivo .ovfPackage será criada na sua área de trabalho. Mais tarde, você pode selecionar este arquivo e iniciar o assistente de exportação com todas as configurações restauradas.
Conclusão
Descrevemos, neste artigo, o padrão Open Virtualization Format, um formato aberto, seguro, móvel, eficiente e extensível para ajudá-lo a embalar e distribuir o software que quer rodar em máquinas virtuais. Nós também:
- Discutimos o papel do OVF no ciclo de vida do aplicativo virtual comum.
- Descrevemos os três elementos de suporte críticos do —pacote OVF padrão, descritor, e arquivo de ambiente— e demonstramos o que fazem e como usá-los.
- Oferecendo um passeio pelo Open Virtualization Format Toolkit, destacando recursos como validação e especificação de cobertura, autoria de um envelope OVF, importação e editoração de descritores VM proprietários e exportação de pacotes OVF.
Agora, resta a você mergulhar na seção de Recursos abaixo e continuar seu aprendizado do Open Virtualization Formato e do conjunto de ferramentas que dá suporte a suas funções.
Download | Descrição | Nome | Tamanho | Método de download |
|---|
| The Open Virtualization Format Toolkit1 | OVFtoolkit_101m5.zip | 4.2MB | HTTP |
|---|
Nota - Instruções de Instalação: Requer Eclipse 3.4 ou superior, junto com
o EMF Modeling Framework Runtime e Tools Feature Version
2.4.1.
a. Faça o Download do arquivo zipado em um diretório
de sua escolha. b. A partir do seu Eclipse IDE existente vá até Ajuda
> Atualizações de Software. c. Vá até Adicionar Site...
> Archive... para mostrar o arquivo de atualização que foi
baixado. c. Selecione o OVF Editor Standalone Feature e escolha
Instalar.
Recursos Aprender
Obter produtos e tecnologias
Discutir
Sobre os autores  | 
|  | Steve Schmidt é o engenheiro de software sênior trabalhando atualmente no time de Tecnologia e Design Avançado do IBM Software Group no Research Triangle Park, na Carolina do Norte. Trabalha com a IBM por mais de 27 anos e esteve envolvido em muitos aspectos de engenharia da computação, desde sistemas operacionais de mainframes até computadores pessoais e soluções industriais. Recentemente, tem se dedicado a tecnologias de virtualização e as grande possibilidades que possuem. |
 | 
|  | Andrew R. Freed é um Consultor de Engenharia de Software nas instalações da IBM's no Research Triangle Park na Carolina do Norte. Passou os últimos dois anos no time do WebSphere Remote Server, especializando-se em soluções de monitoramento. É autor do WRS Data Provider. |
 | 
|  | Gering Mike é um engenheiro de software sênior do time de Tecnologia e Design Avançado do IBM Software Group no Research Triangle Park, na Carolina do Norte. Trabalha como programador profissional há mais de 30 anos, acompanhando o desaparecimento de cartões ponto e da ascendência do computador pessoal. Seus atuais interesses incluem desenvolvimento impulsionado por modelagem e virtualização. Gosta de encontrar e fazer bons hacks, no sentido tradicional e benevolente da palavra. |
Avalie esta página
|