tencent cloud

Cloud Virtual Machine

Dinâmicas e anúncios
Dinâmica do produto
Dinâmica de atualização de imagem pública
Anúncio do produto
Introdução do produto
Visão geral da Cloud Virtual Machine
Vantagens do produto
Conceitos básicos
Regiões e zonas
Tutorial
Service Regions and Service Providers
Cobrança do produto
Visão geral de cobrança
Modo de cobrança
Item de cobrança
Converter modo de cobrança
Aquisição de instâncias
Descrição de cobrança de ajustes de configuração
Descrição de cobrança em atraso
Guia de início rápido
Comprar instância Linux personalizada
Comprar instância Windows personalizada
Guia do usuário
Visão geral do guia de operação
Visão geral dos limites de uso
Instância
Instância spot
Instância reservada
Imagem
Armazenamento
Backup e recuperação
Rede
Segurança
Senhas/chaves secretas
Gerenciamento de operação e manutenção
Migrar o servidor
Migração online
Consultoria de migração
Solução de falhas
Falhas relacionados ao login em instâncias Windows
Falhas relacionados ao login em instâncias Linux
Outras falhas relacionadas ao login em instâncias
Falha na execução de instância
Falha de memória em instâncias Linux
Falha de rede
Tutorial prático
Recomendações de seleção da CVM
Configurar o ambiente
Configurar o site
Configurar o aplicativo
Configurar a página visual
Carregar arquivos locais para a CVM
Teste de desempenho de rede
Outros tutoriais práticos
Segurança e conformidade
Gerenciamento de acesso
Rede
Perguntas frequentes
Regiões e zonas
Sobre o faturamento
Instância
Armazenamento
Imagem
Migração de servidor
Rede
Segurança
Operação/manutenção e monitoramento
Gerenciamento de acesso
Serviço NTP
Cenário de aplicação
Agreements
CVM Service Level Agreements
Red Hat Enterprise Linux Image Service Agreement
Public IP Service Level Agreement
Glossário

Verificar driver Virtio no sistema Linux

PDF
Modo Foco
Tamanho da Fonte
Última atualização: 2025-09-08 16:51:03

Introdução

Para ser executado no Tencent Cloud, um CVM deve ter um kernel que seja compatível com os drivers virtio, incluindo o driver de dispositivo de bloco virtio_blk e o driver NIC virtio_net. Para garantir que um CVM criado com uma imagem personalizada possa inicializar corretamente, verifique se a sua imagem é compatível com os drivers virtio no servidor de origem antes de importar a imagem. Este documento usa o CentOS como exemplo para descrever como verificar se uma imagem é compatível com os drivers virtio.

Instruções

Etapa 1: verificar se o kernel é compatível com os drivers virtio

Execute o seguinte comando para verificar se o kernel atual é compatível com os drivers virtio:
grep -i virtio /boot/config-$(uname -r)
Uma resposta semelhante à seguinte será retornada:


Se o valor de CONFIG_VIRTIO_BLK e CONFIG_VIRTIO_NET for m na resposta, vá para a Etapa 2.
Se o valor de CONFIG_VIRTIO_BLK e CONFIG_VIRTIO_NET for y na resposta, o que significa que o sistema operacional contém os drivers virtio, é possível importar a imagem personalizada para o Tencent Cloud. Para obter detalhes, consulte Importação de imagens > Visão geral.
Se você não conseguir encontrar CONFIG_VIRTIO_BLK e CONFIG_VIRTIO_NET na resposta, isso significa que as imagens com o sistema operacional não podem ser importadas para o Tencent Cloud. Baixe e compile o kernel.

Etapa 2: verificar se os drivers virtio estão no sistema de arquivos temporários

Se o valor dos parâmetros for m na Etapa 1, é necessário verificar se initramfs ou initrd contém os drivers virtio. Execute o comando correspondente de acordo com o sistema operacional:
Para CentOS 6/CentOS 7/CentOS 8/RedHat 6/RedHat 7:
lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
Para RedHat 5/CentOS 5:
mkdir -p /tmp/initrd && cd /tmp/initrd
zcat /boot/initrd-$(uname -r).img | cpio -idmv
find . -name "virtio*"
Para Debian/Ubuntu:
lsinitramfs /boot/initrd.img-$(uname -r) | grep virtio
Se um resultado semelhante ao seguinte for retornado:

Isso significa que o initramfs contém o driver virtio_blk e virtio.ko, virtio_pci.ko e virtio_ring.ko dos quais o driver depende. Nesse caso, é possível importar a imagem personalizada para o Tencent Cloud. Para obter detalhes, consulte Importação de imagens > Visão geral.
Se o initramfs ou o initrd não contiver os drivers virtio, vá para a Etapa 3.

Etapa 3: reconfigurar o sistema de arquivos temporários

Se você descobrir que o initramfs ou o initrd não contém os drivers virtio na Etapa 2, será necessário reconfigurar o sistema de arquivos temporários para garantir que o initramfs ou o initrd contém os drivers virtio. Execute o comando correspondente de acordo com o sistema operacional:
Para CentOS 6/CentOS 7/RedHat 6/RedHat 7:
cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initramfs-$(uname -r).img $(uname -r)
Para RedHat 5/CentOS 5:
cp /boot/initrd-$(uname -r).img /boot/initrd-$(uname -r).img.bak
mkinitrd -f --with=virtio_blk --with=virtio_pci /boot/initrd-$(uname -r).img $(uname -r)
Para Debian/Ubuntu:
echo -e "virtio_pci\\nvirtio_blk" >> /etc/initramfs-tools/modules
update-initramfs -u

Apêndice

Download e compilação do kernel

Download do pacote de instalação do kernel

1. Execute o seguinte comando para instalar os componentes necessários para a compilação do kernel.
yum install -y ncurses-devel gcc make wget
2. Execute o seguinte comando para visualizar a versão atual do kernel.
uname -r
Uma resposta semelhante à seguinte será retornada, indicando que a versão atual do kernel é 2.6.32-642.6.2.el6.x86_64.


3. Vá para página de download do kernel do Linux para baixar o código-fonte da versão do kernel correspondente. Por exemplo, para a versão 2.6.32-642.6.2.el6.x86_64, é preciso baixar o linux-2.6.32.tar.gz em https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.gz.
4. Execute o seguinte comando para alternar o diretório.
cd /usr/src/
5. Execute o seguinte comando para baixar o pacote de instalação.
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.gz
6. Execute o seguinte comando para descompactar o pacote de instalação.
tar -xzf linux-2.6.32.tar.gz
7. Execute o seguinte comando para fazer a conexão.
ln -s linux-2.6.32 linux
8. Execute o seguinte comando para alternar o diretório.
cd /usr/src/linux

Compilação do kernel

1. Execute os seguintes comandos para compilar o kernel.
make mrproper
cp /boot/config-$(uname -r) ./.config
make menuconfig
Entre na interface “Linux Kernel vX.X.XX Configuration”, conforme mostrado abaixo:


Nota:
Se você não for direcionado para a interface "Linux Kernel vX.X.XX Configuration", vá para a Etapa 18.
Interface “Linux Kernel vX.X.XX Configuration”:
Pressione “Tab” ou “↑” “↓” para mover o cursor.
Pressione “Enter” para selecionar ou executar o item selecionado pelo cursor.
Pressione a barra de espaço para selecionar o item selecionado pelo cursor. “*” significa compilar para o kernel e "M" significa compilar para um módulo.
2. Pressione a tecla "↓" para mover o cursor para "Virtualization (Virtualização)" e pressione a barra de espaço para selecionar "Virtualization (Virtualização)".
3. Pressione "Enter" para entrar na interface de detalhes de virtualização.
4. Na interface de detalhes de virtualização, verifique se a opção Kernel-based Virtual Machine (KVM) support (Suporte para máquina virtual baseada em kernel (KVM)) está selecionada conforme mostrado abaixo:

Se não estiver selecionada, pressione a barra de espaço para selecionar essa opção.
5. Pressione "Esc" para retornar à interface principal "Linux Kernel vX.X.XX Configuration".
6. Pressione a tecla "↓" para mover o cursor para "Processor type and features (Tipo e funcionalidades do processador)" e pressione "Enter" para entrar nessa interface de detalhes.
7. Pressione a tecla "↓" para mover o cursor para "Paravirtualized guest support (Compatibilidade para convidados paravirtualizados)" e pressione "Enter" para entrar nessa interface de detalhes.
8. Na interface de detalhes acima, verifique se as opções "KVM paravirtualized clock (Relógio paravirtualizado do KVM)" e "KVM Guest support (Compatibilidade para convidado do KVM)" estão selecionadas conforme mostrado abaixo:

Se elas não estiverem selecionadas, pressione a barra de espaço para selecioná-las.
9. Pressione "Esc" para retornar à interface principal "Linux Kernel vX.X.XX Configuration".
10. Pressione a tecla "↓" para mover o cursor para "Device Drivers (Drivers do dispositivo)" e pressione "Enter" para entrar nessa interface de detalhes.
11. Pressione a tecla "↓" para mover o cursor para "Block devices (Dispositivos de bloco)" e pressione "Enter" para entrar nessa interface de detalhes.
12. Na interface de detalhes acima, verifique se a opção "Virtio block driver (EXPERIMENTAL) (Driver de bloco Virtio (EXPERIMENTAL))" está selecionada como mostrado abaixo:

Se não estiver selecionada, pressione a barra de espaço para selecionar essa opção.
13. Pressione “Esc” para retornar à interface de detalhes Device Drivers (Drivers do dispositivo).
14. Pressione a tecla "↓" para mover o cursor para "Network device support (Compatibilidade com dispositivos de rede)" e pressione "Enter" para entrar nessa interface de detalhes.
15. Na interface de detalhes acima, verifique se a opção "Virtio network driver (EXPERIMENTAL) (Driver de rede Virtio (EXPERIMENTAL))" está selecionada como mostrado abaixo:

Se não estiver selecionada, pressione a barra de espaço para selecionar essa opção.
16. Pressione "Esc" para sair da interface de configuração do kernel e selecione "YES (SIM)" para salvar o arquivo .config.
17. Realize a Etapa 1: verificar se o kernel é compatível com os drivers virtio para verificar se os drivers virtio foram configurados corretamente.
18.
(Opcional)
Execute o seguinte comando para editar manualmente o arquivo .config.
Nota:
Essa etapa é recomendada se qualquer um dos dois cenários for verdadeiro:
O kernel ainda não contém as informações de configuração relacionadas aos drivers virtio após o término da verificação.
Ao compilar o kernel, não é possível entrar na interface de configuração do kernel ou salvar o arquivo .config.
make oldconfig
make prepare
make scripts
make
make install
19. Execute os seguintes comandos para verificar a instalação dos drivers virtio.
find /lib/modules/"$(uname -r)"/ -name "virtio.*" | grep -E "virtio.*"
grep -E "virtio.*" < /lib/modules/"$(uname -r)"/modules.builtin
Se algum dos comandos retornar uma lista de arquivos como virtio_blk, virtio_pci.virtio_console, isso indica que os drivers virtio foram instalados corretamente.

Ajuda e Suporte

Esta página foi útil?

comentários