Как создавать ВМ с консоли
kvm console
Как запустить копию уже созданной ВМ на другом гипервизоре
- копирую базовый имидж из каталога /var/lib/kvm/instances/_base
scp -rp sil@10.0.10.51:/var/lib/kvm/instances/_base/ubuntu-16.04-server-amd64 .
- копирую файл ВМ из каталога /var/lib/kvm/instances
или создать новый имидж ВМ на базе существующего базового:
scp -rp [sil@10.0.10.51:/var/lib/kvm/instances/controller-1 controller-2](mailto:sil@10.0.10.51:/var/lib/kvm/instances/controller-1controller-2)
qemu-img create -f qcow2 -b /var/lib/kvm/instances/_base/ubuntu-16.04-server-amd64 /var/lib/kvm/instances/haproxy-1
- копирую xml-файл с описанием ВМ
scp -rp root@10.0.10.51:/etc/libvirt/qemu/controller-1.xml /etc/libvirt/qemu/controller-2.xml
- меняем uuid и name в файле /etc/libvirt/qemu/controller-2.xml
для генерирования uuid применим утилиту uuidgen
для MAC-адреса:
openssl rand -hex 6 | sed 's/(..)/1:/g; s/:$//'
virsh define controller-2.xml
root@dc-comp-02:/etc/libvirt/qemu# virsh list –all
- controller-2 shut off
virsh start controller-2
#vi /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT=«quiet splash console=ttyS0»
#sudo update-grub
virsh console controller-2
сами диски машин создаются так
qemu-img create -f qcow2 -b /var/lib/kvm/instances/_base/ubuntu-16.04-server-amd64 /var/lib/kvm/instances/haproxy-1
Файл controller-3.xml
<domain type='kvm' id='189'>
<name>controller-3</name>
<memory unit='KiB'>4194304</memory>
<currentMemory unit='KiB'>4194304</currentMemory>
<vcpu placement='static'>2</vcpu>
<os>
<type arch='x86_64' machine='pc-i440fx-wily'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/kvm/instances/controller-3'/>
<target dev='hda' bus='ide'/>
<alias name='ide0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<controller type='ide' index='0'>
<alias name='ide'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'>
<source bridge='br0'/>
<target dev='vnet0'/>
<model type='rtl8139'/>
<alias name='net0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</interface>
<serial type='pty'>
<source path='/dev/pts/30'/>
<target type='isa-serial' port='0'/>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/30'>
<source path='/dev/pts/30'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<memballoon model='virtio'>
<alias name='balloon0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</memballoon>
</devices>
<backingStore type='file' index='1'>
<format type='qcow2'/>
<source file='/var/lib/kvm/instances/_base/ubuntu-16.04-server-amd64'/>
<backingStore/>
</domain>