Come creare una VM da zero con virsh?


24

Sembra che non sia possibile creare una VM nuova di zecca con virsh se non si dispone già di un file XML funzionante.

Ho appena installato tutti i bit necessari per far funzionare QEMU-KVM e ora ho bisogno di creare la mia primissima VM.

Come?

Suggerimento: non ho grafica!


Ehi, sto solo rivisitando alcune domande. Come sei andato avanti con questo?
I_GNU_it_all_along

Ho risolto il problema controllando le pagine man e i siti Web QEMU e KVM ufficiali e una serie di test e tentativi. Ho chiesto di fare tutto manualmente, invece ho le risposte su come farlo con applicazioni di terze parti. Ho quasi finito e pubblicherò le mie soluzioni di lavoro anche qui al più presto.
EnzoR

1
@I_GNU_it_all_along La tua è l'unica risposta / commento significativo che ho avuto finora.
EnzoR,

1
Molte grazie. Spiacenti, non potrei essere più di aiuto con l'installazione manuale.
I_GNU_it_all_along

1
@I_GNU_it_all_along Ho trovato molto fastidiosa quella cosa del file XML precotto. Non penso di essere una scimmia stupida se voglio capire. Il problema con le cose basate su libvrtd è che c'è troppa poca documentazione e tutti sembrano abbastanza a loro agio con un approccio black-box. Molte grazie.
EnzoR,

Risposte:


36

C'è una buona soluzione qui . Fondamentalmente lo strumento che vuoi usare è virt-install, che dovresti già avere se hai installato tutto il necessario per QEMU-KVM. Ecco la sezione più rilevante.

6. Creazione di una nuova VM guest tramite virt-install

lo strumento virt-install viene utilizzato per creare la VM. Questo strumento può essere utilizzato sia in modalità interattiva che non interattiva.

Nel seguente esempio, ho passato tutti i valori richiesti per creare una VM come parametri della riga di comando al comando virt-install.

# virt-install \
-n myRHELVM1 \
--description "Test VM with RHEL 6" \
--os-type=Linux \
--os-variant=rhel6 \
--ram=2048 \
--vcpus=2 \
--disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10 \
--graphics none \
--cdrom /var/rhel-server-6.5-x86_64-dvd.iso \
--network bridge:br0

Nel comando virt-install sopra i parametri hanno il seguente significato:

  • n: Nome della tua macchina virtuale

  • description: Alcune descrizioni valide sulla VM. Ad esempio: server applicazioni, server database, server Web, ecc.

  • os-type: Il tipo di sistema operativo può essere Linux, Solaris, Unix o Windows.

  • os-variant: Tipo di distribuzione per il tipo di os sopra. Ad esempio, per Linux, può essere rhel6, centos6, ubuntu14, suse11, fedora6, ecc.

    Per Windows, può essere win2k, win2k8, win8, win7

  • ram: Memoria per la macchina virtuale in MB

  • vcpu: Numero totale di CPU virtuali per la macchina virtuale.

  • disk path=/var/lib/libvirt/images/myRHELVM1.img,bus=virtio,size=10: Percorso in cui sono archiviati i file di immagine della macchina virtuale. Dimensioni in GB. In questo esempio, questo file immagine VM è 10 GB.

  • graphics none: Indica a virt-install di utilizzare una console di testo sulla porta seriale della VM anziché la finestra grafica VNC. Se hai configurato xmanager, puoi ignorare questo parametro.

  • cdrom: Indica la posizione dell'immagine di installazione. È possibile specificare il percorso di installazione NFS o http (anziché –-cdrom). Per esempio: --location=http://.com/pub/rhel6/x86_64/*

  • network bridge:br0: In questo esempio viene utilizzato l'adattatore br0 a ponte. È anche possibile creare la propria rete su qualsiasi porta specifica anziché su scheda bridge.

    Se si desidera utilizzare NAT, utilizzare qualcosa di simile al seguente per il parametro di rete con il nome di rete virtuale noto come VMnetwork1. Tutti i file di configurazione di rete si trovano in / etc / libvirt / qemu / networks / per le macchine virtuali. Per esempio:

    –-network network=VMnetwork1


6
È piuttosto strano come questo non sia menzionato nella maggior parte delle documentazioni, ma piuttosto presumono che tu abbia già una VM funzionante, quando probabilmente stai leggendo il tutorial proprio perché non lo fai. Comunque grazie. :)
Teekin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.