Nota: Este é um recurso de Disponibilidade Antecipada (EA) que está disponível apenas para lançamento limitado. Para mais informações, entre em contato com seu representante da Cato Networks ou envie um email para ea@catonetworks.com.
Visão Geral
Este artigo descreve como implantar um vSocket KVM em um host que é gerenciado com o Proxmox Virtual Environment (Proxmox VE). O Proxmox VE usa QEMU/KVM, então o modelo de implantação do vSocket é o mesmo que para um host Linux KVM padrão (libvirt/QEMU): o vSocket é distribuído como uma imagem QCOW2 e inicializado com cloud-init. A diferença está na camada de gerenciamento — você cria e gerencia a VM a partir da interface web do Proxmox, em vez de usar virt-install ou virsh.
Para os requisitos gerais do vSocket KVM, as configurações de user-data do cloud-init e o fluxo de criação de sites no Aplicativo de Gerenciamento Cato (CMA), veja Configurando um Site KVM vSocket.
Estas são as principais etapas para implantar um vSocket KVM no Proxmox VE:
- Crie o site vSocket no CMA e copie o número de série (S/N).
- Baixe a imagem QCOW2 e gere a ISO da semente cloud-init.
- Envie a imagem QCOW2 e a ISO da semente para o armazenamento do Proxmox.
- Crie a VM na interface web do Proxmox com firmware UEFI e dispositivos virtio.
- Adicione a porta serial e as interfaces de rede adicionais à VM.
- Inicie a VM e verifique se o vSocket conecta-se ao CMA.
Preparando para Provisionar o vSocket KVM no Proxmox VE
Estes são os pré-requisitos para preparar a criação do vSocket KVM e conectá-lo ao Cato Cloud:
- Um host Proxmox VE com KVM (virtualização de hardware) ativado e suporte UEFI (OVMF) para convidados.
- O CPU do host Proxmox possui arquitetura classe Haswell ou mais recente.
- A imagem QCOW2 para o vSocket KVM, baixada do repositório Cato Networks.
- Um ISO de seed do cloud-init, gerado com antecedência com o número de série do site (veja Criar o ISO de Seed do Cloud-init).
- Uma ferramenta para gerar a ISO da semente (por exemplo,
mkisofsougenisoimage). - Conectividade à Internet e um serviço DNS público para a interface WAN1 do vSocket.
- Pontes Proxmox (por exemplo,
vmbr0) que conectam as interfaces WAN, LAN e de gerenciamento opcionais às redes relevantes. - Anexar apenas até 4 interfaces de rede (NICs) ao vSocket. Anexar mais de 4 NICs pode resultar em problemas para o vSocket.
Nota: Passagem de NIC de hardware (passagem de PCI) e SR-IOV não são suportados.
Configurações Recomendadas de VM
| Configuração | Valor Recomendado |
|---|---|
| Tipo de Máquina | q35 |
| BIOS / Firmware | OVMF (UEFI), sem disco EFI |
| Tipo de CPU | host (arquitetura classe Haswell ou CPU de host mais recente) |
| vCPU | 2 ou mais |
| Memória | 4096 MB ou mais |
| Disco Primário | Imagem QCOW2 importada, barramento VirtIO Block (8 GB de armazenamento fino) |
| Mídia cloud-init | A ISO da semente, anexada como unidade de CD-ROM |
| Modelo de NIC | VirtIO (paravirtualizado) |
| Contagem de NIC | 2 a 4 interfaces |
Melhores Práticas para Implantar um vSocket KVM no Proxmox VE
- Implante o vSocket diretamente da imagem QCOW2 Cato para evitar problemas de compatibilidade de hardware e garantir que todas as configurações de hardware necessárias sejam aplicadas corretamente.
- Mantenha uma cópia intocada da imagem QCOW2 original e importe uma cópia limpa da imagem para cada VM vSocket. A ISO da semente cloud-init é executada apenas na primeira inicialização. Se a configuração não foi aplicada corretamente, geralmente é mais rápido recriar a VM a partir de uma imagem limpa do que corrigir uma VM parcialmente inicializada.
- Tire um instantâneo Proxmox da VM antes da primeira inicialização, para que você possa reverter para o estado inicial se a configuração de bootstrap não estiver correta.
- Crie uma ISO de semente única, com o número de série do site relevante, para cada VM vSocket (incluindo cada membro de um par HA).
- Use virtio para ambos os dispositivos de rede e disco — não é necessário emulação de NIC.
- Não inicie a VM até que a VM esteja completamente configurada. A ISO da semente cloud-init é lida apenas na primeira inicialização.
Criando o Site KVM vSocket
No CMA, crie um novo site com o tipo de conexão vSocket KVM, e então copie o número de série (S/N) de Configuração do Site > Socket. Você precisa inserir este número de série (incluindo os hífens) no arquivo cloud-init user-data.
Para o procedimento completo, veja Configurando um Site KVM vSocket.
Implantando a VM vSocket no Proxmox VE
Passo 1 – Preparar as Redes do Proxmox
Certifique-se de que o host Proxmox tenha uma bridge Linux para cada interface que você conecte ao vSocket:
- WAN1 – Uma bridge com conectividade com a Internet e acesso a um serviço DNS público (por exemplo,
vmbr0). Esta é uma interface obrigatória. - LAN1 – Uma bridge para o segmento LAN por trás do vSocket. Esta é uma interface obrigatória.
- MGMT (opcional) – Uma bridge para acesso de gerenciamento ao vSocket.
- WAN2 (opcional) – Uma bridge para um segundo link WAN.
Você pode usar uma tag VLAN no dispositivo de rede para separar segmentos LAN que compartilham a mesma bridge.
Para uma implantação HA, as interfaces LAN de ambos os vSockets devem estar no mesmo domínio de broadcast (a mesma ponte e VLAN).
Passo 2 – Criar a ISO de Semente cloud-init
O vSocket KVM é inicializado com cloud-init usando uma ISO de semente NoCloud. Crie um diretório com um arquivo:
TMPDIR=$(mktemp -d)
touch $TMPDIR/user-data
Popule user-data com a configuração do site. O arquivo usa um formato TOML simples (key = value), e comentários são suportados. O número de série é obrigatório; as configurações de rede por interface são opcionais (as interfaces por padrão são DHCP).
# Obrigatório: o número de série do site CMA (Configuração do Site > Socket)
serial = "XXXX-XXXX-XXXX-XXXX"
# Configurações de rede por interface opcionais.
# Repita o bloco [[network]] para cada interface; o nome deve ser único
# e deve corresponder à interface real (WAN1, WAN2, LAN1, ...).
[[network]]
name = "WAN1" # obrigatório
tipo_enderecamento = "Estático" # "Estático" ou "DHCP"
endereço = "192.168.50.201" # obrigatório se Estático
máscara_rede = "255.255.255.0" # obrigatório se Estático
gw_padrão = "192.168.50.1" # obrigatório se Estático
dns_primário = "192.168.50.1" # obrigatório se Estático
dns_secundário = "8.8.4.4" # opcional
# DHCP é o padrão, então este bloco é opcional/redundante.
[[network]]
name = "WAN2"
tipo_enderecamento = "DHCP"
Empacote o arquivo em uma ISO de semente rotulada como cidata:
pushd $TMPDIR
mkisofs -output seed.iso -volid cidata -joliet -rock user-data
popd
Dê à ISO um nome que identifique a VM vSocket que a utiliza (por exemplo, seed-<site-name>.iso), para que você possa selecionar a ISO correta ao criar a VM.
Passo 3 – Enviar os Arquivos para o Armazenamento do Proxmox
- Envie a ISO de semente para o armazenamento de imagens ISO do nó que hospeda a VM (por exemplo, o armazenamento local, na seção Imagens ISO).
- Envie a imagem QCOW2 do vSocket para a seção Importar de um armazenamento no mesmo nó. O armazenamento deve ter o tipo de conteúdo Importar ativado.
Use uma cópia limpa da imagem QCOW2 para cada VM vSocket.
Espaço reservado para captura de tela – enviando a ISO de semente para o armazenamento do Proxmox.
Espaço reservado para captura de tela – enviando ou importando a imagem QCOW2.
Passo 4 – Crie a VM
Na interface web do Proxmox, clique em Criar VM e configure as abas do assistente da seguinte forma.
Para criar a VM vSocket:
-
Na aba Geral, selecione o Nó, e então insira o ID da VM e o Nome para a VM vSocket. Deixe a caixa de seleção Adicionar ao HA desmarcada (veja Implementação de Alta Disponibilidade (HA)).
-
Na aba SO:
- Selecione Usar arquivo de imagem de disco CD/DVD (iso).
- Para Armazenamento e Imagem ISO, selecione a ISO de semente que você criou para este vSocket.
- Para SO Convidado, mantenha os valores padrão (Tipo: Linux, Versão: 6.x - Kernel 2.6).
Espaço reservado para captura de tela – selecionando a ISO de semente cloud-init na aba SO.
-
Na aba Sistema:
- Para BIOS, selecione OVMF (UEFI).
- Desmarque a caixa de seleção Adicionar Disco EFI. A imagem do vSocket não requer um disco EFI.
- Para Máquina, selecione q35.
- Mantenha o Controlador SCSI padrão (VirtIO SCSI single).
Espaço reservado para captura de tela – firmware UEFI selecionado e Disco EFI desmarcado.
-
Na aba Discos:
- Exclua o disco padrão (virtio0).
- Clique em Importar, e então selecione a imagem QCOW2 do vSocket em Selecionar Imagem.
- Para Barramento/Dispositivo, selecione Bloqueio Virtio e selecione o Armazenamento de Destino para o disco.
Espaço reservado para captura de tela – removendo o disco padrão.
Espaço reservado para captura de tela – importando a imagem QCOW2 como o disco da VM.
-
Na aba CPU, configure pelo menos 2 Cores, e selecione host para o Tipo.
Espaço reservado para captura de tela – núcleos de CPU e tipo de CPU do host.
-
Na aba Memória, insira pelo menos 4096 MB.
-
Na aba Rede, configure o primeiro dispositivo de rede (net0). Esta interface é a interface WAN1 do vSocket:
- Para Bridge, selecione a bridge com conectividade à Internet.
- Para Modelo, selecione VirtIO (paravirtualizado).
- Opcionalmente, desmarque a caixa de seleção Firewall.
-
Na aba Confirmar, certifique-se de que Iniciar após criado NÃO está selecionado, e então clique em Concluir.
Importante! Não inicie a VM até que ela esteja completamente configurada. A ISO da semente cloud-init é lida apenas na primeira inicialização.
Passo 5 – Adicionar a Porta Serial e as Interfaces Restantes
Após a VM ser criada, adicione o hardware restante na seção Hardware da VM.
Para completar a configuração de hardware da VM:
- Clique em Adicionar > Porta Serial e adicione a porta serial 0 (
serial0). A porta serial é usada para acesso de console ao vSocket. - Clique em Adicionar > Dispositivo de Rede e adicione a interface LAN1:
- Para Bridge, selecione a bridge LAN.
- Para Modelo, selecione VirtIO (paravirtualizado).
- Opcionalmente, insira uma Tag VLAN para separar segmentos LAN que usam a mesma bridge.
- Repita a etapa anterior para cada interface adicional (gerenciamento ou WAN2), até um total de 4 interfaces.
Os dispositivos de rede são mapeados para as interfaces do vSocket de acordo com sua ordem: net0 é WAN1, net1 é LAN1, e os dispositivos seguintes são as interfaces opcionais.
Espaço reservado para captura de tela – adicionando uma porta serial.
Espaço reservado para captura de tela – adicionando um dispositivo de rede adicional.
Espaço reservado para captura de tela – lista de hardware concluída para a VM vSocket.
Passo 6 – (Recomendado) Tire um Instantâneo
Antes da primeira inicialização, na seção Instantâneos da VM, clique em Tirar Instantâneo e crie um instantâneo do estado inicial (por exemplo, intocada). Se a configuração da primeira inicialização não estiver correta, você pode reverter para este instantâneo em vez de recriar a VM.
Espaço reservado para captura de tela – tirando um instantâneo do estado inicial da VM.
Passo 7 – Inicie a VM
Inicie a VM. Na primeira inicialização, o vSocket lê a configuração da ISO de semente e começa a se registrar na Cato Cloud.
Conectando o vSocket ao CMA
O CMA detecta automaticamente o vSocket e usa o número de série (do cloud-init user-data) para conectá-lo ao site. Para registrar, a interface WAN1 deve ter conectividade com a Internet e acesso a um DNS público para que possa alcançar a Cato Cloud e o CMA.
- Se a WAN1 receber um endereço IP dinâmico via DHCP, o vSocket começa automaticamente a se registrar na Cato Cloud.
- Se o DHCP não estiver disponível, configure um endereço IP estático para WAN1 no
cloud-inituser-data(veja o Passo 2). - Por padrão, a interface WAN2 está desativada e o vSocket usa apenas a WAN1 para registrar.
Para acompanhar o processo de inicialização e o registro, use a seção Console da VM na interface web do Proxmox. O vSocket envia sua saída de inicialização para o console serial, então, para ver essa saída, defina Hardware > Display > Placa de vídeo para Terminal serial 0.
Implantação de Alta Disponibilidade (HA)
O HA se comporta como um par HA físico, usando VRRP entre os dois vSockets KVM. Isso é separado da funcionalidade HA do cluster Proxmox (a opção Adicionar ao HA), que reinicia uma VM em outro nó e não é utilizada para HA do vSocket.
- Implante duas VMs de vSocket, cada uma com sua própria cópia da imagem QCOW2 e seu próprio ISO de semente (cada um com o número de série do socket primário ou secundário).
- As interfaces LAN de ambas as VMs devem estar no mesmo domínio de broadcast (a mesma ponte e tag VLAN) para que o VRRP possa operar. Se as VMs estiverem em diferentes nós do Proxmox, as pontes LAN devem estar conectadas ao mesmo segmento de Camada 2.
- Adicione o socket secundário ao site no CMA. Os dois membros formam o par HA, trocam informações de saúde/estado e falham de acordo com o design do produto HA.
- A saúde e o estado do HA são visíveis no CMA.
Implantando VMs Adicionais de vSocket
Para executar mais de uma VM de vSocket no mesmo host ou cluster Proxmox:
- Importe uma cópia limpa da imagem QCOW2 para cada VM.
- Gere um novo ISO de semente com o número de série do site relevante.
- Use um nome de VM e um ID de VM exclusivos.
- Use pontes LAN separadas ou tags VLAN onde o isolamento for necessário.
Alterando a Configuração da VM do vSocket
Você pode alterar algumas configurações da VM se a nova configuração utilizar valores suportados. Reinicie a VM do vSocket para que as mudanças entrem em vigor.
As seguintes configurações de VM podem ser alteradas:
- CPU
- Memória
- Rede, como adicionar ou remover uma interface de rede
Troubleshooting
A VM inicializa, mas o vSocket não registra
- Verifique se o ISO de inicialização está anexado como CD-ROM.
- Verifique se o ISO contém o arquivo
user-data. - Verifique se o valor
serialcorresponde ao número de série do site no CMA. - Verifique se o WAN1 tem acesso à Internet e acesso a um serviço DNS público.
- Verifique se o primeiro dispositivo de rede (net0) está conectado à ponte WAN pretendida.
Mudanças na configuração do cloud-init são ignoradas
O bootstrap do vSocket é executado apenas na primeira inicialização. Se você alterar o user-data após a inicialização da VM, as mudanças não serão aplicadas ao disco de inicialização existente. Retorne ao instantâneo do estado inicial ou recrie a VM com uma cópia limpa da imagem QCOW2 e um novo ISO de inicialização.
Não há saída do console
- Verifique se a porta serial (
serial0) foi adicionada à VM. - Para ver a saída serial no console da interface web, defina Hardware > Display > Placa gráfica para Terminal serial 0.
A rede não se comporta como esperado
- Verifique a ponte para a qual cada dispositivo de rede está conectado.
- Verifique a ordem dos dispositivos de rede na configuração da VM (net0 é WAN1, net1 é LAN1).
- Verifique se as seções
[[network]]no arquivouser-datausam DHCP ou configurações estáticas conforme pretendido.