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 a 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 qualquer comando 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 do OpenStack.

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

  • Por exemplo:

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

    Por exemplo:

  • Para o SR-IOV, você pode usar esses comandos como uma única maneira 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 estejam presentes:

    Reinicie o serviço do agendador com este comando.

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

    • Para Ubuntu (a partir do 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 posterior. Este 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 Red Hat: yum update openstack-heat-engine

    • Para Ubuntu (a partir do 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 numactl estejam instalados.
    • Para Red Hat:

    • Para Ubuntu (a partir do 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 de 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 Red Hat: systemctl restart neutron-server

    • Para Ubuntu (a partir do Junos OS Release 17.2R1): service neutron-server restart

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

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

Configuração do nó do controlador para interfaces SR-IOV

Nota:

Se você tem mais de uma interface SR-IOV, você precisa de uma interface de 10G física 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 gama VLAN usada para cada rede física (separada por uma vírgula). Por exemplo, use a configuração a seguir 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 de nêutrons.
    • Para 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 Ubuntu (a partir do 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 Red Hat: systemctl restart openstack-nova-scheduler

    • Para Ubuntu (a partir do 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 do Junos OS Release 17.2R1): 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 estã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) no modo de desempenho usando 12G de memória e 2M de páginas enormes, então o número de páginas enormes calculadas 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 mais informações, veja Ativar o modo 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 para páginas enormes, pois 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 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 analisar a memória total e os valores de memória usados para verificar a quantidade de memória deixada para outros aplicativos que não usam páginas enormes.

  2. Habilite o IOMMU no /etc/default/grub file. Aplique a intel_iommu=on seqüência a qualquer texto existente para o GRUB_CMDLINE_LINUX parâmetro.

    Regenerar o arquivo grub .

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

    • Para Ubuntu (a partir do 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. (Este é o mesmo br-vlan que foi adicionado em bridge_mappings em ml2_conf.ini acima no controlador. Para esta ponte, adicione a interface eth2, que pode ser usada para a comunicação da Virtio entre VMs.

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

    Reinicie o serviço de nêutrons.

    • 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ê tem mais de uma interface SR-IOV, você precisa de uma placa Ethernet NIC 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 a make estejam instalados.

    • Para Red Hat:

    • Para Ubuntu (a partir do Junos OS Release 17.2R1):

    Descarreque o driver IXGBE padrão, compile o driver modificado da Juniper Networks 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 concluir a configuração.

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

    • Para Ubuntu (a partir do 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 na interface SR-IOV eth4.

    Se você adicionar mais portas SR-IOV, você deve adicionar o mapeamento de 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 fisnet de rede física3.

  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 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 Ubuntu (a partir do 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 a nêutrons é 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 para o dispositivo SR-IOV.

    Por exemplo, essa 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 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 fisnet de rede física3.

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

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

    • Para Ubuntu (a partir do 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 de inicialização.

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, certifique-se de 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.

    Arquivo de configuração de startup vMX

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

Especificação dos parâmetros do arquivo de configuração vMX

Os parâmetros necessários para configurar o vMX são definidos no arquivo de configuração de startup (scripts/vmx.conf). O arquivo de configuração de startup gera um arquivo que é 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:

Configuração do 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— Nomes (opcionais) do nó de computação em que executar instâncias vMX em uma lista separada de vírgula. Se este parâmetro for especificado, 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 novo comando da lista de hipervisores fornece a lista de nós de computação nos quais executar instâncias vMX.

Configurando o VM VCP

Para configurar o VM VCP, 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; 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.

Configuração do 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. Veja os requisitos mínimos de hardware para requisitos mínimos de hardware.

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

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

  • memory-mb— Quantidade de memória para o VFP; 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 os sabores do 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 o VCP e VFP

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

Para instalar as imagens de 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 compactado. 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 de VCP como novo teste do arquivo /var/tmp/junos-vmx-x86-64-17.1R1.8.8.qcow2 e da imagem de 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 visão, use o glance image-list comando.

Iniciando uma instância vMX

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

Modificação da 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 os package-location/openstack/vmx-components/vms/re.yaml façam referência ao caminho correto.

Lançamento da instância vMX

Para criar e iniciar a instância vMX:

  1. Modifique esses parâmetros no arquivo depackage-location 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 a 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 a 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 do 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 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 Junos OS 17.3R1 e anteriores).

    • junos_img— Nome da imagem do 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 do olhar para o VCP; mesmo que o vcp-image-name parâmetro especificado ao executar o script para instalar as imagens vMX (aplicável à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 foi criada com o heat stack-list | grep vmx-name comando.
  4. Verifique se as 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á a ID da instância exibida na nova-list saída de comando.
Nota:

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