Exportar

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 utilitário que será usado para preparar a imagem para upload no PCA.

O método usado depende do hypervisor de origem e da plataforma de gerenciamento. Por exemplo, no Oracle VM ou PCA 2.4, obtenha o arquivo .img para o 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 Oracle VM .img usa o formato de imagem 'bruto do disco'.

Exporte Repositórios de Armazenamento 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 drop-down Perspectiva, selecione Exportações do Repositório.
  2. Clique no ícone +. Na caixa de diálogo Criar Exportação do 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, informe 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 leitura do repositório de armazenamento e você poderá copiar imagens de disco diretamente do diretório VirtualDisks do repositório sem precisar scp-lo em 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 de 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 na 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 nessa pasta a imagem do disco .vdi ou .vmdk para o disco de inicialização da VM e scp para o host do utilitário.

Localizar e Exportar Imagens de Disco 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 do 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 e, em seguida, use o comando tar para extrair o arquivo .vmdk do arquivo .ova e copiá-lo 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 podem levar muito tempo. Isso pode ser muito mais rápido se você usar compactação, especialmente para imagens esparsas de disco.

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 saída de piping para scp:

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

Nós usamos lzop para compactação neste caso porque uma rede rápida está disponível, então a velocidade de compactação foi mais importante do que a taxa de compactaçã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 usando nenhuma compactação, são igualmente válidos e dependem das suas preferências.

Configurar o Host do Utilitário

Crie um host do 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 no formato padrão aberto qcow2 usado pelo hypervisor PCA.

Observação:

É recomendável, 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 metadados da imagem. Isso garante que os metadados corretos da 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:

    Esta 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 de arquivo real do 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
    • use -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%).

    É recomendável, 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. Você pode conseguir reduzir o tamanho da imagem do 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 esparsa 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ê precise também 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 do 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 da 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 de Exemplo image_metadata.json

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"
}