-
O que é Passagem Direta de Disco?
-
Tipos de Passagem Direta de Disco
-
Casos de Uso Comuns
-
Método 1: Mapear uma única unidade de disco rígido via passagem de comando
-
Método 2: Adicionar um dispositivo PCI, passagem direta de um controlador SATA
-
O backup de VM Proxmox é essencial
-
Conclusão
O Proxmox VE é uma plataforma poderosa e de código aberto para virtualização que suporta máquinas virtuais baseadas em KVM e contêineres Linux. Um dos recursos que torna o Proxmox altamente flexível para usuários avançados é a passagem direta de disco, permitindo acesso direto a discos físicos a partir de uma máquina virtual. Este recurso é essencial para certos casos de uso, como executar aplicações intensivas em armazenamento, usar ZFS nativamente ou passar controladores RAID de hardware para sistemas convidados.
O que é Passagem Direta de Disco?
A passagem direta de disco é uma técnica que permite que uma máquina virtual no Proxmox acesse diretamente um dispositivo de armazenamento físico, ignorando a pilha de armazenamento do host. Em contraste com as imagens de disco virtuais tradicionais armazenadas no sistema de arquivos do host, a passagem direta de disco concede à VM acesso exclusivo a um disco físico, o que oferece várias vantagens, incluindo redução da sobrecarga de I/O e funcionalidade nativa de hardware dentro da VM.
Tipos de Passagem Direta de Disco
1. Passagem Direta de Disco Inteiro: O disco físico inteiro é passado diretamente para a máquina virtual, sem quaisquer camadas intermediárias. Isso dá à máquina virtual controle total sobre o disco, o que é útil para ZFS, configurações RAID ou ao executar aplicações de armazenamento especializadas.
2. Passagem de Partição: Em vez de passar o disco inteiro, você pode passar apenas uma partição específica para a máquina virtual. Isso permite um controle mais granular caso você não deseje dedicar todo o disco.
3. Passagem de Controlador de Hardware: Para configurações que envolvem placas RAID de hardware ou controladores especializados, passar todo o controlador de armazenamento para a máquina virtual garante que ela possa gerenciar nativamente todos os discos conectados ao controlador.
Casos de Uso Comuns
ZFS Dentro de uma VM: ZFS é um sistema de arquivos popular que inclui recursos como instantâneos e funcionalidades semelhantes a RAID. Passar discos físicos para a VM permite que o ZFS controle diretamente os discos, proporcionando melhor desempenho e habilitando recursos avançados, como verificações de integridade de dados.
VMs conectadas ao armazenamento: Para sistemas como NAS, destinos iSCSI ou outras aplicações intensivas em disco, a passagem direta de disco garante que os gargalos de desempenho normalmente causados por camadas de virtualização sejam minimizados.
RAID de hardware: Se o seu servidor usar controladores RAID de hardware, passá-los adiante garante que sua máquina virtual tenha acesso completo às configurações RAID sem depender de emulação por software.
Existem duas maneiras de passar discos rígidos no Proxmox VE:
Método 1: Mapear uma unidade de disco rígido única via passagem direta por comando;
Método 2: Adicionar um dispositivo PCI, passar por um controlador SATA.
Método 1: Mapear uma única unidade de disco rígido via passagem de comando
Acesse o SSH do sistema Proxmox VE ou entre diretamente no Shell web de gerenciamento do PVE.
1. Verifique o ID do disco
ls -l /dev/disk/by-id/
Nota: “ata, mmc”, etc., indicam o método de interface. Os tipos comuns incluem ATA, SATA, SCSI, NVME, eMMC e SASI. As interfaces IDE e SATA geralmente são identificadas como "ata", enquanto as interfaces SCSI e SAS são identificadas como "scsi".
2. Importar a máquina virtual
qm set <vm_id> –<disk_type>[n] /dev/disk/by-id/<type>-$brand-$model_$serial_number
<disk_type>[n]: O tipo de barramento e seu número para o disco importado. Os tipos de barramento podem ser IDE, SATA, VirtIO Block ou SCSI, com numeração iniciada em 0. O valor máximo depende do tipo de interface de barramento: IDE é 3, SATA é 5, VirtIO Block é 15 e SCSI é 13.
/dev/disk/by-id/-brand-brand−model_$serial_number: O caminho e nome específicos do ID do disco.
Por exemplo, com os dados do disco "ata-ST4000VX000-2AG166_ZGY163KG", este disco será passado para a máquina virtual com ID 102, e a interface do tipo de barramento é sata2 (configure o número do barramento de acordo com a máquina virtual PVE).
qm set 102 -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG
As informações de devolução serão exibidas:
update VM 102: -sata2 /dev/disk/by-id/ata-ST4000VX000-2AG166_ZGY163KG
Isso indica que a passagem foi bem-sucedida.
Método 2: Adicionar um dispositivo PCI, passagem direta de um controlador SATA
Ao realizar a passagem direta de um controlador SATA no Proxmox VE, todo o barramento SATA será passado diretamente, o que significa que o barramento SATA conectado à ponte sul ou à ponte norte é transferido diretamente. Em algumas placas-mãe, isso resultará na passagem direta de todas as interfaces SATA.
Observação: Se o seu sistema PVE estiver instalado em um disco rígido SATA, isso poderá fazer com que o sistema PVE não inicie. Portanto, antes de passar pelo Controlador SATA, confirme a localização de instalação do sistema PVE ou instale o sistema diretamente em uma unidade NVMe.
Antes de iniciar, certifique-se de que a função de passagem direta de hardware IOMMU está habilitada, depois prossiga com a adição do Controlador SATA.
1. Confirme se a CPU da sua placa-mãe suporta Vt-d
Se não tiver, você não poderá realizar a passagem direta. A Intel exige pelo menos o chipset B75 para suportá-la. Em outras palavras, os processadores Intel Core da 4ª geração em diante suportam esse recurso. VT-D é para virtualização de I/O, não VT-X.
Muitos iniciantes pensam erroneamente que habilitar a virtualização na placa-mãe é suficiente para passagem direta, mas não é. O VT-D deve ser habilitado para virtualização de E/S. Na plataforma AMD, é chamado IOMMU e em algumas placas-mãe OEM, é chamado SRIOV. Por favor, tome nota.
2. Ativar IOMMU
Edite o arquivo grub. Não o modifique cegamente. Configure-o de acordo com o seu ambiente.
vi /etc/default/grub
Encontre esta linha:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
Se estiver usando uma CPU Intel, modifique para:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"
Se estiver a utilizar uma CPU AMD, modifique para:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt"
Se for necessário passagem direta da GPU, recomenda-se adicionar uma linha adicional:
video=vesafb:off video=efifb:off video=simplefb:off
Depois de adicionar esta linha, o PVE será reiniciado e parará em uma tela após a entrada no kernel.
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=vesafb:off video=efifb:off video=simplefb:off"
Após a modificação, atualize o grub diretamente:
update-grub
Observação: Se este método não ativar o IOMMU, modifique o arquivo "/etc/kernel/cmdline" e use "proxmox-boot-tool refresh" para atualizar as opções de inicialização.
3. Carregue os módulos do kernel necessários
echo vfio >> /etc/modules echo vfio_iommu_type1 >> /etc/modules echo vfio_pci >> /etc/modules echo vfio_virqfd >> /etc/modules
Atualizar os parâmetros do kernel
update-initramfs -k all -u
Reinicie o host
reboot
4. Verifique se o IOMMU está habilitado
Após reiniciar, digite o seguinte comando no terminal:
dmesg | grep iommu
Se a seguinte saída aparecer, indica sucesso:
[ 1.341100] pci 0000:00:00.0: Adding to iommu group 0 [ 1.341116] pci 0000:00:01.0: Adding to iommu group 1 [ 1.341126] pci 0000:00:02.0: Adding to iommu group 2 [ 1.341137] pci 0000:00:14.0: Adding to iommu group 3 [ 1.341146] pci 0000:00:17.0: Adding to iommu group 4
Neste momento, insira:
find /sys/kernel/iommu_groups/ -type l
Se aparecerem muitos grupos de passagem, isso indica sucesso. Se nada aparecer, então o IOMMU não está ativado.
Selecione o sistema PVE necessário, clique em "Hardware" > "Adicionar" > "Dispositivo PCI" > escolha "Controlador SATA" e, finalmente, clique em "Adicionar" para atribuir o Controlador SATA ao sistema correspondente. Após a reinicialização, as configurações de passagem de hardware do PVE entrarão em vigor.
O backup de VM Proxmox é essencial
Vinchin Backup & Recovery é uma solução robusta de proteção de dados de máquinas virtuais projetada para ambientes multiplataforma, com suporte completo a plataformas de virtualização populares como o Proxmox. Suas principais funcionalidades incluem backups automatizados, tecnologias de desduplicação e compressão, ajudando os usuários a economizar significativamente espaço de armazenamento. Além disso, ele oferece suporte a migração de dados entre plataformas e recursos avançados como recuperação instantânea e recuperação granular no nível de arquivo, aumentando significativamente a velocidade e eficiência da recuperação. Em um ambiente Proxmox, o Vinchin Backup & Recovery garante segurança e confiabilidade dos dados por meio de criptografia e proteção eficiente de backups, tornando-se uma solução indispensável para ambientes de máquinas virtuais.
São necessários apenas 4 passos para você fazer backup das VMs do Proxmox VE com o Vinchin Backup & Recovery:
1. Selecione o objeto de backup.

2. Selecione o destino do backup.

3. Configure estratégias de backup.

4. Revise e envie a vaga.

Clique no botão abaixo para baixar um teste gratuito de 60 dias e experimentar sozinho recursos mais avançados!
Conclusão
A passagem direta de disco no Proxmox é um recurso indispensável em cenários onde o acesso nativo ao disco é exigido pela VM. Seja executando aplicações intensivas em armazenamento, gerenciando pools ZFS ou lidando com configurações de RAID por hardware, o acesso direto aos discos físicos pode melhorar significativamente o desempenho e a funcionalidade.
Compartilhar em: