Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Instalação do vMX no OpenStack

Leia este tópico para entender como instalar uma instância vMX no ambiente OpenStack.

Preparando o ambiente OpenStack para instalar o vMX

Certifique-se de que o arquivo openstackrc seja originado antes de executar quaisquer comandos OpenStack.

Para preparar o ambiente OpenStack para instalar o vMX, execute essas tarefas:

Criação das redes de nêutrons

Você deve criar as redes de nêutrons usadas pelo vMX antes de iniciar a instância vMX. A rede pública é a rede de nêutrons usada para a rede de gerenciamento (fxp0). A rede WAN é a rede de nêutrons na qual a interface WAN para vMX é adicionada.

Para exibir os nomes da rede de nêutrons, use o neutron net-list comando.

Nota:

Você deve identificar e criar o tipo de redes de que precisa em sua configuração OpenStack.

Você pode usar esses comandos como uma forma de criar a rede pública:

  • Por exemplo:

  • Para virtio, você pode usar esses comandos como uma maneira de criar a rede WAN:

    Por exemplo:

  • Para o SR-IOV, você pode usar esses comandos como uma forma de criar a rede WAN:

    Por exemplo:

Preparando o nó do controlador

Preparando o nó do controlador para vMX

Para preparar o nó do controlador:

  1. Configure o nó do controlador para habilitar páginas enormes e afinidade de CPU editando o scheduler_default_filters parâmetro no arquivo /etc/nova/nova.conf . Certifique-se de que os seguintes filtros estão presentes:

    Reinicie o serviço do agendador com este comando.

    • Para a Red Hat: systemctl restart openstack-nova-scheduler.service

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): service nova-scheduler restart

  2. Atualize as cotas padrão.
    Nota:

    Recomendamos esses valores padrão, mas você pode usar valores diferentes se eles forem apropriados para o seu ambiente. Certifique-se de que as cotas padrão tenham recursos alocados suficientes.

    Verifique as mudanças com o nova quota-defaults comando.

  3. Certifique-se de que o pacote de calor seja 5.0.1-6 ou mais tarde. Esse pacote faz parte do rhel-7-server-openstack-8-rpms.

    Verifique a versão usando o rpm -qa | grep heat comando.

    Atualize o pacote de calor com este comando.

    • Para a Red Hat: yum update openstack-heat-engine

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): apt-get install heat-engine

  4. Certifique-se de que o lsb (redhat-lsb-core ou lsb-release) e os pacotes de numactl sejam instalados.
    • Para a Red Hat:

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1):

Configurando o nó do controlador para interfaces virtio

Para configurar as interfaces virtio:

  1. Habilite o driver do mecanismo VLAN adicionando vlan ao type_drivers parâmetro no arquivo /etc/neutron/plugins/ml2/ml2_conf.ini .
  2. Adicione o mapeamento da ponte ao arquivo /etc/neutron/plugins/ml2/ml2_conf.ini adicionando a seguinte linha:

    Por exemplo, use a configuração a seguir para adicionar um mapeamento de ponte para a fisnet1 de rede física mapeada na ponte OVS br-vlan.

  3. Configure as faixas VLAN usadas para a rede física no arquivo /etc/neutron/plugins/ml2/ml2_conf.ini , onde physical-network-name está o nome da rede de nêutrons que você criou para a rede WAN virtio.

    Por exemplo, use a configuração a seguir para configurar as faixas VLAN usadas para a fisnet1 de rede física.

  4. Reinicie o servidor de nêutrons.
    • Para a Red Hat: systemctl restart neutron-server

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): service neutron-server restart

  5. Adicione a ponte OVS mapeada para a rede física e a interface virtio (eth2).

    Por exemplo, use os seguintes comandos para adicionar interface br-vlan e eth2 de ponte OVS:

Configurando o nó do controlador para interfaces SR-IOV

Nota:

Se você tiver mais de uma interface SR-IOV, você precisa de uma interface física de 10G dedicada para cada interface SR-IOV adicional.

Nota:

No modo SRIOV, a comunicação entre o mecanismo de roteamento (RE) e o mecanismo de encaminhamento de pacotes é habilitada usando interfaces virtio em uma rede OVS provedora de VLAN. Por causa disso, uma determinada interface física não pode fazer parte das redes VirtIO e SR-IOV.

Para configurar as interfaces SR-IOV:

  1. Edite o arquivo /etc/neutron/plugins/ml2/ml2_conf.ini para adicionar sriovnicswitch como um driver de mecanismo e as faixas VLAN usadas para a rede física.

    Por exemplo, use a configuração a seguir para configurar as faixas VLAN usadas para a fisnet2 de rede física.

    Se você adicionar mais portas SR-IOV, você deve adicionar a faixa VLAN usada para cada rede física (separada por uma vírgula). Por exemplo, use a seguinte configuração ao configurar duas portas SR-IOV.

  2. Edite o arquivo /etc/neutron/plugins/ml2/ml2_conf_sriov.ini para adicionar detalhes sobre dispositivos PCI.
  3. Adicione o –-config-file /etc/neutron/plugins/ml2/ml2_conf_sriov.ini conforme destacado ao arquivo de servidor neutron.
    • Para a Red Hat:

      Edite o arquivo /usr/lib/systemd/system/neutron-server.service conforme destacado.

      Use o systemctl restart neutron-server comando para reiniciar o serviço.

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1):

      Edite o arquivo /etc/init/neutron-server.conf conforme destacado.

      Use o service neutron-server restart comando para reiniciar o serviço.

  4. Para permitir o agendamento adequado de dispositivos SR-IOV, o agendador de computação deve usar o FilterScheduler com o filtro PciPassthroughFilter.

    Certifique-se de que o filtro PciPassthroughFilter esteja configurado no arquivo /etc/nova/nova.conf no nó do controlador.

    Reinicie o serviço do agendador.

    • Para a Red Hat: systemctl restart openstack-nova-scheduler

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): service nova-scheduler restart

Preparando os nós de computação

Preparando o nó de computação para vMX

Nota:

Você não precisa mais configurar o nó de computação para passar metadados para as instâncias vMX, incluindo o config_drive_format=vfat parâmetro no arquivo /etc/nova/nova.conf .

Para preparar o nó de computação:

  1. Configure cada nó de computação para oferecer suporte a páginas enormes na hora do inicialização e reinicialização.
    • Para Red Hat: adicione a configuração de páginas enormes.

      Use o mount | grep boot comando para determinar o nome do dispositivo de inicialização.

    • Para ubuntu (a partir da versão 17.2R1 do Junos OS): Adicione a configuração de Páginas Enormes a /etc/default/grub sob o GRUB_CMDLINE_LINUX_DEFAULT parâmetro.

    Após a reinicialização, verifique se páginas enormes são alocadas.

    O número de páginas enormes depende da quantidade de memória para o VFP, do tamanho de páginas enormes e do número de instâncias VFP. Para calcular o número de páginas enormes: (memory-for-vfp / huge-pages-size) * number-of-vfp

    Por exemplo, se você executar quatro instâncias vMX (quatro VFPs) em modo de desempenho usando 12G de memória e 2M de tamanho de páginas enormes, então o número de Páginas Enormes conforme calculado pela fórmula é (12G/2M)*4 ou 24576.

    Nota:

    Começando no Junos OS Release 15.1F6 e em versões posteriores, o modo de desempenho é o modo operacional padrão. Para obter detalhes, consulte o modo de ativação de desempenho ou o modo Lite.

    Nota:

    Garanta que você tenha memória física suficiente no nó de computação. Ela deve ser maior do que a quantidade de memória alocada em Páginas Enormes porque quaisquer outros aplicativos que não usam Páginas Enormes são limitados pela quantidade de memória restante após a alocação para Páginas Enormes. Por exemplo, se você alocar 24576 páginas enormes e 2M de tamanho de páginas enormes, você precisa de 24576*2M ou 48G de memória para páginas enormes.

    Você pode usar o vmstat -s comando e olhar para a memória total e os valores de memória usados para verificar quanto de memória resta para outros aplicativos que não usam páginas enormes.

  2. Habilite a IOMMU no arquivo /etc/default/grub . A aplicação da intel_iommu=on seqüência a qualquer texto existente para o GRUB_CMDLINE_LINUX parâmetro.

    Regenerar o arquivo de grub .

    • Para a Red Hat: grub2-mkconfig -o /boot/grub2/grub.cfg

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): update-grub

    Reinicialize o nó de computação.

  3. Adicione uma ponte para a rede Virtio e configure a fisnet1:

    Por exemplo, uma ponte OVS é br-vlan adicionada. (Isso é o mesmo br-vlan que foi adicionado em bridge_mappings em ml2_conf.ini acima no controlador. Veja configuração do nó do controlador para interfaces virtio). Para esta ponte, adicione a interface eth2, que pode ser usada para a comunicação virtio entre VMs.

    In /etc/neutron/plugins/ml2/openvswitch_agent.ini, string de apêndice physnet1:br-vlan :

    Reinicie o serviço de neutron.

    • Redhat:

      systemctl restart neutron-openvswitch-agent.service

      systemctl restart openstack-nova-compute.service

    • Ubuntu

      service nova-compute restart

      service neutron-plugin-openvswitch-agent restart

Configurando o nó de computação para interfaces SR-IOV

Nota:

Se você tiver mais de uma interface SR-IOV, você precisa de uma placa NIC Ethernet física de 10G para cada interface SR-IOV adicional.

Para configurar as interfaces SR-IOV:

  1. Carregue o driver IXGBE modificado.

    Antes de compilar o driver, certifique-se de que o gcc e o make estejam instalados.

    • Para a Red Hat:

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1):

    Descarrege o driver IXGBE padrão, compile o driver Juniper Networks modificado e carregue o driver IXGBE modificado.

    Verifique a versão do driver na interface eth4.

    Por exemplo, na amostra a seguir, o comando exibe a versão do driver (3.19.1):

  2. Crie a função virtual (VF) no dispositivo físico. Atualmente, o vMX oferece suporte a apenas um VF para cada interface SR-IOV (por exemplo, eth4).

    Especifique o número de VFs em cada NIC. A linha a seguir especifica que não há VF para eth2 (primeiro NIC) e um VF para eth4 (segundo NIC com interface SR-IOV).

    Para verificar se o VF foi criado, a saída do ip link show eth4 comando inclui a seguinte linha:

    Para garantir que as interfaces estejam ativas e o tráfego SR-IOV possa passar por elas, execute esses comandos para completar a configuração.

  3. Instale o agente SR-IOV.
    • Para a Red Hat: sudo yum install openstack-neutron-sriov-nic-agent

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): sudo apt-get install neutron-plugin-sriov-agent

  4. Adicione o mapeamento físico do dispositivo ao arquivo /etc/neutron/plugins/ml2/sriov_agent.ini adicionando a seguinte linha:

    Por exemplo, use a configuração a seguir para adicionar um mapeamento de ponte para a fisnet2 de rede física mapeada para a interface SR-IOV eth4.

    Se você adicionar mais portas SR-IOV, você deve adicionar o mapeamento da ponte para cada rede física (separada por uma vírgula). Por exemplo, use a configuração a seguir ao adicionar a interface SR-IOV eth5 para a fisnet3 de rede física.

  5. Edite o arquivo de serviço do agente SR-IOV para adicionar –-config-file /etc/neutron/plugins/ml2/sriov_agent.ini conforme destacado.
    • Para a Red Hat:

      Edite o arquivo /usr/lib/systemd/system/neutron-sriov-nic-agent.service conforme destacado.

      Habilite e inicie o agente SR-IOV.

      Use o systemctl status neutron-sriov-nic-agent.service comando para verificar se o agente começou com sucesso.

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1):

      Edite o arquivo /etc/init/neutron-plugin-sriov-agent.conf conforme destacado.

      Certifique-se de que /etc/neutron/plugins/ml2/sriov_agent.ini tem as permissões corretas e o nêutron é o grupo do arquivo.

      Use o service neutron-plugin-sriov-agent start comando para iniciar o agente SR-IOV.

      Use o service neutron-plugin-sriov-agent status comando para verificar se o agente começou com sucesso.

  6. Edite o arquivo /etc/nova/nova.conf para adicionar a passagem de PCI por meio da entrada de lista de habilitação para o dispositivo SR-IOV.

    Por exemplo, esta entrada adiciona uma entrada para a interface SR-IOV eth4 para a fisnet2 de rede física.

    Se você adicionar mais portas SR-IOV, você deve adicionar a passagem de PCI por meio da entrada de lista de entrada para cada interface SR-IOV (separada por uma vírgula). Por exemplo, use a configuração a seguir ao adicionar a interface SR-IOV eth5 para a fisnet3 de rede física.

    Reinicie o serviço de nó de computação.

    • Para a Red Hat: systemctl restart openstack-nova-compute

    • Para o Ubuntu (começando pelo Junos OS Release 17.2R1): service nova-compute restart

Instalação do vMX

Depois de preparar o ambiente OpenStack, você deve criar novos sabores e olhar imagens para os VMs VCP e VFP. Os scripts criam os sabores e imagens com base nas informações fornecidas no arquivo de configuração da startup.

Configuração do arquivo de configuração vMX

Os parâmetros necessários para configurar o vMX são definidos no arquivo de configuração da startup.

Para configurar o arquivo de configuração:

  1. Baixe o pacote de software vMX KVM na página vMX e descompacte o pacote.

    tar xvf package-name

  2. Altere o diretório para a localização dos arquivos.

    cd package-location/openstack/scripts

  3. Edite o arquivo de texto vmx.conf com um editor de texto para criar os sabores para uma única instância vMX.

    Com base em seus requisitos, garanta que os seguintes parâmetros sejam definidos corretamente no arquivo de configuração vMX:

    • re-flavor-name

    • pfe-flavor-name

    • vcpus

    • memory-mb

    Veja especificando parâmetros de arquivo de configuração vMX para obter informações sobre os parâmetros.

    Exemplo de arquivo de configuração de startup vMX

    Aqui está um arquivo de configuração de startup vMX amostra para OpenStack:

Especificando parâmetros de arquivo de configuração vMX

Os parâmetros necessários para configurar o vMX são definidos no arquivo de configuração de inicialização (scripts/vmx.conf). O arquivo de configuração de startup gera um arquivo usado para criar sabores. Para criar novos sabores com diferentes vcpus ou memory-mb parâmetros, você deve alterar o correspondente re-flavor-name ou pfe-flavor-name parâmetro antes de criar os novos sabores.

Para personalizar a configuração, execute essas tarefas:

Configurando o host

Para configurar o host, navegue até o HOST e especifique os seguintes parâmetros:

  • virtualization-type— Modo de operação; deve ser openstack.

  • compute— (Opcional) Nomes do nó de computação em que executar instâncias vMX em uma lista separada de vírgula. Se esse parâmetro for especificado, ele deve ser um nó de computação válido. Se esse parâmetro for especificado, a instância vMX lançada com sabores só será executada nos nós de computação especificados.

    Se esse parâmetro não for especificado, a saída do comando nova hypervisor-list fornece a lista de nós de computação nos quais executar instâncias vMX.

Configurando o VCP VM

Para configurar o VCP VM, você deve fornecer o nome do sabor.

Nota:

Recomendamos valores exclusivos para o parâmetro porque o re-flavor-name OpenStack pode criar várias entradas com o mesmo nome.

Para configurar o VM VCP, navegue até CONTROL_PLANE e especifique os seguintes parâmetros:

  • re-flavor-name— Nome do novo sabor.

  • vcpus— Número de vCPUs para o VCP; mínimo é 1.

    Nota:

    Se você alterar esse valor, você deve alterar o re-flavor-name valor antes de executar o script para criar sabores.

  • memory-mb— Quantidade de memória para o VCP; o mínimo é de 4 GB.

    Nota:

    Se você alterar esse valor, você deve alterar o re-flavor-name valor antes de executar o script para criar sabores.

Configurando o VFP VM

Para configurar o VFP VM, você deve fornecer o nome do sabor. Com base em seus requisitos, você pode querer alterar a memória e o número de vCPUs. Consulte requisitos mínimos de hardware para requisitos mínimos de hardware.

Para configurar o VFP VM, navegue até FORWARDING_PLANE e especifique os seguintes parâmetros:

  • pfe-flavor-name— Nome do novo sabor.

  • memory-mb— Quantidade de memória para o VFP; o mínimo é de 12 GB (modo de desempenho) e 4 GB (modo lite).

    Nota:

    Se você alterar esse valor, você deve alterar o pfe-flavor-name valor antes de executar o script para criar sabores.

  • vcpus— Número de vCPUs para o VFP; mínimo é 7 (modo de desempenho) e 3 (modo lite).

    Nota:

    Se você especificar menos de 7 vCPUs, o VFP muda automaticamente para o modo lite.

    Nota:

    Se você alterar esse valor, você deve alterar o pfe-flavor-name valor antes de executar o script para criar sabores.

Criação de sabores OpenStack

Para criar sabores para o VCP e o VFP, você deve executar o script no arquivo de configuração de startup vMX (vmx.conf).

Para criar sabores OpenStack:

  1. Execute o vmx_osp_create_flavor.py arquivo de configuração com a startup para gerar o vmx_osp_flavors.sh arquivo que cria sabores.

    ./vmx_osp_create_flavor.py vmx.conf

  2. Execute o vmx_osp_flavors.sh para criar sabores.

    sh vmx_osp_flavors.sh

Instalação de imagens vMX para VCP e VFP

Para instalar as imagens do vMX OpenStack para VCP e VFP, você pode executar o vmx_osp_images.sh script. O script adiciona a imagem VCP no formato qcow2 e o arquivo VFP em formato vmdk.

Para instalar as imagens VCP e VFP:

  1. Baixe o pacote de software vMX KVM na página vMX e descompacte o pacote.

    tar xvf package-name

  2. Verifique a localização das imagens de software do pacote vMX não comprimido. Veja o conteúdo do pacote vMX.

    ls package-location/images

  3. Altere o diretório para a localização dos arquivos de script vMX OpenStack.

    cd package-location/openstack/scripts

  4. Execute o vmx_osp_images.sh script para instalar as imagens de olhar.

    sh vmx_osp_images.sh vcp-image-name vcp-image-location vfp-image-name vfp-image-location

    Nota:

    Você deve especificar os parâmetros nesta ordem.

    • vcp-image-name— Nome da imagem do olhar.

    • vcp-image-location— Caminho absoluto para o arquivo junos-vmx-x86-64*.qcow2 para o lançamento do VCP.

    • vfp-image-name— Nome da imagem do olhar.

    • vfp-image-location— Caminho absoluto para o arquivo vFPC-*.img para o lançamento do VFP.

Por exemplo, este comando instala a imagem VCP como novo teste do arquivo /var/tmp/junos-vmx-x86-64-17.1R1.8.qcow2 e da imagem VFP como fpc-test do arquivo /var/tmp/vFPC-20170117.img .

sh vmx_osp_images.sh re-test /var/tmp/junos-vmx-x86-64-17.1R1.8.qcow2 fpc-test /var/tmp/vFPC-20170117.img

Para ver as imagens de olhar, use o glance image-list comando.

Iniciando uma instância vMX

Para iniciar uma instância vMX, execute essas tarefas:

Modificando a configuração inicial do Junos OS

Quando você inicia a instância vMX, o arquivo de configuração do Junos OS encontrado em package-location/openstack/vmx-components/vms/vmx_baseline.conf é carregado. Se você precisar alterar essa configuração, faça qualquer alteração neste arquivo antes de iniciar o vMX.

Nota:

Se você criar seu próprio vmx_baseline.conf arquivo ou mover o arquivo, certifique-se de que o package-location/openstack/vmx-components/vms/re.yaml faça referências ao caminho correto.

Lançamento da instância vMX

Para criar e iniciar a instância vMX:

  1. Modifique esses parâmetros no package-locationarquivo de ambiente /openstack/1vmx.env para sua configuração. O arquivo de ambiente está no formato YAML a partir do Junos OS Release 17.4R1.
    • net_id1— ID de rede da rede de nêutrons existente usada para a porta WAN. Use o neutron net-list comando para exibir o ID da rede.

    • public_network— ID de rede da rede de nêutrons existente usada para a porta de gerenciamento (fxp0). Use o neutron net-list | grep public comando para exibir o ID da rede.

    • fpc_img— Altere esse parâmetro para linux-img. Nome da imagem de olhar para o VFP; mesmo que o vfp-image-name parâmetro especificado ao executar o script para instalar as imagens vMX.

    • vfp_image— Nome da imagem de olhar para o VFP; mesmo que o vfp-image-name parâmetro especificado ao executar o script para instalar as imagens vMX (aplicável às versões do Junos OS 17.3R1 e anteriores).

    • fpc_flav— Altere esse parâmetro para linux-flav. Nome do novo sabor para o VFP; mesmo que o pfe-flavor-name parâmetro especificado no arquivo de configuração vMX.

    • vfp_flavor— Nome do novo sabor para o VFP; mesmo que o pfe-flavor-name parâmetro especificado no arquivo de configuração vMX (aplicável às versões do Junos OS 17.3R1 e anteriores).

    • junos_flav— Nome do novo sabor para o VCP; mesmo que o re-flavor-name parâmetro especificado no arquivo de configuração vMX.

    • vcp_flavor— Nome do novo sabor para o VCP; mesmo que o re-flavor-name parâmetro especificado no arquivo de configuração vMX (aplicável às versões do Junos OS 17.3R1 e anteriores).

    • junos_img— Nome da imagem de olhar para o VCP; mesmo que o vcp-image-name parâmetro especificado ao executar o script para instalar as imagens vMX.

    • vcp_image— Nome da imagem de olhar para o VCP; mesmo que o vcp-image-name parâmetro especificado ao executar o script para instalar as imagens vMX (aplicáveis às versões junos OS 17.3R1 e anteriores).

    • project_name— Qualquer nome do projeto. Todos os recursos usarão esse nome como prefixo.

    • gateway_ip— Endereço IP do Gateway.

  2. Inicie a instância vMX com o heat stack-create –f 1vmx.yaml –e 1vmx.env vmx-name comando.

    Esta configuração de amostra inicia uma única instância vMX com uma porta WAN e uma FPC.

  3. Verifique se a instância vMX é criada com o heat stack-list | grep vmx-name comando.
  4. Verifique se os VMs VCP e VFP existem com o nova-list comando.
  5. Acesse o VCP ou o VFP VM com o nova get-vnc-console nova-id novnc comando, onde nova-id está o ID da instância exibido na saída de nova-list comando.
Nota:

Você deve desligar a instância vMX antes de reiniciar o servidor de host usando o comando de parada do sistema de solicitação.