Skip to content

Instantly share code, notes, and snippets.

@vitali2y
Created November 25, 2018 23:06
Show Gist options
  • Save vitali2y/80dd7f603898bd5dc81273092e412b34 to your computer and use it in GitHub Desktop.
Save vitali2y/80dd7f603898bd5dc81273092e412b34 to your computer and use it in GitHub Desktop.
Creating, running, and destroying a Ubuntu 16.04 minimal cloud image KVM under Linux Mint 18.3
@vitali2y
Copy link
Author

$ sudo apt install qemu-kvm libvirt-bin virtinst bridge-utils cloud-image-utils
$ wget http://cloud-images.ubuntu.com/minimal/releases/xenial/release/ubuntu-16.04-minimal-cloudimg-amd64-disk1.img
$ qemu-img convert -O qcow2 ubuntu-16.04-minimal-cloudimg-amd64-disk1.img ubuntu-16.04-minimal-cloudimg-amd64-disk1.qcow2
$ qemu-img resize ubuntu-16.04-minimal-cloudimg-amd64-disk1.qcow2 +8G
$ qemu-img create -f qcow2 -b ubuntu-16.04-minimal-cloudimg-amd64-disk1.qcow2 ubuntu-16.04-amd64.img
$ cat config

#cloud-config
password: qaz
chpasswd: { expire: False }
ssh_pwauth: True

$ cloud-localds config.img config
$ cat ./virt-install.sh

virt-install --connect=qemu:///system
--name ubuntu-16.04-amd64
--ram 2048
--vcpus=2
--os-type=linux
--os-variant=ubuntu16.04
--disk ubuntu-16.04-amd64.img,device=disk,bus=virtio
--disk config.img,device=cdrom
--graphics none
--import

$ sudo virsh change-media ubuntu-16.04-amd64 hda --eject --config
$ sudo virsh -c qemu:///system list --all
$ sudo virsh net-autostart default
$ sudo virsh net-start default
$ sudo ./virt-install.sh
$ sudo virsh shutdown ubuntu-16.04-amd64 --mode acpi
$ sudo virsh start ubuntu-16.04-amd64
$ sudo virsh console ubuntu-16.04-amd64
$ sudo virsh shutdown ubuntu-16.04-amd64 --mode acpi
$ sudo virsh undefine ubuntu-16.04-amd64

@vitali2y
Copy link
Author

vitali2y commented Feb 4, 2019

Deleting a virtual machine:

evergreen ~ # virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     ubuntu-16.04-amd64             shut off
 -     ubuntu-16.04-node1             shut off
 -     ubuntu-16.04-node2             shut off
evergreen ~ # virsh dumpxml --domain ubuntu-16.04-node1 | grep 'source file'
      <source file='/home/vit/prjs/~...~/node1/ubuntu-16.04-amd64.img'/>
      <source file='/home/vit/prjs/~...~/node1/config.img'/>
evergreen ~ # ls -la /home/vit/prjs/~...~/node1/ubuntu-16.04-amd64.img /home/vit/prjs/~...~/node1/config.img
-rw-rw-r-- 1 libvirt-qemu kvm       374784 Dec  5 23:50 /home/vit/prjs/~...~/node1/config.img
-rw-r--r-- 1 root         root 10546774016 Feb  1 02:00 /home/vit/prjs/~...~/node1/ubuntu-16.04-amd64.img
evergreen ~ # virsh undefine --domain ubuntu-16.04-node1
Domain ubuntu-16.04-node1 has been undefined
evergreen ~ # virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     ubuntu-16.04-amd64             shut off
 -     ubuntu-16.04-node2             shut off

evergreen ~ # 

@vitali2y
Copy link
Author

vitali2y commented Sep 6, 2019 via email

@vitali2y
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment