Como criar e gerenciar máquinas virtuais KVM da CLI
- 604
- 113
- Mrs. Willie Beahan
Objetivo
Aprenda a criar e gerenciar máquinas virtuais KVM a partir da linha de comando
Sistema operacional e versões de software
- Sistema operacional: - Todas as distribuições Linux
Requisitos
- Acesso à raiz
- Pacotes:
- qemu -kvm - o pacote principal
- LibVirt - Inclui o servidor Libvirtd exportando o suporte de virtualização
- libvirt -client - este pacote contém
Virsh
e outros utilitários do lado do cliente - Virt -Install - Utilitário para instalar máquinas virtuais
- Virt -Viewer - Utilitário para exibir console gráfico para uma máquina virtual
Dificuldade
MÉDIO
Convenções
- # - requer que os comandos Linux sejam executados com privilégios de raiz também
diretamente como usuário root ou por uso desudo
comando - $ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular
Introdução
Saber como criar e gerenciar máquinas virtuais KVM a partir da linha de comando pode ser realmente útil em determinados cenários: ao trabalhar em servidores sem cabeça, por exemplo. No entanto, ser capaz de escrever interações com máquinas virtuais pode melhorar bastante nossa produtividade. Neste tutorial, você aprenderá a criar, excluir, clonar e gerenciar máquinas KVM com a ajuda de poucos utilitários.
Alguma terminologia
Antes de começarmos a trabalhar, seria útil definir o que KVM
e Qemu
são e como eles interagem. KVM
apoia Máquina virtual do kernel, E é um módulo do kernel Linux que permite que um programa acesse e use os recursos de virtualização dos processadores modernos, expondo a interface /dev /kvm. Qemu
é, em vez disso, o software que realmente executa a emulação do sistema operacional. É e emulador de máquina de código aberto e virtualizador que pode usar o recurso de aceleração fornecido por KVM
Ao executar uma máquina emulada com a mesma arquitetura do host.
Configuração preliminar
A primeira coisa que temos que fazer é verificar se a CPU que estamos usando tem suporte para virtualização. A menos que você esteja correndo em uma máquina muito antiga, esse certamente será o caso, mas para verificar, simplesmente executamos:
$ cat /proc /cpuinfo
Role para baixo a saída do comando acima até ver a lista de CPU 'sinalizadores': entre eles você deve ver svm
Se você estiver usando um processador AMD, ou VMX
Se o fornecedor da CPU for Intel.
A segunda coisa que precisamos fazer é garantir que os módulos de kernel necessários tenham sido carregados, para verificar isso, nós executamos:
# lsmod | Grep KVM KVM_INTEL 200704 0 KVM 598016 1 KVM_INTEL IRQBYPASS 16384 1 KVM
Estou executando uma CPU da Intel, portanto, além do KVM
módulo, também o KVM_INTEL
um foi carregado. Se você estiver usando um processador AMD, o kvm_amd
O módulo será carregado em vez disso. Se os módulos não forem carregados automaticamente, você pode tentar carregá -los manualmente usando o modProbe
comando:
# modprobe kvm_intel
Finalmente, temos que começar o libvirtd
Daemon: O comando a seguir o permite no momento da inicialização e inicia imediatamente:
# SystemCtl Habilable - -agora Libvirtd
Crie a nova máquina virtual
Agora que instalamos e iniciamos o libvirtd
serviço, podemos usar o Virt-Install
comando para configurar nossa máquina virtual. A sintaxe do programa é realmente direta. O comando Linux a seguir deve ser executado como root, ou, se você deseja iniciá -lo como um usuário normal, como um membro do KVM
grupo. A sintaxe do programa é o seguinte:
# Virt-Install--name = LinuxConfig-VM \ --vcpus = 1 \ --Memory = 1024 \-cdrom =/tmp/Debian-9.0.0-AMD64-NETINST.ISO \-Disk Size = 5 \ --os-variant = Debian8
Vamos analisar o comando acima:
Primeiro de tudo, usamos o --nome
Opção: Isso é obrigatório e é usado para atribuir um nome à nova máquina virtual.
A próxima opção é o --vcpus
um. Nós o usamos para especificar o número de CPUs virtuais
Para configurar para o convidado.
O --memória
a opção é usada para selecionar a quantidade de memória reservada para a máquina de convidado em Mib
e --cdrom
Vamos especificar o caminho para um arquivo ou um dispositivo a ser usado como um CD-ROM virtual: pode ser uma imagem ISO, um dispositivo CDROM ou um URL para acessar uma imagem ISO de inicialização.
O --disco
A bandeira é usada para configurar o armazenamento de mídia para o hóspede. Várias opções separadas por vírgula podem ser especificadas, por exemplo: tamanho
que é usado para especificar o tamanho do disco virtual em GB e caminho
que é usado para especificar um caminho a ser usado para o disco (ele será criado se ainda não existir). Se essas opções forem especificadas, você deverá garantir que o caminho de destino seja acessível e tenha o contexto correto do Selinux (para saber mais sobre o Selinux, você pode ler este artigo).
Se o caminho
a opção não é especificada, o disco será criado em $ Home/.local/share/libvirt/imagens
Se o comando for executado como usuário normal (membro do grupo KVM) ou em/var/libvirt/imagens, se executá -lo como root.
Em seguida, passamos pelo --OS-Variant
opção. Embora isso não seja obrigatório, é altamente recomendável usá -lo, pois pode melhorar o desempenho da máquina virtual. A opção tentará ajustar o convidado para a versão específica do sistema operacional. Se a opção não for aprovada, o programa tentará detectar automaticamente o valor correto da mídia de instalação. Para obter uma lista de todos os sistemas suportados que você pode executar:
$ Osinfo-Query OS
Se tudo correu bem e o Virt-visualizador
O pacote está instalado, uma janela aparecerá mostrando o instalador do sistema operacional convidado.
O utilitário virsh
O utilitário Virsh pode ser usado para interagir com máquinas virtuais. Por exemplo, digamos que você deseja listar todos os convidados configurados, usando Virsh que você pode simplesmente executar:
# Virsh List --l
A saída mostrará o eu ia
, nome
e estado
de todos os convidados configurados, estejam eles executando ou não.
Mas e se você quiser mudar alguns parâmetros da máquina de convidados? Você pode usar Virsh
Para realizar esta tarefa, por exemplo:
# virsh editar linuxconfig-vm
Aqui está uma captura de tela da saída de comando:
Como você pode ver, a saída é uma representação XML das propriedades da máquina virtual ou, usando a terminologia Virsh, a domínio
. Se você deseja mudar, por exemplo, o número de vcpus, basta encontrar a tag relevante e alterar o valor. Nesse caso, temos:
1
Queremos adicionar 1 VCPU, então vamos alterá -lo para:
2
Tudo o que temos que fazer agora é apenas reiniciar a máquina virtual para as configurações a serem aplicadas:
# virsh reinicie linuxconfig-vm
Se agora corrermos LSCPU
No console convidado, devemos ver o aumento do número de CPUs:
O Virsh
O comando também pode ser usado para fazer outras operações comuns: por exemplo, desligamento de virsh
pode ser usado para desligar o hóspede, Virsh destruir
é o equivalente a um desligamento bruto da força (portanto, pode ser perigoso) e Virsh indefinido
pode ser usado para excluir uma máquina de convidado (para definir um domínio).
AutoStart uma máquina virtual na inicialização
Você pode aproveitar o Virsh
comando também se você deseja que certos convidados sejam iniciados automaticamente quando o sistema host inicializa: a sintaxe é, novamente, muito intuitiva:
# Virsh AutoStart LinuxConfig-VM
Para desativar esta opção, executamos:
# Virsh AutoStart-Disable LinuxConfig-VM
Clonando um convidado
Outra utilidade, Virt-clone
pode ser usado para criar uma nova máquina virtual clonando uma existente. Para prosseguir, devemos primeiro garantir que o hóspede a ser clonado seja inativo, do que corremos:
virt-clone \ --original = linuxconfig-vm \--name = linuxconfig-vm-clone \ --file =/var/lib/libvirt/imagens/linuxconfig-vm.QCOW2
O que temos aqui é muito simples de entender: especificamos o hóspede a ser clonado usando o --original
opção e o nome do novo convidado usando --nome
Como se estivéssemos instalando do zero. Com o --arquivo
Opção, em vez disso, fazemos referência a todos os discos rígidos virtuais associados ao convidado original que queremos clonar. O programa fará seu trabalho e, se bem -sucedido, criará um novo domínio nomeado LinuxConfig-VM-Clone
. Já sabemos como verificar:
# Virsh List-todos os nomes do idiota ------------------------------------------- -------
Pensamentos finais
Neste tutorial, configuramos uma nova máquina virtual e vimos como interagir com ela. As opções que especificamos no horário da criação são apenas o mínimo necessário para uma configuração de trabalho. Muitas outras opções podem ser usadas para ajustar vários aspectos da máquina convidada e são muito bem descritos no Virt-Install
MANPAGE. Como sempre, o melhor conselho possível é: Leia o manual.
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Lista de visualizadores em PDF no Ubuntu 22.04 Jammy Jellyfish Linux
- Uma introdução à automação, ferramentas e técnicas do Linux
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Como criar instantâneos de convidados QEMU/KVM
- Melhor leitor de PDF para Linux
- Como executar o Raspberry Pi OS em uma máquina virtual com…
- Coisas para instalar no Ubuntu 22.04
- Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
- Arquivos de configuração do Linux: os 30 primeiros mais importantes
- « Como instalar o WordPress no Debian 9 Stretch Linux
- Como iniciar um contêiner do docker como processo de daemon »