Como resolver o erro No more available PCI slots reportado pelo agente da arquitetura do braço cloudstack

Quando o agente CloudStack para a arquitetura ARM relata o erro "No more available PCI slots", isso geralmente significa que a instância ARM esgotou os slots PCI disponíveis. Os slots PCI são usados ​​para conectar placas de interface de rede (NICs) e outros dispositivos de expansão a instâncias de máquinas virtuais.

A forma de resolver este problema pode considerar os seguintes pontos:

  1. Ajuste o tamanho da instância: tente usar um tamanho de instância com mais slots PCI disponíveis. Alguns tipos de instância ARM podem ter mais slots PCI do que outros. Você pode verificar a documentação do provedor de serviços de nuvem ao selecionar uma instância para saber mais sobre as diferenças entre as diferentes especificações de instância.

  2. Reduzir o uso de dispositivos PCI: verifique o número de dispositivos PCI conectados na instância da máquina virtual. Se você tiver um grande número de NICs ou outros dispositivos PCI conectados, tente reduzir seu número ou encontre uma alternativa. Isso libera mais slots PCI disponíveis para outros dispositivos.

  3. Use a tecnologia de virtualização: considere usar a tecnologia de virtualização para emular dispositivos PCI, como usar dispositivos de rede virtio em vez de NICs físicos reais. Isso reduz a necessidade de slots PCI reais.

  4. Entrando em contato com o provedor de serviços de nuvem: se os métodos acima não resolverem o problema, é recomendável entrar em contato com a equipe de suporte do provedor de serviços de nuvem. Eles podem fornecer soluções mais específicas ou ajustar seu ambiente de nuvem para atender às suas necessidades.

Deve-se observar que as soluções específicas podem variar dependendo dos provedores de serviços em nuvem e das especificações da instância ARM. Portanto, é melhor consultar a equipe de suporte do provedor de serviços de nuvem para obter orientações precisas para sua situação específica.

Como o cloudstack de arquitetura de braço define mais slots PCI?

No CloudStack baseado na arquitetura ARM, o número de slots PCI é determinado pelo design de hardware da instância, portanto, mais slots PCI não podem ser definidos diretamente por meio de arquivos ou parâmetros de configuração. Isso ocorre porque diferentes tipos de instância ARM têm diferentes limitações e projetos de hardware, incluindo o número de slots PCI.

Se sua instância ARM tiver um número limitado de slots PCI e não puder atender às suas necessidades, considere os seguintes métodos:

  1. Alterar o tipo de instância: primeiro, tente usar um tipo de instância ARM diferente que ofereça mais slots PCI. Diferentes provedores de serviços de nuvem e tipos de instância podem oferecer diferentes números de slots PCI, e você pode consultar a documentação do provedor ou entrar em contato com sua equipe de suporte para obter as opções disponíveis.

  2. Usar passagem PCI: algumas instâncias ARM podem oferecer suporte ao recurso passagem PCI, que possibilita atribuir dispositivos PCI físicos diretamente a instâncias de máquina virtual sem ocupar os slots PCI do host. Você pode descobrir se seu provedor oferece suporte a esse recurso e configurar adequadamente em sua instância ARM.

No CloudStack da arquitetura x86_64, mais slots PCI podem ser definidos pelas seguintes etapas:

  1. Primeiro, certifique-se de que seu host físico suporte slots PCI suficientes. Verifique as especificações do host físico e as informações de configuração de hardware para garantir que haja slots PCI suficientes disponíveis.

  2. Configure o modo de alocação do dispositivo PCI do host. No CloudStack, você pode optar por usar passagem PCI ou SR-IOV (Single Root I/O Virtualization) para atribuir dispositivos PCI a máquinas virtuais. Esses métodos podem atribuir dispositivos PCI físicos diretamente a máquinas virtuais sem conectá-los por meio de slots PCI.

  • Para passagem de PCI: Você precisa habilitar a função de passagem de PCI no host e vincular o dispositivo PCI físico à máquina virtual. Desta forma, a máquina virtual pode acessar e usar diretamente o dispositivo PCI atribuído a ela.

  • Para SR-IOV: Você precisa configurar adaptadores de rede físicos para suportar SR-IOV e ativar a funcionalidade SR-IOV no CloudStack. Você pode então associar uma máquina virtual a um adaptador de rede SR-IOV, permitindo que a máquina virtual use recursos SR-IOV e acesse dispositivos PCI.

  1. Crie ou ajuste um modelo de máquina virtual. No CloudStack, você pode criar ou modificar modelos de máquina virtual para especificar a configuração de dispositivo PCI desejada. No modelo, você pode definir o tipo e o número de dispositivos PCI exigidos pela máquina virtual. Certifique-se de especificar os dispositivos PCI necessários para cada máquina virtual.

  2. Selecione o modelo apropriado ao criar uma instância de máquina virtual. Ao criar uma instância de máquina virtual, selecione o modelo que contém a configuração de dispositivo PCI desejada. O CloudStack atribuirá automaticamente os slots PCI correspondentes às máquinas virtuais de acordo com a configuração do dispositivo PCI definida no modelo.

Cloudstack usa gerenciamento KVM sob a arquitetura ARM, como aumentar o número de slots PCI do roteador virtual?

No CloudStack, para um roteador virtual gerenciado por KVM sob a arquitetura ARM, aumentar o número de slots PCI requer as seguintes etapas e configurações:

Configure o Hipervisor KVM:

Certifique-se de que seu hipervisor KVM esteja instalado e configurado corretamente na arquitetura ARM.
Habilite o recurso PCI Passthrough no KVM Hypervisor para permitir que o roteador virtual acesse dispositivos PCI físicos. Você pode editar o arquivo de configuração de inicialização do KVM (/etc/default/qemu-kvm) e certificar-se de que os parâmetros KVM_HUGEPAGES e KVM_CPU_MODE estejam ativados.
Modifique a configuração do Libvirt:

Abra e edite o arquivo /etc/libvirt/qemu.conf.
Remova o comentário e defina nvram como /usr/share/OVMF/OVMF_CODE.fd. Isso permite que o firmware UEFI suporte a alocação de largura de banda para dispositivos PCI.
Salve e feche o arquivo.
Reinicie os serviços Libvirt e KVM:

Reinicie o serviço Libvirt para que a atualização de configuração entre em vigor, você pode usar o seguinte comando: sudo service libvirt-bin restart.
Antes de reinicializar, certifique-se de ter backups adequados e suporte a transações caso alguma alteração na configuração cause problemas.
Atualize a configuração do roteador virtual CloudStack:

Cloudstack usa gerenciamento KVM sob a arquitetura X86_64, como aumentar o número de slots PCI do roteador virtual?


No CloudStack, um roteador virtual gerenciado por KVM sob a arquitetura X86_64, se você precisar aumentar o número de slots PCI, siga os passos abaixo para configurar:

Configure o Hipervisor KVM:

Certifique-se de que seu hipervisor KVM esteja instalado e configurado corretamente na arquitetura X86_64.
Habilite o recurso PCI Passthrough no KVM Hypervisor para permitir que o roteador virtual acesse dispositivos PCI físicos. Você pode fazer isso definindo os parâmetros KVM_HUGEPAGES e KVM_CPU_MODE no arquivo de configuração de inicialização KVM (por exemplo, /etc/default/qemu-kvm).
Modifique a configuração do Libvirt:

Abra e edite o arquivo /etc/libvirt/qemu.conf.
Remova o comentário e defina nvram como /usr/share/OVMF/OVMF_CODE.fd. Isso permitirá que o firmware UEFI suporte a alocação de largura de banda para dispositivos PCI.
Salve e feche o arquivo.
Reinicie os serviços Libvirt e KVM:

Reinicie o serviço Libvirt para que as alterações de configuração entrem em vigor, você pode usar os seguintes comandos: sudo service libvirtd restart ou sudo systemctl restart libvirtd.
Antes de reiniciar, certifique-se de ter backups e suporte a transações para o caso de qualquer alteração na configuração causar problemas.
Atualize a configuração do roteador virtual CloudStack:

おすすめ

転載: blog.csdn.net/qq_29752857/article/details/131952029