Como posso usar uma partição separada para armazenar as imagens da VM no KVM?

1

Eu tenho a seguinte configuração no meu host

[root@fake ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              32G   30G  785M  98% /
tmpfs                  12G   76K   12G   1% /dev/shm
/dev/sda1             504M  103M  376M  22% /boot
/dev/sda4             1.6T   63G  1.5T   5% /project
/dev/sr0              3.0G  3.0G     0 100% /media/UDF Volume

Como estou ficando sem espaço em /root , gostaria de mover minhas máquinas virtuais para /project , se possível, e criar todas as novas a partir daí. Movê-los não deve ser um problema muito grande quando o segundo for resolvido - não consigo descobrir como instruir o KVM a armazenar a imagem da máquina virtual que seria criada com uma nova VM) em /project em vez de /root , onde o KVM está instalado.

Existe alguma maneira de armazenar as imagens da máquina virtual em uma partição diferente da própria KVM?

    
por Sean Allred 11.07.2013 / 16:37

2 respostas

1

Adicione o disco ao pool de armazenamento KVM. Eu uso o virt-manager, mas acredito que o virsh também pode fazer isso. Via virt-manager, para a nova VM, edite, escolha "Detalhes da conexão". Abra a guia Armazenamento. Clique no botão + para adicionar um pool de armazenamento e selecione o tipo de armazenamento. Eu acredito que você quer um sistema de arquivos.

    
por 11.07.2013 / 16:53
2

O processo de mover as VMs no KVM para outro disco leva várias etapas. A primeira coisa que você precisa fazer é configurar um novo pool de armazenamento no segundo disco. Isso pode ser feito em virsh ou virt-manager. Faça isso no virsh primeiro você precisa criar um arquivo XML que será referenciado durante a criação do pool de armazenamento. Aqui está um arquivo XML de amostra que você pode modificar para seu sistema específico.

 <pool type='disk'>
   <name>newpool</name>
     <source>
       <device path='/dev/sdb'/>
         <format type='gpt'/>
     </source>
   <target>
     <path>/dev</path>
   </target>
 </pool>

Depois de criar seu arquivo XML, use virsh pool-define /dir/to/newpool.xml para criar o pool de armazenamento KVM.

Em seguida, use o comando virsh pool-start para inicializar o novo pool que você acabou de criar. Você pode verificar se foi criado com sucesso usando virsh pool-list --all . Você deve conseguir algo como:

# virsh pool-list --all
Name                 State      Autostart 
-----------------------------------------
default              active     yes       
newpool              active     no

A última coisa que você precisa fazer é ativar o início automático para o novo pool usando o virsh pool-autostart newpool . Isso configura o serviço libvirtd para autoinicializar o disco quando o serviço é inicializado. Você pode executar virsh pool-list --all novamente e agora verá que ele diz sim na coluna Autostart. A última coisa que você pode fazer é verificar se o KVM está relatando o tamanho correto e outras informações do novo pool de armazenamento. Esta informação pode ser encontrada usando este comando virsh pool-info newpool .

Quando o novo pool for criado, você poderá começar a criar VMs em um disco diferente. Espero que responda sua pergunta.

    
por 11.07.2013 / 17:09