Exportação

Exporte todos os dados da carga de trabalho (armazenamento, imagens, arquivos) para um host externo, configure o host do utilitário e transforme o disco de inicialização.

Exportar disco de inicialização

Copie o disco de inicialização do ambiente de origem para um servidor de utilitários que será usado para preparar a imagem para upload para o PCA.

O método usado depende do hipervisor de origem e da plataforma de gerenciamento. Por exemplo, no Oracle VM ou PCA 2.4, obtenha o arquivo .img do disco de inicialização copiando-o do repositório de armazenamento mostrado no arquivo vm.cfg da VM. Execute o comando no nó de computação ou no Oracle VM Server (OVS). Por exemplo:

cd /OVS/Repositories/0004fb00000300007b2cd14ca0d48e8b/VirtualDisks
scp 0004fb0000120000fcd80512881d4979.img
utilityhost:/data/0004fb0000120000fcd80512881d4979.raw

Neste exemplo, o arquivo de saída é renomeado com a extensão de arquivo .raw, uma alteração opcional que indica que o arquivo .img do Oracle VM usa o formato de imagem 'disco bruto'.

Exportar Repositórios de Armazenamento do Private Cloud Appliance 2.x

Você tem algumas opções para exportar repositórios de armazenamento de implantações do Private Cloud Appliance 2.x.

No Private Cloud Appliance 2.4, os repositórios de armazenamento são montados nos nós de computação, que por padrão estão nas redes privadas do PCA e não têm uma conexão de rede pré-configurada com o data center. Nesse caso:

  • Você pode scp o arquivo .img para um dos dois nós de gerenciamento.
  • Ou crie uma exportação de repositório do Oracle VM somente para leitura para os nós de gerenciamento e, em seguida, scp para um host externo.

As etapas a seguir são extraídas do Guia de Backup do Oracle Private Cloud Appliance. Esse processo pode ser usado para exportar em massa todas as VMs em um repositório de armazenamento do Oracle VM:

  1. No Oracle VM Manager, selecione a guia Servidores e VMs. Em Pools de Servidores, expanda o nome do pool de servidores para mostrar os nomes dos servidores e selecione um dos servidores. No painel de gerenciamento, na lista suspensa Perspectiva, selecione Exportações de Repositório.
  2. Clique no ícone + Na caixa de diálogo Criar Exportação de Repositório, selecione o repositório a ser exportado. Informe o endereço IP ou o nome do host que montará o compartilhamento NFS, que é o endereço de um dos nós de gerenciamento. No campo Opções, digite as opções ro,no_root_squash para garantir uma montagem somente leitura que torne todos os arquivos do repositório visíveis.
  3. Clique em OK e localize a exportação na lista de Exportações do Repositório.
  4. Copie o valor na coluna Caminho do Repositório e emita um comando de montagem usando o nó de computação selecionado como o servidor NFS. O nó de gerenciamento terá uma view somente para leitura do repositório de armazenamento e você poderá copiar imagens de disco diretamente do diretório VirtualDisks do repositório sem precisar scp de um nó de computação primeiro. Por exemplo:
    # mount 192.168.4.5:/OVS/Repositories/0004fb0000030000cc1d0d9dfba208d0/ /mnt
    # ls -la /mnt
    total 2077 
    drwxr-xr-x   8 root root  3896 Aug 10  2019 .
    dr-xr-xr-x. 22 root root  4096 Jan  5 20:10 ..
    drwx------   9 root root  3896 Jan 24 14:10 Assemblies
    drwx------   2 root root  3896 Dec  9 14:23 ISOs
    drwxr-xr-x   2 root root  3896 Aug  8  2019 lost+found
    -rw-------   1 root root 15014 Mar  9 11:48 .ovsmeta
    -rw-------   1 root root   151 Sep 10  2020 .ovsrepo
    drwx------  11 root root  3896 Nov 25 16:12 Templates
    drwx------   2 root root  8192 Mar  9 11:48 VirtualDisks
    drwx------  53 root root  3896 Mar  9 11:48 VirtualMachines

    Você pode otimizar as opções de montagem. Por exemplo:

    mount -o ro,bg,hard,rsize=524288,wsize=524288,nfsvers=3,tcp 192.168.4.5:/OVS/Repositories/0004fb0000030000cc1d0d9dfba208d0 /mnt

Localizar e Exportar Imagens de Disco da VM VirtualBox

O Oracle VM VirtualBox geralmente armazena imagens de disco no diretório VirtualBox VMs em um subdiretório com o mesmo nome da VM.

  1. As informações da VM da interface do usuário fornecem o caminho completo:
    $ vboxmanage showvminfo "Solaris 11.4"|more
    Name: Solaris 11.4
    Groups: /
    Guest OS: Oracle Solaris 11 (64-bit)
    UUID: 3a4ce795-d6b1-44f8-a16b-8b7fb0fbb4a8
    Config file: /Users/jeff/VirtualBox VMs/Solaris 11.4/Solaris 11.4.vbox
    Snapshot folder: /Users/jeff/VirtualBox VMs/Solaris 11.4/Snapshots
    Log folder: /Users/jeff/VirtualBox VMs/Solaris 11.4/Logs
  2. Procure dentro dessa pasta a imagem de disco .vdi ou .vmdk do disco de inicialização da VM e scp do host do utilitário.

Localizar e Exportar Imagens de Disco de KVM

As imagens de disco de máquina virtual podem ser localizadas emitindo o comando mostrado abaixo:

  1. Listar imagens de disco:
    $ virsh vol-list default
    Name Path
    ------------------------------------------------------------------------------
    guest-ol8-minimal-serial.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8-minimalserial.qcow2
    guest-ol8-minimal.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8-minimal.qcow2
    guest-ol8.qcow2 /home/admin/.local/share/libvirt/images/guest-ol8.qcow2
    guest-ovsx54-ol7.qcow2 /home/admin/.local/share/libvirt/images/guest-ovsx54-ol7.qcow2 
    juniper-kvm-ol7.qcow2 /home/admin/.local/share/libvirt/images/juniper-kvm-ol7.qcow2
  2. Localize a imagem de disco da VM que você deseja exportar para o Private Cloud Appliance e scp para o host do utilitário.

Localizar e Exportar Imagens de Disco VMware

As imagens VMware podem ser exportadas para um "appliance virtual", que na verdade é um arquivo tar que contém a imagem do disco.

Use um procedimento semelhante para obter o appliance virtual, use o comando tar para extrair o arquivo .vmdk do arquivo .ova e copie-o para o host do utilitário.

Acelere a Exportação Compactando Arquivos de Imagem de Disco

Os arquivos de imagem de disco são grandes e copiá-los para outros hosts pode levar muito tempo. Isso pode ser muito mais rápido se você usar compactação, especialmente para imagens de disco esparso.

Opcionalmente, você pode compactar o arquivo de imagem de disco usando um comando como gzip ou lzop para reduzir o tempo de cópia para o host do utilitário. Por exemplo, usando lzop e fazendo piping da saída para scp:

lzop -1 < 0004fb0000120000fcd80512881d4979.img | ssh utilityhost 'lzop -d > /data/0004fb0000120000fcd80512881d4979.raw' 

Nós usamos lzop para compressão neste caso porque uma rede rápida está disponível, então a velocidade de compressão foi mais importante do que a taxa de compressão. Se você tiver uma rede mais lenta, poderá optar por outra abordagem, como usar gzip ou bzip2:

gzip 0004fb00001200008190ce0329fdacdf.img
scp 0004fb00001200008190ce0329fdacdf.img.gz utilityhost:/data/

Todos esses métodos, ou sem compressão, são igualmente válidos e dependem de suas preferências.

Configurar o Host do Utilitário

Crie um host de utilitário que execute o Oracle Linux. Pode ser uma máquina virtual ou uma instância bare metal.

Prepare o host do utilitário instalando a CLI do OCI. Consulte a seção 1.2 do Guia do Usuário do Oracle Private Cloud Appliance para obter instruções.

Use os comandos a seguir para instalar qemu-img e virt-sparsify. Este exemplo pressupõe um host do Oracle Linux 7:

$ sudo yum upgrade 
$ sudo yum-config-manager --enable ol7_kvm_utils 
$ sudo yum install qemu-img libguestfs-tools

Transformar disco de inicialização

Talvez seja necessário converter o disco de inicialização para o formato qcow2 padrão aberto usado pelo hipervisor do PCA.

Observação:

Recomenda-se, mas não estritamente necessário, converter imagens de disco já no formato vmdk ou qcow2 e empacotá-las em um arquivo .oci. O arquivo .oci inclui a imagem do disco no formato qcow2 e os metadados da imagem. Isso garante que os metadados corretos para a imagem sejam fornecidos com o conteúdo do disco.
  1. Você converte o disco de inicialização no host do utilitário que tem acesso à CLI do OCI, ao comando qemu-img e a outros utilitários opcionais.
  2. Processe o disco de inicialização no disco de inicialização que está sendo preparado para PCA. Esta é uma etapa necessária para imagens de disco do Oracle VM no Exalogic ou PCA 2.x.

    Observação:

    Essa etapa é opcional para imagens de disco no formato .vmdk (VMware ou Oracle VirtualBox). Os arquivos no formato qcow2 do KVM não precisam ser convertidos.
  3. No nó do utilitário, digite um comando como o seguinte, substituindo o nome do arquivo real pelo arquivo de imagem do disco:
    $ qemu-img convert -f raw -O qcow2 0004fb0000120000fcd80512881d4979.raw output.QCOW2
    $ qemu-img convert -f vdi -O qcow2 ol8.vdi output.QCOW
    $ qemu-img convert -f vmdk -O qcow2 myVMwareVM.vmdk output.QCOW2
    • Use -f raw para discos virtuais do Oracle VM e PCA 2.x
    • use -f vdi para arquivos .vdi do Oracle VM VirtualBox
    • usar -f vmdk para imagens .vmdk provenientes de VMware

    Observação:

    1. Você deve nomear o arquivo de saída output.QCOW2.
    2. O comando qemu-img pode levar um tempo substancial para ser executado, dependendo do tamanho do arquivo de imagem e da velocidade do sistema. Você pode usar o flag "-p" para mostrar o andamento exibido como uma porcentagem no formato (nn.nn/100%).

    É recomendado, mas não é necessário, converter uma imagem .vmdk porque o Private Cloud Appliance pode usar esse tipo de arquivo. Consulte a seção Migrar mais adiante nesta solução.

  4. Talvez você consiga reduzir o tamanho da imagem de disco usando a ferramenta virt-sparsify. Esta ferramenta funciona em muitos sistemas de arquivos: ext2/3/4. xfs, btrfs, NTFS, LVM. e reduz o tamanho da imagem de disco esparso eliminando blocos de disco não pertencentes a um arquivo. A quantidade de redução varia com base no conteúdo da imagem do disco antes da exportação. Dependendo do seu ambiente de utilitário, talvez você também precise emitir export LIBGUESTFS_BACKEND=direct antes de executar o comando:
    $ virt-sparsify --in-place output.QCOW2 

Preparar o Tipo de Arquivo do OCI para Importação

A imagem do Private Cloud Appliance X9-2 e as imagens do OCI usam o tipo de arquivo .oci, que tem dois componentes:

  • Um arquivo image_metadata.json que descreve a imagem no formato JSON e a imagem de disco real chamada output.QCOW2 que você criou.
  • O arquivo image_metadata.json descreve as configurações da imagem (BIOS vs. UEFI, como os dispositivos virtuais são implementados) e qual sistema operacional ele executa.

Selecione a versão BIOS ou UEFI com base na origem e altere a descrição do sistema operacional.

As imagens do Oracle Exalogic estarão no modo BIOS.

$ tar zcf MyImage.oci image_metadata.json output.QCOW2

Arquivos image_metadata.json de Exemplo

Use este arquivo image_metadata.json de exemplo incluído em um pacote .oci para upload.

Revise as seguintes versões do arquivo de metadados BIOS e UEFI e use o que for relevante. Defina a versão do BIOS ou UEFI conforme determinado pelos valores do ambiente de origem para operatingSystem e operatingSystemVersion com base na imagem importada.

Imagens da BIOS


{
   "version": 2,
   "externalLaunchOptions": {
       "firmware": "BIOS",
       "networkType": "PARAVIRTUALIZED",
       "bootVolumeType": "PARAVIRTUALIZED",
       "remoteDataVolumeType": "PARAVIRTUALIZED",
       "localDataVolumeType": "PARAVIRTUALIZED",
       "launchOptionsSource": "CUSTOM",
       "pvAttachmentVersion": 1,
       "pvEncryptionInTransitEnabled": false,
       "consistentVolumeNamingEnabled": false
    },
    "imageCapabilityData": null,
    "imageCapsFormatVersion": null,
    "operatingSystem": "Oracle Linux",
    "operatingSystemVersion": "8.5"
}

Imagens UEFI


{
    "version": 2,
    "externalLaunchOptions": {
        "firmware": "UEFI_64",
        "networkType": "PARAVIRTUALIZED",
        "bootVolumeType": "PARAVIRTUALIZED",
        "remoteDataVolumeType": "PARAVIRTUALIZED",
        "localDataVolumeType": "PARAVIRTUALIZED",
        "launchOptionsSource": "CUSTOM",
        "pvAttachmentVersion": 1,
        "pvEncryptionInTransitEnabled": false,
        "consistentVolumeNamingEnabled": false
     },
     "imageCapabilityData": null,
     "imageCapsFormatVersion": null,
     "operatingSystem": "Oracle Linux",
     "operatingSystemVersion": "7.9"
}