Adiciona disco físico à máquina virtual KVM

8

Estou configurando um servidor de arquivos (nas4free) como uma máquina virtual KVM em um sistema Ubuntu Server 12.04.

Como adiciono discos rígidos físicos diretamente à VM para que eles possam ser usados pelo convidado (nas4free), mas não pelo host?

Especificamente, o disco rígido que eu gostaria de montar é o / dev / sda (que atualmente não está montado no servidor).

Até agora, encontrei duas soluções, mas não consegui trabalhar.

O primeiro é de Server Fault , onde é sugerido o uso de virtudes Gerente. Eu não consegui isso para o trabalho porque quando eu tento selecionar uma unidade existente, nada está sendo listado. Meu melhor palpite sobre o porquê disso, é porque eu estou usando o virt-manager sobre o ssh e não estou conectando como root, isso deve fazer diferença?

A segunda solução que encontrei aqui é apenas executar o comando (modificado para o meu sistema)

qm set nas4free -virtio /dev/sda

mas isso parece exigir proxmox que eu não tenho instalado e não parece estar nos repositórios padrão?

Por fim, depois que o item acima é resolvido e eu posso montar a unidade diretamente na VM, alguém tem alguma experiência em saber se a unidade deve ser montada na VM como scsi, ide ou virtio? (Eu sei que o virtio era recomendado na página ServerFault vinculada, mas eu não tinha ouvido falar dele antes, já que eu uso principalmente o VMWare).

Obrigado pela sua ajuda !!!

    
por evan 01.06.2012 / 06:15

2 respostas

9

Embora isso tenha sido respondido, ao invés de usar / dev / sda você deve usar / dev / disk / by-id / de onde você vem

    ls -l /dev/disk/by-id

Dessa forma, você está coberto apenas no caso de o disco mudar de / dev / sda para / dev / sdb.

    
por smccloud 04.07.2012 / 03:11
6

Tendo exatamente a mesma necessidade, encontrei o seguinte:

link

(todo o texto a seguir vem da fonte acima)

  

Não pode ser feito com o virt-manager. Aquele demorou um pouco para descobrir. Tanto quanto eu posso dizer, virt-manager trabalha com pools de armazenamento. Você pode transformar um disco em um pool de armazenamento, mas não pode adicionar um disco existente diretamente a uma VM.

     

Por sorte, a correção é fácil: você adiciona o disco ao arquivo de configuração xml do domínio manualmente. Então abra /etc/libvirt/qemu/.xml no seu editor favorito e adicione uma seção à seção:

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/md/storage'/>
  <target dev='vdb' bus='virtio'/>
</disk>
  

Isso tornará o / dev / md / storage do host disponível no guest como / dev / vdb. Depois de alterar a configuração de um domínio manualmente, você precisa recarregar a configuração manualmente. Faça login no seu host e emita este comando:

# virsh define /etc/libvirt/qemu/jetsetetser.xml
Domain jetser defined from /etc/libvirt/qemu/jetsetetser.xml
  

Aqui está um bom recurso com mais informações sobre o gerenciamento de vms com libvirt: link

Eu recomendo strongmente que você siga o conselho dado pelo smccloud. Isso funciona como um char para mim. Cuidado para não montar qualquer volume nas unidades físicas usadas no seu convidado, ou você irá danificar gravemente o seu sistema de arquivos!

    
por dethegeek 19.08.2015 / 23:16