AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1852738
Accepted
jimjamz
jimjamz
Asked: 2024-08-19 13:13:24 +0800 CST2024-08-19 13:13:24 +0800 CST 2024-08-19 13:13:24 +0800 CST

No virt-manager, qual é a diferença entre um disco SCSI VirtIO, Red Hat ou QEMU?

  • 772

Após minha experiência anterior de migração de discos VM IDE para VirtIO SCSI , criei uma VM Win10 no virt-manager, com o disco primário sendo um disco SCSI da configuração. No virt-manager, criei um controlador VirtIO SCSI:

<controller type="scsi" index="0" model="virtio-scsi">
  <address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</controller>

Criei então um disco ( SCSI Disk 1 ) que, segundo o virt-manager, está usando o tipo de barramento SCSI :

<disk type="file" device="disk">
  <driver name="qemu" type="qcow2" discard="unmap"/>
  <source file="/var/lib/libvirt/images/win10-enterprise.qcow2"/>
  <target dev="sda" bus="scsi"/>
  <boot order="2"/>
  <address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>

Confirmação no virt-manager de que o disco SCSI está usando o controlador VirtIO SCSI

Durante a configuração do Win10, montei o RedHat VirtIO ISO e instalei os drivers para que o Win10 pudesse ser instalado no disco SCSI:

Drivers RedHat VirtIO sendo instalados durante a configuração do Windows 10

Após a instalação, adicionei outro disco ( VirtIO Disk 1 ) à VM. Desta vez no virt-manager, escolhi VirtIO como tipo de barramento:

<disk type="file" device="disk">
  <driver name="qemu" type="qcow2" discard="unmap"/>
  <source file="/var/lib/libvirt/images/win10-enterprise-1.qcow2"/>
  <target dev="vda" bus="virtio"/>
  <address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</disk>

O disco VirtIO não parece estar vinculado a nenhum dos controladores listados na visão geral da VM no virt-manager. Presumi que este disco fosse um dispositivo VirtIO Block .

Na VM convidada Win10, notei no Gerenciador de dispositivos que o disco SCSI primário é rotulado como um disco "QEMU SCSI" e o disco VirtIO como um disco "RedHat VirtIO SCSI" . O controlador de armazenamento VirtIO usado para o disco SCSI é rotulado como "controlador Red Hat VirtIO SCSI" : Gerenciador de dispositivos do Windows 10 mostrando os discos e o controlador de armazenamento

Estou confuso por que o disco SCSI não é rotulado como um disco VirtIO SCSI e como o disco VirtIO (suposto ser um bloco VirtIO) é um disco "VirtIO SCSI" sem estar conectado a qualquer tipo de controlador SCSI.

P: Existe alguma diferença entre os discos que configurei para esta VM?

P: Do ponto de vista do virt-manager, qual é a diferença entre os discos que usam os tipos de barramento VirtIO e SCSI e como eles são representados em uma VM?

P: Há alguma diferença de desempenho entre discos que usam diferentes tipos de barramento?

virtual-machine
  • 1 1 respostas
  • 28 Views

1 respostas

  • Voted
  1. Best Answer
    grawity_u1686
    2024-08-19T15:02:55+08:002024-08-19T15:02:55+08:00

    "VirtIO" é uma estrutura geral de dispositivos PCI virtuais que visam oferecer maior desempenho do que dispositivos emulados tradicionais (além de ser mais simples - o hardware físico geralmente tem muitos detalhes que um dispositivo virtual não precisa).

    Existem dois dispositivos de armazenamento VirtIO diferentes:

    • Dispositivo simples de 'acesso ao bloco VirtIO' totalmente personalizado, com pouca ou nenhuma relação com dispositivos de armazenamento físico comuns. Isso aparece como /dev/vd*no Linux, usa o viostordriver no Windows e está limitado a um disco por slot PCI.

    • Dispositivo completo 'Controlador SCSI VirtIO' que se comporta como um controlador de disco SCSI típico com os mesmos conceitos (comandos SCSI, destinos, LUNs). Isso aparece como /dev/sd*no Linux ( vioscsino Windows) e pode expor vários discos por meio de um único controlador.

    Embora ambos exijam drivers personalizados no Windows (não há driver padrão para controladores SCSI como existe para SATA AHCI), no último caso, os drivers convidados 'vioscsi' podem simplesmente passar pelos comandos SCSI para o hipervisor [e o hipervisor pode, em teoria, passe-os para um disco SAS físico], enquanto no caso do "bloco VirtIO" os drivers convidados precisam fingir ser um disco SCSI para que o Windows saiba como lidar com ele - muitos dos comandos SCSI o manuseio é feito (emulado) dentro do driver 'viostor'.

    Estou confuso por que o disco SCSI não é rotulado como um disco VirtIO SCSI e como o disco VirtIO (suposto ser um bloco VirtIO) é um disco "VirtIO SCSI" sem estar conectado a qualquer tipo de controlador SCSI.

    O driver do Windows finge ser SCSI, porque o sistema operacional já sabe como se comunicar com um disco SCSI, portanto, embora isso signifique que o driver "viostor" precisa emular o tratamento de comandos SCSI, também significa que o driver não precisa lidar com vários outros especificidades – pode permitir que o suporte SCSI do sistema operacional existente lide com isso.

    P: Do ponto de vista do virt-manager, qual é a diferença entre os discos que usam os tipos de barramento VirtIO e SCSI e como eles são representados em uma VM?

    Ambos estão conectados como dispositivos PCI, mas:

    • Os discos "bloco VirtIO" são sempre um por slot PCI, sendo o próprio dispositivo PCI um tipo personalizado de dispositivo de armazenamento. Os drivers "viostor" do Windows fingem que é um disco SCSI (lidando com os comandos SCSI dentro do driver), enquanto os drivers do Linux o expõem como um /dev/vd*dispositivo personalizado.

    • Os discos "VirtIO SCSI" podem compartilhar um controlador, sendo os discos dispositivos SCSI acessíveis por meio desse controlador. Tanto os drivers "vioscsi" do Windows quanto os drivers do Linux precisam apenas inicializar o controlador SCSI, mas retransmitem os comandos reais entre o convidado e o hipervisor (ou o convidado e o disco físico), daí o rótulo 'passagem SCSI'.

    P: Há alguma diferença de desempenho entre discos que usam diferentes tipos de barramento?

    Não deve haver diferenças significativas de desempenho; Ouvi dizer que, em teoria, o "bloco VirtIO" pode ter um desempenho melhor, mas em situações em que não precisei extrair os últimos bits de desempenho, prefiro o "VirtIO SCSI" devido à sua integração mais limpa.

    • 1

relate perguntas

  • Não é possível baixar o xCode da App Store (Mojave VM Ware)

  • caixa virtual convidado linux morto após atualização automática do host MacOS enquanto o convidado estava em execução

  • pasta compartilhada vmwared não está funcionando

  • O virtualbox requer uma CPU para suportar VT-d para hospedar sistemas operacionais convidados de 64 bits?

  • O serviço de arbitragem USB da estação de trabalho VMware não inicia automaticamente

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve