kvm
| rev 71 | rev 72 | ||||
|---|---|---|---|---|---|
| f | 1 | KVM guest management | f | 1 | KVM guest management |
| 2 | ======================= | 2 | ======================= | ||
| n | 3 | n | |||
| 4 | .. contents:: | 3 | .. contents:: | ||
| 5 | 4 | ||||
| 7 | Install packages | 6 | Install packages | ||
| 8 | =============================== | 7 | =============================== | ||
| n | 9 | n | |||
| 10 | **Debian or Ubuntu** | 8 | **Debian or Ubuntu** | ||
| 11 | 9 | ||||
| 23 | KVM virsh cheat sheet! | 21 | KVM virsh cheat sheet! | ||
| 24 | ============================ | 22 | ============================ | ||
| n | 25 | n | |||
| 26 | This is a list of commands to use in the virsh cli. | 23 | This is a list of commands to use in the virsh cli. | ||
| 27 | 24 | ||||
| 44 | List running guests | 41 | List running guests | ||
| 45 | ---------------------------------------------- | 42 | ---------------------------------------------- | ||
| n | 46 | n | |||
| 47 | **xen** | 43 | **xen** | ||
| 48 | | xm list | 44 | | xm list | ||
| 54 | Start a guest | 50 | Start a guest | ||
| 55 | ---------------------------------------------- | 51 | ---------------------------------------------- | ||
| n | 56 | n | |||
| 57 | **xen** | 52 | **xen** | ||
| 58 | | xm create /etc/xen/<dom name> | 53 | | xm create /etc/xen/<dom name> | ||
| 64 | Console to guest | 59 | Console to guest | ||
| 65 | ---------------------------------------------- | 60 | ---------------------------------------------- | ||
| n | 66 | n | |||
| 67 | **xen** | 61 | **xen** | ||
| 68 | xm console <dom name> | 62 | xm console <dom name> | ||
| 73 | Shutdown a guest | 67 | Shutdown a guest | ||
| 74 | ---------------------------------------------- | 68 | ---------------------------------------------- | ||
| n | 75 | n | |||
| 76 | **xen** | 69 | **xen** | ||
| 77 | xm shutdown <dom name> | 70 | xm shutdown <dom name> | ||
| 98 | Autostart guest on reboot | 91 | Autostart guest on reboot | ||
| 99 | ---------------------------------------------- | 92 | ---------------------------------------------- | ||
| n | 100 | n | |||
| 101 | **xen** | 93 | **xen** | ||
| 102 | ln -s /etc/xen/<dom name> /etc/xen/auto/<dom name> | 94 | ln -s /etc/xen/<dom name> /etc/xen/auto/<dom name> | ||
| 126 | Quit virsh cli | 118 | Quit virsh cli | ||
| 127 | ----------------- | 119 | ----------------- | ||
| n | 128 | n | |||
| 129 | **kvm** | 120 | **kvm** | ||
| 130 | virsh quit | 121 | virsh quit | ||
| 136 | Virtual Serial Console configuration | 127 | Virtual Serial Console configuration | ||
| 137 | ====================================== | 128 | ====================================== | ||
| n | 138 | n | |||
| 139 | **From the KVM host run:** | 129 | **From the KVM host run:** | ||
| 140 | 130 | ||||
| 165 | Vmbuilder Example | 155 | Vmbuilder Example | ||
| 166 | ====================== | 156 | ====================== | ||
| n | 167 | n | |||
| 168 | This example assumes ubuntu linux. | 157 | This example assumes ubuntu linux. | ||
| 169 | 158 | ||||
| 170 | Install vmbuilder | 159 | Install vmbuilder | ||
| 171 | --------------------- | 160 | --------------------- | ||
| n | 172 | n | |||
| 173 | .. code-block:: python | 161 | .. code-block:: python | ||
| 174 | 162 | ||||
| 177 | Display Help vmbuilder | 165 | Display Help vmbuilder | ||
| 178 | -------------------------------- | 166 | -------------------------------- | ||
| n | 179 | n | |||
| 180 | .. code-block:: python | 167 | .. code-block:: python | ||
| 181 | 168 | ||||
| 227 | virt-install | 214 | virt-install | ||
| 228 | ================ | 215 | ================ | ||
| n | 229 | n | |||
| 230 | debian netboot example | 216 | debian netboot example | ||
| 231 | --------------------------- | 217 | --------------------------- | ||
| 328 | <disk type='file' device='disk'> | 314 | <disk type='file' device='disk'> | ||
| 329 | <driver name='qemu' type='raw'/> | 315 | <driver name='qemu' type='raw'/> | ||
| t | 330 | <source file='/KVMROOT/cammy-var.img'/> | t | 316 | <source file='/KVMROOT/cammy-aux.img'/> |
| 331 | <target dev='vdb' bus='virtio'/> | 317 | <target dev='vdb' bus='virtio'/> | ||
| 332 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | 318 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | ||
| rev 70 | rev 71 | ||||
|---|---|---|---|---|---|
| 228 | ================ | 228 | ================ | ||
| 229 | 229 | ||||
| n | n | 230 | debian netboot example | ||
| 231 | --------------------------- | ||||
| 232 | |||||
| 230 | This method shows the virt-install script installing from a debian netboot image | 233 | This method shows the virt-install script installing from a debian netboot image | ||
| > | hosted on the internet | > | hosted on the internet | ||
| 231 | 234 | ||||
| 245 | --extra-args="auto=true priority=critical keymap=us locale=en_US hostname=$HOST | 248 | --extra-args="auto=true priority=critical keymap=us locale=en_US hostname=$HOST | ||
| > | NAME domain=$DOMAIN url=http://192.168.1.22/foxhop-debconf-preseed.txt" | > | NAME domain=$DOMAIN url=http://192.168.1.22/foxhop-debconf-preseed.txt" | ||
| 246 | 249 | ||||
| n | n | 250 | ubuntu netboot example | ||
| 251 | ---------------------------- | ||||
| 247 | 252 | ||||
| t | t | 253 | This method shows the virt-install script installing from an ubuntu netboot imag | ||
| > | e hosted on the internet | ||||
| 254 | |||||
| 255 | .. code-block:: bash | ||||
| 256 | |||||
| 257 | HOSTNAME=mbison | ||||
| 258 | DOMAIN=foxhop.net | ||||
| 259 | |||||
| 260 | sudo virt-install \ | ||||
| 261 | --name=$HOSTNAME \ | ||||
| 262 | --vcpu=1 \ | ||||
| 263 | --ram=396 \ | ||||
| 264 | --disk=/KVMROOT/$HOSTNAME.qcow2,size=10 \ | ||||
| 265 | --os-type=linux \ | ||||
| 266 | --autostart \ | ||||
| 267 | --location=http://archive.ubuntu.com/ubuntu/dists/raring/main/installer-amd64/ | ||||
| > | \ | ||||
| 268 | --extra-args="auto=true priority=critical keymap=us locale=en_US hostname=$HOST | ||||
| > | NAME domain=$DOMAIN url=http://192.168.1.22/foxhop-debconf-preseed.txt" | ||||
| 248 | 269 | ||||
| 249 | 270 | ||||
| rev 69 | rev 70 | ||||
|---|---|---|---|---|---|
| 243 | --autostart \ | 243 | --autostart \ | ||
| 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||
| t | 245 | --extra-args="auto=true priority=critical keymap=us locale=en_US url=http://192 | t | 245 | --extra-args="auto=true priority=critical keymap=us locale=en_US hostname=$HOST |
| > | .168.1.22/foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | > | NAME domain=$DOMAIN url=http://192.168.1.22/foxhop-debconf-preseed.txt" | ||
| 246 | 246 | ||||
| 247 | 247 | ||||
| rev 68 | rev 69 | ||||
|---|---|---|---|---|---|
| 243 | --autostart \ | 243 | --autostart \ | ||
| 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||
| t | 245 | --extra-args="auto=true priority=critical locale=en_US url=http://192.168.1.22/ | t | 245 | --extra-args="auto=true priority=critical keymap=us locale=en_US url=http://192 |
| > | foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | > | .168.1.22/foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | ||
| 246 | 246 | ||||
| 247 | 247 | ||||
| rev 67 | rev 68 | ||||
|---|---|---|---|---|---|
| 243 | --autostart \ | 243 | --autostart \ | ||
| 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||
| t | 245 | --extra-args="auto=true priority=critical locale=en_US interface=eth0 url=http: | t | 245 | --extra-args="auto=true priority=critical locale=en_US url=http://192.168.1.22/ |
| > | //192.168.1.22/foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | > | foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | ||
| 246 | 246 | ||||
| 247 | 247 | ||||
| rev 66 | rev 67 | ||||
|---|---|---|---|---|---|
| 243 | --autostart \ | 243 | --autostart \ | ||
| 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||
| t | 245 | --extra-args="auto=true priority=critical interface=eth0 url=http://192.168.1.2 | t | 245 | --extra-args="auto=true priority=critical locale=en_US interface=eth0 url=http: |
| > | 2/foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | > | //192.168.1.22/foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | ||
| 246 | 246 | ||||
| 247 | 247 | ||||
| rev 65 | rev 66 | ||||
|---|---|---|---|---|---|
| 232 | .. code-block:: bash | 232 | .. code-block:: bash | ||
| 233 | 233 | ||||
| t | 234 | sudo virt-install --name=tehforum --vcpu=1 --ram=128 --disk=/KVMROOT/tehforum.q | t | 234 | HOSTNAME=tehforum |
| > | cow2,size=10 --os-type=linux --autostart --location=http://ftp.nl.debian.org/deb | ||||
| > | ian/dists/wheezy/main/installer-amd64/ --extra-args="auto=true priority=critical | ||||
| > | hostname=tehforum domain=foxhop.net url=http://akuma.foxhop.net:8000/foxhop-deb | ||||
| > | conf-preseed.txt"Mounting a qcow2 image on the host | ||||
| 235 | DOMAIN=foxhop.net | ||||
| 236 | |||||
| 237 | sudo virt-install \ | ||||
| 238 | --name=$HOSTNAME \ | ||||
| 239 | --vcpu=1 \ | ||||
| 240 | --ram=396 \ | ||||
| 241 | --disk=/KVMROOT/$HOSTNAME.qcow2,size=10 \ | ||||
| 242 | --os-type=linux \ | ||||
| 243 | --autostart \ | ||||
| 244 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||||
| 245 | --extra-args="auto=true priority=critical interface=eth0 url=http://192.168.1.2 | ||||
| > | 2/foxhop-debconf-preseed.txt hostname=$HOSTNAME domain=$DOMAIN" | ||||
| 246 | |||||
| 247 | |||||
| 248 | |||||
| 249 | |||||
| 250 | Mounting a qcow2 image on the host | ||||
| 235 | ====================================== | 251 | ====================================== | ||
| 236 | 252 | ||||
| rev 64 | rev 65 | ||||
|---|---|---|---|---|---|
| 232 | .. code-block:: bash | 232 | .. code-block:: bash | ||
| 233 | 233 | ||||
| t | 234 | DOMNAME=tehforum | t | 234 | sudo virt-install --name=tehforum --vcpu=1 --ram=128 --disk=/KVMROOT/tehforum.q |
| > | cow2,size=10 --os-type=linux --autostart --location=http://ftp.nl.debian.org/deb | ||||
| > | ian/dists/wheezy/main/installer-amd64/ --extra-args="auto=true priority=critical | ||||
| > | hostname=tehforum domain=foxhop.net url=http://akuma.foxhop.net:8000/foxhop-deb | ||||
| > | conf-preseed.txt"Mounting a qcow2 image on the host | ||||
| 235 | |||||
| 236 | sudo virt-install --name=$DOMNAME --vcpu=1 --ram=128 --os-type=linux --autostar | ||||
| > | t \ | ||||
| 237 | --disk=/KVMROOT/tehforum.qcow2,size=10 \ | ||||
| 238 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||||
| 239 | --extra-args="auto=true priority=critical interface=auto lang=english console-k | ||||
| > | eymaps-at/keymap=us locale=en_US hostname=$DOMNAME domain=foxhop.net url=http:// | ||||
| > | www.debian.org/releases/stable/example-preseed.txt" | ||||
| 240 | |||||
| 241 | |||||
| 242 | |||||
| 243 | |||||
| 244 | |||||
| 245 | Mounting a qcow2 image on the host | ||||
| 246 | ====================================== | 235 | ====================================== | ||
| 247 | 236 | ||||
| rev 63 | rev 64 | ||||
|---|---|---|---|---|---|
| 232 | .. code-block:: bash | 232 | .. code-block:: bash | ||
| 233 | 233 | ||||
| t | 234 | sudo virt-install --name=mbison --ram=256 --disk=/KVMROOT/mbison.qcow2,size=10 | t | 234 | DOMNAME=tehforum |
| > | --location=http://ftp.us.debian.org/debian/dists/Debian7.0.0/main/installer-amd6 | ||||
| > | 4/ | ||||
| 235 | |||||
| 236 | sudo virt-install --name=$DOMNAME --vcpu=1 --ram=128 --os-type=linux --autostar | ||||
| > | t \ | ||||
| 237 | --disk=/KVMROOT/tehforum.qcow2,size=10 \ | ||||
| 238 | --location=http://ftp.nl.debian.org/debian/dists/wheezy/main/installer-amd64/ \ | ||||
| 239 | --extra-args="auto=true priority=critical interface=auto lang=english console-k | ||||
| > | eymaps-at/keymap=us locale=en_US hostname=$DOMNAME domain=foxhop.net url=http:// | ||||
| > | www.debian.org/releases/stable/example-preseed.txt" | ||||
| 240 | |||||
| 235 | 241 | ||||
| 236 | 242 | ||||
| rev 62 | rev 63 | ||||
|---|---|---|---|---|---|
| 225 | 225 | ||||
| 226 | 226 | ||||
| t | t | 227 | virt-install | ||
| 228 | ================ | ||||
| 229 | |||||
| 230 | This method shows the virt-install script installing from a debian netboot image | ||||
| > | hosted on the internet | ||||
| 231 | |||||
| 232 | .. code-block:: bash | ||||
| 233 | |||||
| 234 | sudo virt-install --name=mbison --ram=256 --disk=/KVMROOT/mbison.qcow2,size=10 | ||||
| > | --location=http://ftp.us.debian.org/debian/dists/Debian7.0.0/main/installer-amd6 | ||||
| > | 4/ | ||||
| 235 | |||||
| 236 | |||||
| 237 | |||||
| 227 | 238 | ||||
| 228 | Mounting a qcow2 image on the host | 239 | Mounting a qcow2 image on the host | ||
| rev 61 | rev 62 | ||||
|---|---|---|---|---|---|
| 289 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | 289 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | ||
| 290 | 290 | ||||
| t | 291 | SSH to the guest and verify that the disk shows up in *fdisk -l*. You may now p | t | 291 | SSH to the guest and verify that the disk shows up in *fdisk -l*. You may now p |
| > | artition this disk how you like. For more information on `linux raw filesystem | > | artition this disk how you like. For more information view `linux raw filesyste | ||
| > | management <http://www.foxhop.net/linux-raw-filesystem-management>`_ | > | m management <http://www.foxhop.net/linux-raw-filesystem-management>`_. | ||
| 292 | 292 | ||||
| rev 60 | rev 61 | ||||
|---|---|---|---|---|---|
| 289 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | 289 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | ||
| 290 | 290 | ||||
| t | t | 291 | SSH to the guest and verify that the disk shows up in *fdisk -l*. You may now p | ||
| > | artition this disk how you like. For more information on `linux raw filesystem | ||||
| > | management <http://www.foxhop.net/linux-raw-filesystem-management>`_ | ||||
| 291 | 292 | ||||
| rev 59 | rev 60 | ||||
|---|---|---|---|---|---|
| 263 | 263 | ||||
| 264 | qemu-img info /vms/cammy/cammy-aux.img | 264 | qemu-img info /vms/cammy/cammy-aux.img | ||
| t | t | 265 | |||
| 266 | Now we need to mount this disk: | ||||
| 267 | |||||
| 268 | .. code-block:: bash | ||||
| 269 | |||||
| 270 | sudo virsh attach-disk cammy /vms/cammy/cammy-aux.img vdb | ||||
| 271 | |||||
| 272 | That command only mounted the disk. To make this change permanent we need to al | ||||
| > | ter the dom's xml: | ||||
| 273 | |||||
| 274 | .. code-block:: xml | ||||
| 275 | |||||
| 276 | # sudo virsh edit cammy | ||||
| 277 | |||||
| 278 | <disk type='file' device='disk'> | ||||
| 279 | <driver name='qemu' type='qcow2'/> | ||||
| 280 | <source file='/KVMROOT/cammy.qcow2'/> | ||||
| 281 | <target dev='vda' bus='virtio'/> | ||||
| 282 | <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> | ||||
| 283 | </disk> | ||||
| 284 | |||||
| 285 | <disk type='file' device='disk'> | ||||
| 286 | <driver name='qemu' type='raw'/> | ||||
| 287 | <source file='/KVMROOT/cammy-var.img'/> | ||||
| 288 | <target dev='vdb' bus='virtio'/> | ||||
| 289 | <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> | ||||
| 290 | |||||
| 291 | |||||
| rev 58 | rev 59 | ||||
|---|---|---|---|---|---|
| 247 | This is how you add an additional disk to a guest. In this example I will be ad | 247 | This is how you add an additional disk to a guest. In this example I will be ad | ||
| > | ding a 20GB disk image to a guest dom named cammy. | > | ding a 20GB disk image to a guest dom named cammy. | ||
| 248 | 248 | ||||
| n | 249 | :: | n | 249 | .. code-block:: bash |
| 250 | 250 | ||||
| 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | ||
| 252 | 252 | ||||
| n | 253 | or:: | n | 253 | or |
| 254 | |||||
| 255 | .. code-block:: bash | ||||
| 254 | 256 | ||||
| 255 | qemu-img create -f qcow2 /vms/cammy/cammy-aux.img 20G | 257 | qemu-img create -f qcow2 /vms/cammy/cammy-aux.img 20G | ||
| 257 | If you want to look that the image statistics try this command. | 259 | If you want to look that the image statistics try this command. | ||
| 258 | 260 | ||||
| t | 259 | :: | t | 261 | .. code-block:: bash |
| 262 | |||||
| 260 | 263 | ||||
| 261 | qemu-img info /vms/cammy/cammy-aux.img | 264 | qemu-img info /vms/cammy/cammy-aux.img | ||
| rev 57 | rev 58 | ||||
|---|---|---|---|---|---|
| 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | ||
| 252 | 252 | ||||
| t | t | 253 | or:: | ||
| 254 | |||||
| 255 | qemu-img create -f qcow2 /vms/cammy/cammy-aux.img 20G | ||||
| 256 | |||||
| 253 | If you want to look that the image statistics try this command. | 257 | If you want to look that the image statistics try this command. | ||
| 254 | 258 | ||||
| rev 56 | rev 57 | ||||
|---|---|---|---|---|---|
| 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | ||
| 252 | 252 | ||||
| n | 253 | If you want to look that the image statistics try this command | n | 253 | If you want to look that the image statistics try this command. |
| 254 | 254 | ||||
| 255 | :: | 255 | :: | ||
| t | t | 256 | |||
| 256 | qemu-img info /vms/cammy/cammy-aux.img | 257 | qemu-img info /vms/cammy/cammy-aux.img | ||
| rev 55 | rev 56 | ||||
|---|---|---|---|---|---|
| 247 | This is how you add an additional disk to a guest. In this example I will be ad | 247 | This is how you add an additional disk to a guest. In this example I will be ad | ||
| > | ding a 20GB disk image to a guest dom named cammy. | > | ding a 20GB disk image to a guest dom named cammy. | ||
| 248 | 248 | ||||
| n | n | 249 | :: | ||
| 249 | 250 | ||||
| n | n | 251 | fallocate -l 20g /vms/cammy/cammy-aux.img | ||
| 250 | 252 | ||||
| t | t | 253 | If you want to look that the image statistics try this command | ||
| 254 | |||||
| 255 | :: | ||||
| 256 | qemu-img info /vms/cammy/cammy-aux.img | ||||
| rev 54 | rev 55 | ||||
|---|---|---|---|---|---|
| 247 | This is how you add an additional disk to a guest. In this example I will be ad | 247 | This is how you add an additional disk to a guest. In this example I will be ad | ||
| > | ding a 20GB disk image to a guest dom named cammy. | > | ding a 20GB disk image to a guest dom named cammy. | ||
| 248 | 248 | ||||
| n | 249 | fallocate -l 20g /vms/cammy/cammy-aux.img | n | ||
| 250 | 249 | ||||
| n | 251 | Analyze an Disk Image | n | ||
| 252 | ========================== | ||||
| 253 | 250 | ||||
| t | 254 | **This is how**:: | t | ||
| 255 | |||||
| 256 | qemu-img info cammy.qcow2 | ||||
| 257 | image: cammy.qcow2 | ||||
| 258 | file format: qcow2 | ||||
| 259 | virtual size: 21G (22548578304 bytes) | ||||
| 260 | disk size: 895M | ||||
| 261 | cluster_size: 65536 | ||||
| 262 | |||||
| 263 | qemu-img info cammy-aux.img | ||||
| 264 | image: cammy-aux.img | ||||
| 265 | file format: raw | ||||
| 266 | virtual size: 20G (21474836480 bytes) | ||||
| 267 | disk size: 20G | ||||
| 268 | |||||
| rev 53 | rev 54 | ||||
|---|---|---|---|---|---|
| 247 | This is how you add an additional disk to a guest. In this example I will be ad | 247 | This is how you add an additional disk to a guest. In this example I will be ad | ||
| > | ding a 20GB disk image to a guest dom named cammy. | > | ding a 20GB disk image to a guest dom named cammy. | ||
| 248 | 248 | ||||
| n | n | 249 | fallocate -l 20g /vms/cammy/cammy-aux.img | ||
| 249 | 250 | ||||
| n | n | 251 | Analyze an Disk Image | ||
| 252 | ========================== | ||||
| 250 | 253 | ||||
| t | t | 254 | **This is how**:: | ||
| 255 | |||||
| 256 | qemu-img info cammy.qcow2 | ||||
| 257 | image: cammy.qcow2 | ||||
| 258 | file format: qcow2 | ||||
| 259 | virtual size: 21G (22548578304 bytes) | ||||
| 260 | disk size: 895M | ||||
| 261 | cluster_size: 65536 | ||||
| 262 | |||||
| 263 | qemu-img info cammy-aux.img | ||||
| 264 | image: cammy-aux.img | ||||
| 265 | file format: raw | ||||
| 266 | virtual size: 20G (21474836480 bytes) | ||||
| 267 | disk size: 20G | ||||
| 268 | |||||
| rev 52 | rev 53 | ||||
|---|---|---|---|---|---|
| 241 | 241 | ||||
| 242 | 242 | ||||
| t | t | 243 | |||
| 244 | Add another disk image to a guest | ||||
| 245 | ==================================== | ||||
| 246 | |||||
| 247 | This is how you add an additional disk to a guest. In this example I will be ad | ||||
| > | ding a 20GB disk image to a guest dom named cammy. | ||||
| 248 | |||||
| 249 | |||||
| 250 | |||||
| rev 51 | rev 52 | ||||
|---|---|---|---|---|---|
| 181 | 181 | ||||
| 182 | vmbuilder kvm ubuntu --help | 182 | vmbuilder kvm ubuntu --help | ||
| n | n | 183 | |||
| 184 | Custom vmbuilder string | ||||
| 185 | ------------------------------- | ||||
| 186 | |||||
| 187 | mbison example | ||||
| 188 | |||||
| 189 | .. code-block:: bash | ||||
| 190 | |||||
| 191 | VMNAME=mbison | ||||
| 192 | mkdir /vms/$VMNAME | ||||
| 193 | |||||
| 194 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | ||||
| > | ual \ | ||||
| 195 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | ||||
| > | |||||
| 196 | --ip=192.168.1.51 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||||
| > | |||||
| 197 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||||
| > | |||||
| 198 | |||||
| 199 | cammy example | ||||
| 200 | |||||
| 201 | .. code-block:: bash | ||||
| 202 | |||||
| 203 | VMNAME=cammy | ||||
| 204 | mkdir /vms/$VMNAME | ||||
| 205 | |||||
| 206 | sudo vmbuilder kvm ubuntu \ | ||||
| 207 | --libvirt=qemu:///system \ | ||||
| 208 | --suite=lucid \ | ||||
| 209 | --arch=amd64 -o \ | ||||
| 210 | --flavour=virtual \ | ||||
| 211 | --hostname=$VMNAME \ | ||||
| 212 | --dest=/vms/$VMNAME \ | ||||
| 213 | --rootsize=20480 \ | ||||
| 214 | --mem=1024 \ | ||||
| 215 | --bridge=br0 \ | ||||
| 216 | --ip=192.168.1.52 \ | ||||
| 217 | --gw=192.168.1.254 \ | ||||
| 218 | --dns=192.168.1.22 \ | ||||
| 219 | --user=john \ | ||||
| 220 | --pass=doe \ | ||||
| 221 | --addpkg=openssh-server \ | ||||
| 222 | --addpkg=acpid \ | ||||
| 223 | --timezone=EDT \ | ||||
| 224 | --verbose | ||||
| 183 | 225 | ||||
| 184 | 226 | ||||
| 197 | sudo mount /dev/nbd0p1 /mnt/image | 239 | sudo mount /dev/nbd0p1 /mnt/image | ||
| 198 | 240 | ||||
| t | t | 241 | |||
| 242 | |||||
| rev 50 | rev 51 | ||||
|---|---|---|---|---|---|
| 182 | vmbuilder kvm ubuntu --help | 182 | vmbuilder kvm ubuntu --help | ||
| 183 | 183 | ||||
| t | t | 184 | |||
| 185 | |||||
| 186 | Mounting a qcow2 image on the host | ||||
| 187 | ====================================== | ||||
| 188 | |||||
| 189 | Sometimes it is helpful to be able to mount a drive image under the host system. | ||||
| > | For example, if the guest doesn't have network support, the only way to transfe | ||||
| > | r files into and out of the guest will be by the storage devices it can address | ||||
| > | or to restore files from a backup image. | ||||
| 190 | |||||
| 191 | To mount qcow2 images there is (at least in F-11 qemu) very useful qemu-nbd util | ||||
| > | . It shares image through kernel network block device protocol and this allows t | ||||
| > | o mount it: | ||||
| 192 | |||||
| 193 | .. code-block:: bash | ||||
| 194 | |||||
| 195 | sudo modprobe nbd max_part=63 | ||||
| 196 | sudo qemu-nbd -c /dev/nbd0 image.img | ||||
| 197 | sudo mount /dev/nbd0p1 /mnt/image | ||||
| 198 | |||||
| rev 49 | rev 50 | ||||
|---|---|---|---|---|---|
| 163 | 163 | ||||
| 164 | 164 | ||||
| t | 165 | t | |||
| 166 | Vmbuilder Example | 165 | Vmbuilder Example | ||
| 167 | ====================== | 166 | ====================== | ||
| 168 | 167 | ||||
| rev 48 | rev 49 | ||||
|---|---|---|---|---|---|
| 162 | 162 | ||||
| 163 | 163 | ||||
| n | n | 164 | |||
| 165 | |||||
| 164 | Vmbuilder Example | 166 | Vmbuilder Example | ||
| 165 | ====================== | 167 | ====================== | ||
| 181 | vmbuilder kvm ubuntu --help | 183 | vmbuilder kvm ubuntu --help | ||
| 182 | 184 | ||||
| t | 183 | Custom vmbuilder string | t | ||
| 184 | ------------------------------- | ||||
| 185 | |||||
| 186 | mbison example | ||||
| 187 | |||||
| 188 | .. code-block:: bash | ||||
| 189 | |||||
| 190 | VMNAME=mbison | ||||
| 191 | mkdir /vms/$VMNAME | ||||
| 192 | |||||
| 193 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | ||||
| > | ual \ | ||||
| 194 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | ||||
| 195 | --ip=192.168.1.51 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||||
| 196 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||||
| 197 | |||||
| 198 | cammy example | ||||
| 199 | |||||
| 200 | .. code-block:: bash | ||||
| 201 | |||||
| 202 | |||||
| 203 | VMNAME=cammy | ||||
| 204 | mkdir /vms/$VMNAME | ||||
| 205 | |||||
| 206 | sudo vmbuilder kvm ubuntu \ | ||||
| 207 | --libvirt=qemu:///system \ | ||||
| 208 | --suite=lucid \ | ||||
| 209 | --arch=amd64 -o \ | ||||
| 210 | --flavour=virtual \ | ||||
| 211 | --hostname=$VMNAME \ | ||||
| 212 | --dest=/vms/$VMNAME \ | ||||
| 213 | --rootsize=20480 \ | ||||
| 214 | --mem=1024 \ | ||||
| 215 | --bridge=br0 \ | ||||
| 216 | --ip=192.168.1.52 \ | ||||
| 217 | --gw=192.168.1.254 \ | ||||
| 218 | --dns=192.168.1.22 \ | ||||
| 219 | --user=john \ | ||||
| 220 | --pass=doe \ | ||||
| 221 | --addpkg=openssh-server \ | ||||
| 222 | --addpkg=acpid \ | ||||
| 223 | --timezone=EDT \ | ||||
| 224 | --verbose | ||||
| 225 | |||||
| 226 | |||||
| 227 | |||||
| rev 47 | rev 48 | ||||
|---|---|---|---|---|---|
| 134 | 134 | ||||
| 135 | 135 | ||||
| n | 136 | configure kvm serial console | n | 136 | Virtual Serial Console configuration |
| 137 | ================================== | 137 | ====================================== | ||
| 138 | 138 | ||||
| 139 | **From the KVM host run:** | 139 | **From the KVM host run:** | ||
| 159 | sudo vi /etc/init/ttyS0.conf | 159 | sudo vi /etc/init/ttyS0.conf | ||
| 160 | sudo diff /etc/init/tty06.conf /etc/init/ttyS0.conf | 160 | sudo diff /etc/init/tty06.conf /etc/init/ttyS0.conf | ||
| n | n | 161 | |||
| 162 | |||||
| 163 | |||||
| 161 | Vmbuilder Example | 164 | Vmbuilder Example | ||
| 162 | ====================== | 165 | ====================== | ||
| 223 | 226 | ||||
| 224 | 227 | ||||
| t | 225 | Mount a qcow2 or raw image file | t | ||
| 226 | ================================= | ||||
| 227 | |||||
| 228 | The following procedures allow a host to mount a guest image file. This is usef | ||||
| > | ul when trouble shooting issues with the guest. The following procedures requir | ||||
| > | e root access (you can sudo). | ||||
| 229 | |||||
| 230 | **qcow2** | ||||
| 231 | |||||
| 232 | .. code-block:: python | ||||
| 233 | |||||
| 234 | modprobe nbd max_part=63 | ||||
| 235 | qemu-nbd -c /dev/nbd0 image.img | ||||
| 236 | mount /dev/nbd0p1 /mnt/image | ||||
| 237 | |||||
| 238 | **raw** | ||||
| 239 | |||||
| 240 | .. code-block:: python | ||||
| 241 | |||||
| 242 | losetup /dev/loop0 image.img | ||||
| 243 | kpartx -a /dev/loop0 | ||||
| 244 | mount /dev/mapper/loop0p1 /mnt/image | ||||
| 245 | |||||
| 246 | If there is an LVM present on the image file, you can initialize it by running | ||||
| 247 | |||||
| 248 | .. code-block:: python | ||||
| 249 | |||||
| 250 | vgscan | ||||
| 251 | vgchange -ay | ||||
| 252 | mount /dev/VolGroupName/LogVolName /mnt/image | ||||
| 253 | |||||
| 254 | Run the following when finished | ||||
| 255 | |||||
| 256 | .. code-block:: python | ||||
| 257 | |||||
| 258 | umount /mnt/image | ||||
| 259 | vgchange -an VolGroupName | ||||
| 260 | killall qemu-nbd | ||||
| 261 | kpartx -d /dev/loop0 | ||||
| 262 | losetup -d /dev/loop0 | ||||
| 263 | |||||
| 264 | reference: http://en.wikibooks.org/wiki/QEMU/Images | ||||
| 265 | |||||
| 266 | |||||
| rev 46 | rev 47 | ||||
|---|---|---|---|---|---|
| 135 | 135 | ||||
| 136 | configure kvm serial console | 136 | configure kvm serial console | ||
| n | 137 | --------------------------------- | n | 137 | ================================== |
| 138 | 138 | ||||
| 139 | **From the KVM host run:** | 139 | **From the KVM host run:** | ||
| 265 | 265 | ||||
| 266 | 266 | ||||
| t | 267 | Backing up kvm guests with virtback | t | ||
| 268 | ======================================= | ||||
| 269 | |||||
| 270 | http://russell.ballestrini.net/virtback-a-python-libvirt-backup-utility-for-kvm/ | ||||
| 271 | |||||
| 272 | download virt-back and place it into usr/local/bin | ||||
| 273 | |||||
| 274 | run: *virt-back -h* for a list of options | ||||
| rev 45 | rev 46 | ||||
|---|---|---|---|---|---|
| 134 | 134 | ||||
| 135 | 135 | ||||
| n | 136 | Note | n | 136 | configure kvm serial console |
| 137 | ------ | 137 | --------------------------------- | ||
| 138 | Typically the guests harddrive is not attached, you must add it in the configura | ||||
| > | tion. | ||||
| 139 | 138 | ||||
| n | 140 | Typically the guests memory is set to 100mbs, you might want to change that in t | n | 139 | **From the KVM host run:** |
| > | he configuration. | ||||
| 141 | 140 | ||||
| n | 142 | Once booted and ssh'd into the VM, cat /etc/network/interfaces to verify that th | n | 141 | .. code-block:: xml |
| > | e DNS settings are correct. | ||||
| 143 | 142 | ||||
| n | 144 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | n | 143 | virsh edit <dom> |
| > | uilder string) | ||||
| 145 | 144 | ||||
| n | n | 145 | Then add the following inside the <device></device> directives: | ||
| 146 | 146 | ||||
| n | n | 147 | .. code-block:: xml | ||
| 148 | |||||
| 149 | <serial type="pty"> | ||||
| 150 | <source path="/dev/pts/3" /> | ||||
| 151 | <target port="1" /> | ||||
| 152 | </serial> | ||||
| 153 | |||||
| 154 | **From the Guest run:** | ||||
| 155 | |||||
| 156 | .. code-block:: xml | ||||
| 157 | |||||
| 158 | sudo cp -p /etc/init/tty06.conf /etc/init/ttyS0.conf | ||||
| 159 | sudo vi /etc/init/ttyS0.conf | ||||
| 160 | sudo diff /etc/init/tty06.conf /etc/init/ttyS0.conf | ||||
| 147 | Vmbuilder Example | 161 | Vmbuilder Example | ||
| 148 | ====================== | 162 | ====================== | ||
| 149 | 163 | ||||
| 256 | http://russell.ballestrini.net/virtback-a-python-libvirt-backup-utility-for-kvm/ | 270 | http://russell.ballestrini.net/virtback-a-python-libvirt-backup-utility-for-kvm/ | ||
| 257 | 271 | ||||
| n | 258 | download virtback and place it into usr/local/bin | n | 272 | download virt-back and place it into usr/local/bin |
| 259 | 273 | ||||
| t | 260 | run: *virtback -h* for a list of options | t | 274 | run: *virt-back -h* for a list of options |
| rev 44 | rev 45 | ||||
|---|---|---|---|---|---|
| 200 | --gw=192.168.1.254 \ | 200 | --gw=192.168.1.254 \ | ||
| 201 | --dns=192.168.1.22 \ | 201 | --dns=192.168.1.22 \ | ||
| t | t | 202 | --user=john \ | ||
| 203 | --pass=doe \ | ||||
| 202 | --addpkg=openssh-server \ | 204 | --addpkg=openssh-server \ | ||
| 203 | --addpkg=acpid \ | 205 | --addpkg=acpid \ | ||
| rev 43 | rev 44 | ||||
|---|---|---|---|---|---|
| 194 | --hostname=$VMNAME \ | 194 | --hostname=$VMNAME \ | ||
| 195 | --dest=/vms/$VMNAME \ | 195 | --dest=/vms/$VMNAME \ | ||
| t | 196 | --raw=/vms/$VMNAME.dcow2 \ | t | ||
| 197 | --rootsize=20480 \ | 196 | --rootsize=20480 \ | ||
| 198 | --mem=1024 \ | 197 | --mem=1024 \ | ||
| rev 42 | rev 43 | ||||
|---|---|---|---|---|---|
| 190 | --libvirt=qemu:///system \ | 190 | --libvirt=qemu:///system \ | ||
| 191 | --suite=lucid \ | 191 | --suite=lucid \ | ||
| n | 192 | --flavour=virtual \ | n | ||
| 193 | --arch=amd64 -o \ | 192 | --arch=amd64 -o \ | ||
| n | n | 193 | --flavour=virtual \ | ||
| 194 | --hostname=$VMNAME \ | 194 | --hostname=$VMNAME \ | ||
| 195 | --dest=/vms/$VMNAME \ | 195 | --dest=/vms/$VMNAME \ | ||
| 208 | 208 | ||||
| 209 | 209 | ||||
| t | 210 | t | |||
| 211 | |||||
| 212 | Mount a qcow2 or raw image file | 210 | Mount a qcow2 or raw image file | ||
| 213 | ================================= | 211 | ================================= | ||
| rev 41 | rev 42 | ||||
|---|---|---|---|---|---|
| 191 | --suite=lucid \ | 191 | --suite=lucid \ | ||
| 192 | --flavour=virtual \ | 192 | --flavour=virtual \ | ||
| n | 193 | --arch=amd64 \ | n | 193 | --arch=amd64 -o \ |
| 194 | --hostname=$VMNAME \ | 194 | --hostname=$VMNAME \ | ||
| 195 | --dest=/vms/$VMNAME \ | 195 | --dest=/vms/$VMNAME \ | ||
| 210 | 210 | ||||
| 211 | 211 | ||||
| t | 212 | t | |||
| 213 | Mount a qcow2 or raw image file | 212 | Mount a qcow2 or raw image file | ||
| 214 | ================================= | 213 | ================================= | ||
| rev 40 | rev 41 | ||||
|---|---|---|---|---|---|
| 183 | .. code-block:: bash | 183 | .. code-block:: bash | ||
| 184 | 184 | ||||
| n | n | 185 | |||
| 185 | VMNAME=cammy | 186 | VMNAME=cammy | ||
| 186 | mkdir /vms/$VMNAME | 187 | mkdir /vms/$VMNAME | ||
| 187 | 188 | ||||
| t | 188 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | t | 189 | sudo vmbuilder kvm ubuntu \ |
| > | ual \ | ||||
| 189 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 \ | 190 | --libvirt=qemu:///system \ | ||
| 190 | --hostname=$VMNAME --domain='foxhop.net' --bridge=br0 \ | 191 | --suite=lucid \ | ||
| 191 | --raw=/vms/$VMNAME.dcow2 --rootsize='20480' --mem='1024' \ | 192 | --flavour=virtual \ | ||
| 192 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | 193 | --arch=amd64 \ | ||
| 193 | 194 | --hostname=$VMNAME \ | |||
| 195 | --dest=/vms/$VMNAME \ | ||||
| 196 | --raw=/vms/$VMNAME.dcow2 \ | ||||
| 197 | --rootsize=20480 \ | ||||
| 198 | --mem=1024 \ | ||||
| 199 | --bridge=br0 \ | ||||
| 200 | --ip=192.168.1.52 \ | ||||
| 201 | --gw=192.168.1.254 \ | ||||
| 202 | --dns=192.168.1.22 \ | ||||
| 203 | --addpkg=openssh-server \ | ||||
| 204 | --addpkg=acpid \ | ||||
| 205 | --timezone=EDT \ | ||||
| 206 | --verbose | ||||
| 194 | 207 | ||||
| 195 | 208 | ||||
| rev 39 | rev 40 | ||||
|---|---|---|---|---|---|
| 189 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 \ | 189 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 \ | ||
| 190 | --hostname=$VMNAME --domain='foxhop.net' --bridge=br0 \ | 190 | --hostname=$VMNAME --domain='foxhop.net' --bridge=br0 \ | ||
| t | 191 | --raw=/vms/$VMNAME --rootsize='20480' --mem='1024' \ | t | 191 | --raw=/vms/$VMNAME.dcow2 --rootsize='20480' --mem='1024' \ |
| 192 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | 192 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||
| 193 | 193 | ||||
| rev 38 | rev 39 | ||||
|---|---|---|---|---|---|
| 187 | 187 | ||||
| 188 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | 188 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | ||
| > | ual \ | > | ual \ | ||
| t | 189 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 | t | 189 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 \ |
| 190 | --hostname=$VMNAME --domain='foxhop.net' --bridge=br0 \ | 190 | --hostname=$VMNAME --domain='foxhop.net' --bridge=br0 \ | ||
| 191 | --raw=/vms/$VMNAME --rootsize='20480' --mem='1024' \ | 191 | --raw=/vms/$VMNAME --rootsize='20480' --mem='1024' \ | ||
| rev 37 | rev 38 | ||||
|---|---|---|---|---|---|
| 187 | 187 | ||||
| 188 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | 188 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | ||
| > | ual \ | > | ual \ | ||
| t | 189 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='20480' --mem='1024' \ | t | ||
| 190 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 189 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 | ||
| 190 | --hostname=$VMNAME --domain='foxhop.net' --bridge=br0 \ | ||||
| 191 | --raw=/vms/$VMNAME --rootsize='20480' --mem='1024' \ | ||||
| 191 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | 192 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||
| 192 | 193 | ||||
| rev 36 | rev 37 | ||||
|---|---|---|---|---|---|
| 176 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | 176 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | ||
| > | ual \ | > | ual \ | ||
| 177 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | 177 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | ||
| t | 178 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | t | 178 | --ip=192.168.1.51 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ |
| 179 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | 179 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||
| 180 | 180 | ||||
| rev 35 | rev 36 | ||||
|---|---|---|---|---|---|
| 167 | ------------------------------- | 167 | ------------------------------- | ||
| 168 | 168 | ||||
| n | n | 169 | mbison example | ||
| 170 | |||||
| 169 | .. code-block:: bash | 171 | .. code-block:: bash | ||
| 170 | 172 | ||||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 178 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | 179 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||
| t | t | 180 | |||
| 181 | cammy example | ||||
| 182 | |||||
| 183 | .. code-block:: bash | ||||
| 184 | |||||
| 185 | VMNAME=cammy | ||||
| 186 | mkdir /vms/$VMNAME | ||||
| 187 | |||||
| 188 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt | ||||
| > | ual \ | ||||
| 189 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='20480' --mem='1024' \ | ||||
| 190 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||||
| 191 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||||
| 192 | |||||
| 193 | |||||
| 194 | |||||
| 178 | 195 | ||||
| 179 | 196 | ||||
| rev 34 | rev 35 | ||||
|---|---|---|---|---|---|
| 220 | 220 | ||||
| 221 | reference: http://en.wikibooks.org/wiki/QEMU/Images | 221 | reference: http://en.wikibooks.org/wiki/QEMU/Images | ||
| t | t | 222 | |||
| 223 | |||||
| 224 | Backing up kvm guests with virtback | ||||
| 225 | ======================================= | ||||
| 226 | |||||
| 227 | http://russell.ballestrini.net/virtback-a-python-libvirt-backup-utility-for-kvm/ | ||||
| 228 | |||||
| 229 | download virtback and place it into usr/local/bin | ||||
| 230 | |||||
| 231 | run: *virtback -h* for a list of options | ||||
| rev 33 | rev 34 | ||||
|---|---|---|---|---|---|
| 172 | mkdir /vms/$VMNAME | 172 | mkdir /vms/$VMNAME | ||
| 173 | 173 | ||||
| t | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual \ | t | 174 | sudo vmbuilder kvm ubuntu --libvirt=qemu:///system --suite=lucid --flavour=virt |
| > | ual \ | ||||
| 175 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | 175 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | ||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| rev 32 | rev 33 | ||||
|---|---|---|---|---|---|
| 172 | mkdir /vms/$VMNAME | 172 | mkdir /vms/$VMNAME | ||
| 173 | 173 | ||||
| t | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual --hostname=$VMNAME -- | t | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual \ |
| > | domain='foxhop.net' \ | ||||
| 175 | --raw='/vms/$VMNAME/$VMNAME.img' --rootsize='10240' --mem='1024' \ | 175 | --hostname=$VMNAME --domain='foxhop.net' --rootsize='10240' --mem='1024' \ | ||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose | ||
| rev 31 | rev 32 | ||||
|---|---|---|---|---|---|
| 172 | mkdir /vms/$VMNAME | 172 | mkdir /vms/$VMNAME | ||
| 173 | 173 | ||||
| n | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual --hostname=$VMNAME -- | n | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual --hostname=$VMNAME -- |
| > | domain=foxhop.net \ | > | domain='foxhop.net' \ | ||
| 175 | --rootsize=10240 --raw=/vms/$VMNAME/$VMNAME.img --mem=1024 \ | 175 | --raw='/vms/$VMNAME/$VMNAME.img' --rootsize='10240' --mem='1024' \ | ||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| t | 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT | t | 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --verbose |
| 178 | 178 | ||||
| 179 | 179 | ||||
| rev 30 | rev 31 | ||||
|---|---|---|---|---|---|
| 172 | mkdir /vms/$VMNAME | 172 | mkdir /vms/$VMNAME | ||
| 173 | 173 | ||||
| t | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual \ | t | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual --hostname=$VMNAME -- |
| > | domain=foxhop.net \ | ||||
| 175 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | 175 | --rootsize=10240 --raw=/vms/$VMNAME/$VMNAME.img --mem=1024 \ | ||
| > | m=1024 \ | ||||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT | 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT | ||
| rev 29 | rev 30 | ||||
|---|---|---|---|---|---|
| 175 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | 175 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | ||
| > | m=1024 \ | > | m=1024 \ | ||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| t | 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --manifest=/vms/$VMNAME/m | t | 177 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT |
| > | anifest.txt | ||||
| 178 | |||||
| 178 | 179 | ||||
| 179 | 180 | ||||
| rev 28 | rev 29 | ||||
|---|---|---|---|---|---|
| 172 | mkdir /vms/$VMNAME | 172 | mkdir /vms/$VMNAME | ||
| 173 | 173 | ||||
| t | 174 | sudo vmbuilder kvm ubuntu -o --libvirt=qemu:///system --suite=lucid --flavour=v | t | 174 | sudo vmbuilder kvm ubuntu --suite=lucid --flavour=virtual \ |
| > | irtual \ | ||||
| 175 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | 175 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | ||
| > | m=1024 \ | > | m=1024 \ | ||
| 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | 176 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||
| rev 27 | rev 28 | ||||
|---|---|---|---|---|---|
| 50 | **kvm** | 50 | **kvm** | ||
| 51 | | virsh list | 51 | | virsh list | ||
| n | 52 | | virsh dominfo <guest name> | n | 52 | | virsh dominfo <dom name> |
| 53 | 53 | ||||
| 54 | Start a guest | 54 | Start a guest | ||
| 56 | 56 | ||||
| 57 | **xen** | 57 | **xen** | ||
| n | 58 | | xm create /etc/xen/<guest name> | n | 58 | | xm create /etc/xen/<dom name> |
| 59 | 59 | ||||
| 60 | **kvm** | 60 | **kvm** | ||
| n | 61 | | virsh create /etc/libvirt/qemu/<guest name>.xml | n | 61 | | virsh create /etc/libvirt/qemu/<dom name>.xml |
| 62 | | virsh start <domain> | 62 | | virsh start <dom name> | ||
| 63 | 63 | ||||
| 64 | Console to guest | 64 | Console to guest | ||
| 66 | 66 | ||||
| 67 | **xen** | 67 | **xen** | ||
| n | 68 | xm console <guest name> | n | 68 | xm console <dom name> |
| 69 | 69 | ||||
| 70 | **kvm** | 70 | **kvm** | ||
| n | 71 | virsh console <guest name> | n | 71 | virsh console <dom name> |
| 72 | 72 | ||||
| 73 | Shutdown a guest | 73 | Shutdown a guest | ||
| 75 | 75 | ||||
| 76 | **xen** | 76 | **xen** | ||
| n | 77 | xm shutdown <guest name> | n | 77 | xm shutdown <dom name> |
| 78 | 78 | ||||
| 79 | **kvm** | 79 | **kvm** | ||
| n | 80 | virsh shutdown <guest name> | n | 80 | virsh shutdown <dom name> |
| 81 | 81 | ||||
| 82 | This command doesn't always work... | 82 | This command doesn't always work... | ||
| 84 | Be sure the guests XML file has the following entry: | 84 | Be sure the guests XML file has the following entry: | ||
| 85 | 85 | ||||
| n | 86 | <feature> <acpi/> </feature> | n | 86 | | <feature> |
| 87 | | <acpi/> | ||||
| 88 | | </feature> | ||||
| 87 | 89 | ||||
| 88 | Also make sure the apci is installed on the guest operating system. | 90 | Also make sure the apci is installed on the guest operating system. | ||
| 98 | 100 | ||||
| 99 | **xen** | 101 | **xen** | ||
| n | 100 | ln -s /etc/xen/<guest name> /etc/xen/auto/<guest name> | n | 102 | ln -s /etc/xen/<dom name> /etc/xen/auto/<dom name> |
| 101 | 103 | ||||
| 102 | **kvm** | 104 | **kvm** | ||
| n | 103 | virsh autostart <guest name> | n | 105 | virsh autostart <dom name> |
| 104 | 106 | ||||
| 105 | Edit a guests configuration file | 107 | Edit a guests configuration file | ||
| 109 | 111 | ||||
| 110 | **kvm** | 112 | **kvm** | ||
| n | 111 | virsh edit <domain> | n | 113 | virsh edit <dom name> |
| 112 | 114 | ||||
| 113 | 115 | ||||
| 117 | ---------------------------- | 119 | ---------------------------- | ||
| 118 | **xen** | 120 | **xen** | ||
| n | 119 | xm destroy <guest> | n | 121 | xm destroy <dom name> |
| 120 | 122 | ||||
| 121 | **kvm** | 123 | **kvm** | ||
| n | 122 | virsh destroy <domain> | n | 124 | virsh destroy <dom name> |
| 123 | 125 | ||||
| 124 | Quit virsh cli | 126 | Quit virsh cli | ||
| 126 | 128 | ||||
| 127 | **kvm** | 129 | **kvm** | ||
| t | 128 | virsh # quit | t | 130 | virsh quit |
| 129 | 131 | ||||
| 130 | 132 | ||||
| rev 26 | rev 27 | ||||
|---|---|---|---|---|---|
| 141 | 141 | ||||
| 142 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | 142 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | ||
| > | uilder string) | > | uilder string) | ||
| n | n | 143 | |||
| 144 | |||||
| 145 | Vmbuilder Example | ||||
| 146 | ====================== | ||||
| 147 | |||||
| 148 | This example assumes ubuntu linux. | ||||
| 149 | |||||
| 150 | Install vmbuilder | ||||
| 151 | --------------------- | ||||
| 152 | |||||
| 153 | .. code-block:: python | ||||
| 154 | |||||
| 155 | sudo apt-get install python-vm-builder | ||||
| 156 | |||||
| 157 | Display Help vmbuilder | ||||
| 158 | -------------------------------- | ||||
| 159 | |||||
| 160 | .. code-block:: python | ||||
| 161 | |||||
| 162 | vmbuilder kvm ubuntu --help | ||||
| 163 | |||||
| 164 | Custom vmbuilder string | ||||
| 165 | ------------------------------- | ||||
| 166 | |||||
| 167 | .. code-block:: bash | ||||
| 168 | |||||
| 169 | VMNAME=mbison | ||||
| 170 | mkdir /vms/$VMNAME | ||||
| 171 | |||||
| 172 | sudo vmbuilder kvm ubuntu -o --libvirt=qemu:///system --suite=lucid --flavour=v | ||||
| > | irtual \ | ||||
| 173 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | ||||
| > | m=1024 \ | ||||
| 174 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||||
| 175 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --manifest=/vms/$VMNAME/m | ||||
| > | anifest.txt | ||||
| 176 | |||||
| 177 | |||||
| 143 | 178 | ||||
| 144 | Mount a qcow2 or raw image file | 179 | Mount a qcow2 or raw image file | ||
| 182 | 217 | ||||
| 183 | reference: http://en.wikibooks.org/wiki/QEMU/Images | 218 | reference: http://en.wikibooks.org/wiki/QEMU/Images | ||
| t | 184 | t | |||
| 185 | |||||
| 186 | Vmbuilder Example | ||||
| 187 | ====================== | ||||
| 188 | |||||
| 189 | This example assumes ubuntu linux. | ||||
| 190 | |||||
| 191 | Install vmbuilder | ||||
| 192 | --------------------- | ||||
| 193 | |||||
| 194 | .. code-block:: python | ||||
| 195 | |||||
| 196 | sudo apt-get install python-vm-builder | ||||
| 197 | |||||
| 198 | Display Help vmbuilder | ||||
| 199 | -------------------------------- | ||||
| 200 | |||||
| 201 | .. code-block:: python | ||||
| 202 | |||||
| 203 | vmbuilder kvm ubuntu --help | ||||
| 204 | |||||
| 205 | Custom vmbuilder string | ||||
| 206 | ------------------------------- | ||||
| 207 | |||||
| 208 | .. code-block:: bash | ||||
| 209 | |||||
| 210 | VMNAME=mbison | ||||
| 211 | mkdir /vms/$VMNAME | ||||
| 212 | |||||
| 213 | sudo vmbuilder kvm ubuntu -o --libvirt=qemu:///system --suite=lucid --flavour=v | ||||
| > | irtual \ | ||||
| 214 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | ||||
| > | m=1024 \ | ||||
| 215 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||||
| 216 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --manifest=/vms/$VMNAME/m | ||||
| > | anifest.txt | ||||
| 217 | |||||
| rev 25 | rev 26 | ||||
|---|---|---|---|---|---|
| 189 | This example assumes ubuntu linux. | 189 | This example assumes ubuntu linux. | ||
| 190 | 190 | ||||
| n | 191 | **install vmbuilder** | n | 191 | Install vmbuilder |
| 192 | --------------------- | ||||
| 192 | 193 | ||||
| 193 | .. code-block:: python | 194 | .. code-block:: python | ||
| 195 | sudo apt-get install python-vm-builder | 196 | sudo apt-get install python-vm-builder | ||
| 196 | 197 | ||||
| n | 197 | **display help vmbuilder** | n | 198 | Display Help vmbuilder |
| 199 | -------------------------------- | ||||
| 198 | 200 | ||||
| 199 | .. code-block:: python | 201 | .. code-block:: python | ||
| 201 | vmbuilder kvm ubuntu --help | 203 | vmbuilder kvm ubuntu --help | ||
| 202 | 204 | ||||
| t | 203 | **my custom vmbuilder string** | t | 205 | Custom vmbuilder string |
| 206 | ------------------------------- | ||||
| 204 | 207 | ||||
| 205 | .. code-block:: bash | 208 | .. code-block:: bash | ||
| rev 24 | rev 25 | ||||
|---|---|---|---|---|---|
| 206 | 206 | ||||
| 207 | VMNAME=mbison | 207 | VMNAME=mbison | ||
| t | t | 208 | mkdir /vms/$VMNAME | ||
| 208 | 209 | ||||
| 209 | sudo vmbuilder kvm ubuntu -o --libvirt=qemu:///system --suite=lucid --flavour=v | 210 | sudo vmbuilder kvm ubuntu -o --libvirt=qemu:///system --suite=lucid --flavour=v | ||
| > | irtual \ | > | irtual \ | ||
| rev 23 | rev 24 | ||||
|---|---|---|---|---|---|
| 203 | **my custom vmbuilder string** | 203 | **my custom vmbuilder string** | ||
| 204 | 204 | ||||
| n | 205 | .. code-block:: python | n | 205 | .. code-block:: bash |
| 206 | 206 | ||||
| 207 | VMNAME=mbison | 207 | VMNAME=mbison | ||
| 208 | 208 | ||||
| n | 209 | vmbuilder kvm ubuntu --hostname $VMNAME --domain=foxhop.net --suite maverick -- | n | 209 | sudo vmbuilder kvm ubuntu -o --libvirt=qemu:///system --suite=lucid --flavour=v |
| > | flavour virtual --rootsize=10240 --swapsize=1024 --raw=/vms/$VMNAME --ip 192.168 | > | irtual \ | ||
| > | .1.52 --bridge br0 --addpkg openssh-server --addpkg acpid | ||||
| 210 | --hostname=$VMNAME --domain=foxhop.net --rootsize=10240 --raw=/vms/$VMNAME --me | ||||
| > | m=1024 \ | ||||
| 211 | --ip=192.168.1.52 --gw=192.168.1.254 --dns=192.168.1.22 --bridge=br0 \ | ||||
| 212 | --addpkg=openssh-server --addpkg=acpid --timezone=EDT --manifest=/vms/$VMNAME/m | ||||
| > | anifest.txt | ||||
| 210 | 213 | ||||
| t | 211 | -o --libvirt qemu:///system | t | ||
| rev 22 | rev 23 | ||||
|---|---|---|---|---|---|
| 201 | vmbuilder kvm ubuntu --help | 201 | vmbuilder kvm ubuntu --help | ||
| 202 | 202 | ||||
| t | t | 203 | **my custom vmbuilder string** | ||
| 204 | |||||
| 205 | .. code-block:: python | ||||
| 206 | |||||
| 207 | VMNAME=mbison | ||||
| 208 | |||||
| 209 | vmbuilder kvm ubuntu --hostname $VMNAME --domain=foxhop.net --suite maverick -- | ||||
| > | flavour virtual --rootsize=10240 --swapsize=1024 --raw=/vms/$VMNAME --ip 192.168 | ||||
| > | .1.52 --bridge br0 --addpkg openssh-server --addpkg acpid | ||||
| 210 | |||||
| 211 | -o --libvirt qemu:///system | ||||
| rev 21 | rev 22 | ||||
|---|---|---|---|---|---|
| 195 | sudo apt-get install python-vm-builder | 195 | sudo apt-get install python-vm-builder | ||
| 196 | 196 | ||||
| t | 197 | t | |||
| 198 | This example assumes ubuntu linux. | ||||
| 199 | |||||
| 200 | **display help vmbuilder** | 197 | **display help vmbuilder** | ||
| 201 | 198 | ||||
| rev 20 | rev 21 | ||||
|---|---|---|---|---|---|
| 184 | 184 | ||||
| 185 | 185 | ||||
| t | 186 | vmbuilder example | t | 186 | Vmbuilder Example |
| 187 | ====================== | 187 | ====================== | ||
| 188 | 188 | ||||
| rev 19 | rev 20 | ||||
|---|---|---|---|---|---|
| 189 | This example assumes ubuntu linux. | 189 | This example assumes ubuntu linux. | ||
| 190 | 190 | ||||
| n | n | 191 | **install vmbuilder** | ||
| 192 | |||||
| 191 | ..code-block:: python | 193 | .. code-block:: python | ||
| 192 | 194 | ||||
| n | 193 | sudo apt-get install python-vm-builder | n | 195 | sudo apt-get install python-vm-builder |
| 194 | 196 | ||||
| t | t | 197 | |||
| 198 | This example assumes ubuntu linux. | ||||
| 199 | |||||
| 200 | **display help vmbuilder** | ||||
| 201 | |||||
| 202 | .. code-block:: python | ||||
| 203 | |||||
| 204 | vmbuilder kvm ubuntu --help | ||||
| 205 | |||||
| rev 18 | rev 19 | ||||
|---|---|---|---|---|---|
| 182 | 182 | ||||
| 183 | reference: http://en.wikibooks.org/wiki/QEMU/Images | 183 | reference: http://en.wikibooks.org/wiki/QEMU/Images | ||
| t | t | 184 | |||
| 185 | |||||
| 186 | vmbuilder example | ||||
| 187 | ====================== | ||||
| 188 | |||||
| 189 | This example assumes ubuntu linux. | ||||
| 190 | |||||
| 191 | ..code-block:: python | ||||
| 192 | |||||
| 193 | sudo apt-get install python-vm-builder | ||||
| 194 | |||||
| rev 17 | rev 18 | ||||
|---|---|---|---|---|---|
| 180 | kpartx -d /dev/loop0 | 180 | kpartx -d /dev/loop0 | ||
| 181 | losetup -d /dev/loop0 | 181 | losetup -d /dev/loop0 | ||
| t | t | 182 | |||
| 183 | reference: http://en.wikibooks.org/wiki/QEMU/Images | ||||
| rev 16 | rev 17 | ||||
|---|---|---|---|---|---|
| 170 | vgchange -ay | 170 | vgchange -ay | ||
| 171 | mount /dev/VolGroupName/LogVolName /mnt/image | 171 | mount /dev/VolGroupName/LogVolName /mnt/image | ||
| t | t | 172 | |||
| 173 | Run the following when finished | ||||
| 174 | |||||
| 175 | .. code-block:: python | ||||
| 176 | |||||
| 177 | umount /mnt/image | ||||
| 178 | vgchange -an VolGroupName | ||||
| 179 | killall qemu-nbd | ||||
| 180 | kpartx -d /dev/loop0 | ||||
| 181 | losetup -d /dev/loop0 | ||||
| rev 15 | rev 16 | ||||
|---|---|---|---|---|---|
| 162 | kpartx -a /dev/loop0 | 162 | kpartx -a /dev/loop0 | ||
| 163 | mount /dev/mapper/loop0p1 /mnt/image | 163 | mount /dev/mapper/loop0p1 /mnt/image | ||
| t | t | 164 | |||
| 165 | If there is an LVM present on the image file, you can initialize it by running | ||||
| 166 | |||||
| 167 | .. code-block:: python | ||||
| 168 | |||||
| 169 | vgscan | ||||
| 170 | vgchange -ay | ||||
| 171 | mount /dev/VolGroupName/LogVolName /mnt/image | ||||
| rev 14 | rev 15 | ||||
|---|---|---|---|---|---|
| 158 | 158 | ||||
| 159 | .. code-block:: python | 159 | .. code-block:: python | ||
| t | 160 | t | 160 | ||
| 161 | losetup /dev/loop0 image.img | ||||
| 161 | kpartx -a /dev/loop0 | 162 | kpartx -a /dev/loop0 | ||
| 162 | mount /dev/mapper/loop0p1 /mnt/image | 163 | mount /dev/mapper/loop0p1 /mnt/image | ||
| rev 13 | rev 14 | ||||
|---|---|---|---|---|---|
| 141 | 141 | ||||
| 142 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | 142 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | ||
| > | uilder string) | > | uilder string) | ||
| t | t | 143 | |||
| 144 | Mount a qcow2 or raw image file | ||||
| 145 | ================================= | ||||
| 146 | |||||
| 147 | The following procedures allow a host to mount a guest image file. This is usef | ||||
| > | ul when trouble shooting issues with the guest. The following procedures requir | ||||
| > | e root access (you can sudo). | ||||
| 148 | |||||
| 149 | **qcow2** | ||||
| 150 | |||||
| 151 | .. code-block:: python | ||||
| 152 | |||||
| 153 | modprobe nbd max_part=63 | ||||
| 154 | qemu-nbd -c /dev/nbd0 image.img | ||||
| 155 | mount /dev/nbd0p1 /mnt/image | ||||
| 156 | |||||
| 157 | **raw** | ||||
| 158 | |||||
| 159 | .. code-block:: python | ||||
| 160 | |||||
| 161 | kpartx -a /dev/loop0 | ||||
| 162 | mount /dev/mapper/loop0p1 /mnt/image | ||||
| rev 12 | rev 13 | ||||
|---|---|---|---|---|---|
| t | 1 | vcKRpO <a href="http://nvnmeexpvbyy.com/">nvnmeexpvbyy</a>, [url=http://djdoysz | t | 1 | KVM guest management |
| > | axthm.com/]djdoyszaxthm[/url], [link=http://ymzrlwfvjeug.com/]ymzrlwfvjeug[/link | ||||
| > | ], http://dpfwihmqnjws.com/ | ||||
| 2 | ======================= | ||||
| 3 | |||||
| 4 | .. contents:: | ||||
| 5 | |||||
| 6 | |||||
| 7 | Install packages | ||||
| 8 | =============================== | ||||
| 9 | |||||
| 10 | **Debian or Ubuntu** | ||||
| 11 | |||||
| 12 | * sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils | ||||
| 13 | |||||
| 14 | |||||
| 15 | **Redhat or Fedora** | ||||
| 16 | |||||
| 17 | * yum install kvm | ||||
| 18 | * yum install virt-manager libvirt libvirt-python python-virtinst | ||||
| 19 | * chkconfig libvirtd on | ||||
| 20 | * service libvirtd start | ||||
| 21 | |||||
| 22 | |||||
| 23 | KVM virsh cheat sheet! | ||||
| 24 | ============================ | ||||
| 25 | |||||
| 26 | This is a list of commands to use in the virsh cli. | ||||
| 27 | |||||
| 28 | To start the virsh cli run the following cmd: | ||||
| 29 | |||||
| 30 | .. code-block:: bash | ||||
| 31 | |||||
| 32 | $ virsh | ||||
| 33 | |||||
| 34 | or: | ||||
| 35 | |||||
| 36 | .. code-block:: bash | ||||
| 37 | |||||
| 38 | virsh --connect qemu:///system | ||||
| 39 | |||||
| 40 | KVM has its own commands, but we like to use virsh. | ||||
| 41 | |||||
| 42 | Here is a list comparing Xen and KVM (virsh) commands. | ||||
| 43 | |||||
| 44 | List running guests | ||||
| 45 | ---------------------------------------------- | ||||
| 46 | |||||
| 47 | **xen** | ||||
| 48 | | xm list | ||||
| 49 | |||||
| 50 | **kvm** | ||||
| 51 | | virsh list | ||||
| 52 | | virsh dominfo <guest name> | ||||
| 53 | |||||
| 54 | Start a guest | ||||
| 55 | ---------------------------------------------- | ||||
| 56 | |||||
| 57 | **xen** | ||||
| 58 | | xm create /etc/xen/<guest name> | ||||
| 59 | |||||
| 60 | **kvm** | ||||
| 61 | | virsh create /etc/libvirt/qemu/<guest name>.xml | ||||
| 62 | | virsh start <domain> | ||||
| 63 | |||||
| 64 | Console to guest | ||||
| 65 | ---------------------------------------------- | ||||
| 66 | |||||
| 67 | **xen** | ||||
| 68 | xm console <guest name> | ||||
| 69 | |||||
| 70 | **kvm** | ||||
| 71 | virsh console <guest name> | ||||
| 72 | |||||
| 73 | Shutdown a guest | ||||
| 74 | ---------------------------------------------- | ||||
| 75 | |||||
| 76 | **xen** | ||||
| 77 | xm shutdown <guest name> | ||||
| 78 | |||||
| 79 | **kvm** | ||||
| 80 | virsh shutdown <guest name> | ||||
| 81 | |||||
| 82 | This command doesn't always work... | ||||
| 83 | |||||
| 84 | Be sure the guests XML file has the following entry: | ||||
| 85 | |||||
| 86 | <feature> <acpi/> </feature> | ||||
| 87 | |||||
| 88 | Also make sure the apci is installed on the guest operating system. | ||||
| 89 | |||||
| 90 | **debian / ubuntu** | ||||
| 91 | sudo apt-get install acpid | ||||
| 92 | |||||
| 93 | **fedora / redhat** | ||||
| 94 | yum install acpid | ||||
| 95 | |||||
| 96 | Autostart guest on reboot | ||||
| 97 | ---------------------------------------------- | ||||
| 98 | |||||
| 99 | **xen** | ||||
| 100 | ln -s /etc/xen/<guest name> /etc/xen/auto/<guest name> | ||||
| 101 | |||||
| 102 | **kvm** | ||||
| 103 | virsh autostart <guest name> | ||||
| 104 | |||||
| 105 | Edit a guests configuration file | ||||
| 106 | ----------------------------------- | ||||
| 107 | **xen** | ||||
| 108 | NA | ||||
| 109 | |||||
| 110 | **kvm** | ||||
| 111 | virsh edit <domain> | ||||
| 112 | |||||
| 113 | |||||
| 114 | |||||
| 115 | |||||
| 116 | Pull the power on a guest | ||||
| 117 | ---------------------------- | ||||
| 118 | **xen** | ||||
| 119 | xm destroy <guest> | ||||
| 120 | |||||
| 121 | **kvm** | ||||
| 122 | virsh destroy <domain> | ||||
| 123 | |||||
| 124 | Quit virsh cli | ||||
| 125 | ----------------- | ||||
| 126 | |||||
| 127 | **kvm** | ||||
| 128 | virsh # quit | ||||
| 129 | |||||
| 130 | |||||
| 131 | |||||
| 132 | |||||
| 133 | |||||
| 134 | Note | ||||
| 135 | ------ | ||||
| 136 | Typically the guests harddrive is not attached, you must add it in the configura | ||||
| > | tion. | ||||
| 137 | |||||
| 138 | Typically the guests memory is set to 100mbs, you might want to change that in t | ||||
| > | he configuration. | ||||
| 139 | |||||
| 140 | Once booted and ssh'd into the VM, cat /etc/network/interfaces to verify that th | ||||
| > | e DNS settings are correct. | ||||
| 141 | |||||
| 142 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | ||||
| > | uilder string) | ||||
| rev 10 | rev 11 | ||||
|---|---|---|---|---|---|
| t | 1 | yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdt | t | 1 | vcKRpO <a href="http://nvnmeexpvbyy.com/">nvnmeexpvbyy</a>, [url=http://djdoysz |
| > | guser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link | > | axthm.com/]djdoyszaxthm[/url], [link=http://ymzrlwfvjeug.com/]ymzrlwfvjeug[/link | ||
| > | ], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwv | > | ], http://dpfwihmqnjws.com/ | ||
| > | ef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmho | ||||
| > | byj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http://zo | ||||
| > | hrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/u | ||||
| > | rl], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com | ||||
| > | /yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzd | ||||
| > | tguser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/lin | ||||
| > | k], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjseww | ||||
| > | vef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmh | ||||
| > | obyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http://z | ||||
| > | ohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/ | ||||
| > | url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.co | ||||
| > | m/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenz | ||||
| > | dtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/li | ||||
| > | nk], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsew | ||||
| > | wvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfm | ||||
| > | hobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http:// | ||||
| > | zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[ | ||||
| > | /url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.c | ||||
| > | om/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwen | ||||
| > | zdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/l | ||||
| > | ink], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjse | ||||
| > | wwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvf | ||||
| > | mhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http:/ | ||||
| > | /zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser | ||||
| > | [/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh. | ||||
| > | com/ | ||||
| rev 8 | rev 9 | ||||
|---|---|---|---|---|---|
| t | 1 | KVM guest management | t | 1 | yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdt |
| > | guser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link | ||||
| > | ], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwv | ||||
| > | ef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmho | ||||
| > | byj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http://zo | ||||
| > | hrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/u | ||||
| > | rl], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com | ||||
| > | /yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzd | ||||
| > | tguser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/lin | ||||
| > | k], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjseww | ||||
| > | vef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmh | ||||
| > | obyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http://z | ||||
| > | ohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/ | ||||
| > | url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.co | ||||
| > | m/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenz | ||||
| > | dtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/li | ||||
| > | nk], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsew | ||||
| > | wvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfm | ||||
| > | hobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http:// | ||||
| > | zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[ | ||||
| > | /url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.c | ||||
| > | om/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwen | ||||
| > | zdtguser.com/]wwenzdtguser[/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/l | ||||
| > | ink], http://spsndbhfelnh.com/yyZUqx <a href="http://zohrjsewwvef.com/">zohrjse | ||||
| > | wwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser[/url], [link=http://tugwvf | ||||
| > | mhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh.com/yyZUqx <a href="http:/ | ||||
| > | /zohrjsewwvef.com/">zohrjsewwvef</a>, [url=http://wwenzdtguser.com/]wwenzdtguser | ||||
| > | [/url], [link=http://tugwvfmhobyj.com/]tugwvfmhobyj[/link], http://spsndbhfelnh. | ||||
| > | com/ | ||||
| 2 | ======================= | ||||
| 3 | |||||
| 4 | .. contents:: | ||||
| 5 | |||||
| 6 | |||||
| 7 | Install packages | ||||
| 8 | =============================== | ||||
| 9 | |||||
| 10 | **Debian or Ubuntu** | ||||
| 11 | |||||
| 12 | * sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils | ||||
| 13 | |||||
| 14 | |||||
| 15 | **Redhat or Fedora** | ||||
| 16 | |||||
| 17 | * yum install kvm | ||||
| 18 | * yum install virt-manager libvirt libvirt-python python-virtinst | ||||
| 19 | * chkconfig libvirtd on | ||||
| 20 | * service libvirtd start | ||||
| 21 | |||||
| 22 | |||||
| 23 | KVM virsh cheat sheet! | ||||
| 24 | ============================ | ||||
| 25 | |||||
| 26 | This is a list of commands to use in the virsh cli. | ||||
| 27 | |||||
| 28 | To start the virsh cli run the following cmd: | ||||
| 29 | |||||
| 30 | .. code-block:: bash | ||||
| 31 | |||||
| 32 | $ virsh | ||||
| 33 | |||||
| 34 | or: | ||||
| 35 | |||||
| 36 | .. code-block:: bash | ||||
| 37 | |||||
| 38 | virsh --connect qemu:///system | ||||
| 39 | |||||
| 40 | KVM has its own commands, but we like to use virsh. | ||||
| 41 | |||||
| 42 | Here is a list comparing Xen and KVM (virsh) commands. | ||||
| 43 | |||||
| 44 | List running guests | ||||
| 45 | ---------------------------------------------- | ||||
| 46 | |||||
| 47 | **xen** | ||||
| 48 | | xm list | ||||
| 49 | |||||
| 50 | **kvm** | ||||
| 51 | | virsh list | ||||
| 52 | | virsh dominfo <guest name> | ||||
| 53 | |||||
| 54 | Start a guest | ||||
| 55 | ---------------------------------------------- | ||||
| 56 | |||||
| 57 | **xen** | ||||
| 58 | | xm create /etc/xen/<guest name> | ||||
| 59 | |||||
| 60 | **kvm** | ||||
| 61 | | virsh create /etc/libvirt/qemu/<guest name>.xml | ||||
| 62 | | virsh start <domain> | ||||
| 63 | |||||
| 64 | Console to guest | ||||
| 65 | ---------------------------------------------- | ||||
| 66 | |||||
| 67 | **xen** | ||||
| 68 | xm console <guest name> | ||||
| 69 | |||||
| 70 | **kvm** | ||||
| 71 | virsh console <guest name> | ||||
| 72 | |||||
| 73 | Shutdown a guest | ||||
| 74 | ---------------------------------------------- | ||||
| 75 | |||||
| 76 | **xen** | ||||
| 77 | xm shutdown <guest name> | ||||
| 78 | |||||
| 79 | **kvm** | ||||
| 80 | virsh shutdown <guest name> | ||||
| 81 | |||||
| 82 | This command doesn't always work... | ||||
| 83 | |||||
| 84 | Be sure the guests XML file has the following entry: | ||||
| 85 | |||||
| 86 | <feature> <acpi/> </feature> | ||||
| 87 | |||||
| 88 | Also make sure the apci is installed on the guest operating system. | ||||
| 89 | |||||
| 90 | **debian / ubuntu** | ||||
| 91 | sudo apt-get install acpid | ||||
| 92 | |||||
| 93 | **fedora / redhat** | ||||
| 94 | yum install acpid | ||||
| 95 | |||||
| 96 | Autostart guest on reboot | ||||
| 97 | ---------------------------------------------- | ||||
| 98 | |||||
| 99 | **xen** | ||||
| 100 | ln -s /etc/xen/<guest name> /etc/xen/auto/<guest name> | ||||
| 101 | |||||
| 102 | **kvm** | ||||
| 103 | virsh autostart <guest name> | ||||
| 104 | |||||
| 105 | Edit a guests configuration file | ||||
| 106 | ----------------------------------- | ||||
| 107 | **xen** | ||||
| 108 | NA | ||||
| 109 | |||||
| 110 | **kvm** | ||||
| 111 | virsh edit <domain> | ||||
| 112 | |||||
| 113 | |||||
| 114 | |||||
| 115 | |||||
| 116 | Pull the power on a guest | ||||
| 117 | ---------------------------- | ||||
| 118 | **xen** | ||||
| 119 | xm destroy <guest> | ||||
| 120 | |||||
| 121 | **kvm** | ||||
| 122 | virsh destroy <domain> | ||||
| 123 | |||||
| 124 | Quit virsh cli | ||||
| 125 | ----------------- | ||||
| 126 | |||||
| 127 | **kvm** | ||||
| 128 | virsh # quit | ||||
| 129 | |||||
| 130 | |||||
| 131 | |||||
| 132 | |||||
| 133 | |||||
| 134 | Note | ||||
| 135 | ------ | ||||
| 136 | Typically the guests harddrive is not attached, you must add it in the configura | ||||
| > | tion. | ||||
| 137 | |||||
| 138 | Typically the guests memory is set to 100mbs, you might want to change that in t | ||||
| > | he configuration. | ||||
| 139 | |||||
| 140 | Once booted and ssh'd into the VM, cat /etc/network/interfaces to verify that th | ||||
| > | e DNS settings are correct. | ||||
| 141 | |||||
| 142 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | ||||
| > | uilder string) | ||||
| rev 7 | rev 8 | ||||
|---|---|---|---|---|---|
| 5 | 5 | ||||
| 6 | 6 | ||||
| n | 7 | This document talks about a guest named *mbison*. Change this name to better sui | n | 7 | Install packages |
| > | t your purpose. | ||||
| 8 | =============================== | ||||
| 9 | |||||
| 10 | **Debian or Ubuntu** | ||||
| 11 | |||||
| 12 | * sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils | ||||
| 13 | |||||
| 14 | |||||
| 15 | **Redhat or Fedora** | ||||
| 16 | |||||
| 17 | * yum install kvm | ||||
| 18 | * yum install virt-manager libvirt libvirt-python python-virtinst | ||||
| 19 | * chkconfig libvirtd on | ||||
| 20 | * service libvirtd start | ||||
| 8 | 21 | ||||
| 9 | 22 | ||||
| 116 | 129 | ||||
| 117 | 130 | ||||
| n | 118 | Install packages | n | ||
| 119 | ---------------------------------------------- | ||||
| 120 | 131 | ||||
| t | 121 | **Debian or Ubuntu** | t | ||
| 122 | |||||
| 123 | * sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils | ||||
| 124 | |||||
| 125 | |||||
| 126 | **Redhat or Fedora** | ||||
| 127 | |||||
| 128 | * yum install kvm | ||||
| 129 | * yum install virt-manager libvirt libvirt-python python-virtinst | ||||
| 130 | * chkconfig libvirtd on | ||||
| 131 | * service libvirtd start | ||||
| 132 | 132 | ||||
| 133 | 133 | ||||
| rev 6 | rev 7 | ||||
|---|---|---|---|---|---|
| 119 | ---------------------------------------------- | 119 | ---------------------------------------------- | ||
| 120 | 120 | ||||
| t | t | 121 | **Debian or Ubuntu** | ||
| 122 | |||||
| 123 | * sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils | ||||
| 124 | |||||
| 125 | |||||
| 121 | **Redhat or Fedora** | 126 | **Redhat or Fedora** | ||
| 122 | 127 | ||||
| rev 5 | rev 6 | ||||
|---|---|---|---|---|---|
| 15 | To start the virsh cli run the following cmd: | 15 | To start the virsh cli run the following cmd: | ||
| 16 | 16 | ||||
| n | 17 | .. code-block:: bash | n | 17 | .. code-block:: bash |
| 18 | 18 | ||||
| 19 | $ virsh | 19 | $ virsh | ||
| 21 | or: | 21 | or: | ||
| 22 | 22 | ||||
| n | 23 | .. code-block:: bash | n | 23 | .. code-block:: bash |
| 24 | 24 | ||||
| 25 | virsh --connect qemu:///system | 25 | virsh --connect qemu:///system | ||
| 32 | ---------------------------------------------- | 32 | ---------------------------------------------- | ||
| 33 | 33 | ||||
| n | 34 | xen | n | 34 | **xen** |
| 35 | xm list | 35 | | xm list | ||
| 36 | 36 | ||||
| n | 37 | kvm | n | 37 | **kvm** |
| 38 | virsh list | 38 | | virsh list | ||
| 39 | virsh dominfo <guest name> ( more info on guest ) | 39 | | virsh dominfo <guest name> | ||
| 40 | 40 | ||||
| 41 | Start a guest | 41 | Start a guest | ||
| 42 | ---------------------------------------------- | 42 | ---------------------------------------------- | ||
| 43 | 43 | ||||
| n | 44 | xen | n | 44 | **xen** |
| 45 | xm create /etc/xen/<guest name> | 45 | | xm create /etc/xen/<guest name> | ||
| 46 | 46 | ||||
| n | 47 | kvm | n | 47 | **kvm** |
| 48 | virsh create /etc/libvirt/qemu/<guest name>.xml | 48 | | virsh create /etc/libvirt/qemu/<guest name>.xml | ||
| 49 | or | ||||
| 50 | virsh start <domain> | 49 | | virsh start <domain> | ||
| 51 | 50 | ||||
| 52 | Console to guest | 51 | Console to guest | ||
| 53 | ---------------------------------------------- | 52 | ---------------------------------------------- | ||
| 54 | 53 | ||||
| n | 55 | xen | n | 54 | **xen** |
| 56 | xm console <guest name> | 55 | xm console <guest name> | ||
| 57 | 56 | ||||
| n | 58 | kvm | n | 57 | **kvm** |
| 59 | virsh console <guest name> | 58 | virsh console <guest name> | ||
| 60 | 59 | ||||
| 61 | Shutdown a guest | 60 | Shutdown a guest | ||
| 62 | ---------------------------------------------- | 61 | ---------------------------------------------- | ||
| 63 | 62 | ||||
| n | 64 | xen | n | 63 | **xen** |
| 65 | xm shutdown <guest name> | 64 | xm shutdown <guest name> | ||
| 66 | 65 | ||||
| n | 67 | kvm | n | 66 | **kvm** |
| 68 | virsh shutdown <guest name> | 67 | virsh shutdown <guest name> | ||
| 69 | 68 | ||||
| n | 70 | This doesn't always work. | n | 69 | This command doesn't always work... |
| 71 | 70 | ||||
| 72 | Be sure the guests XML file has the following entry: | 71 | Be sure the guests XML file has the following entry: | ||
| 73 | 72 | ||||
| n | 74 | .. code-block:: xml | n | 73 | <feature> <acpi/> </feature> |
| 75 | |||||
| 76 | <feature> | ||||
| 77 | |||||
| 78 | <acpi/> | ||||
| 79 | |||||
| 80 | </feature> | ||||
| 81 | 74 | ||||
| 82 | Also make sure the apci is installed on the guest operating system. | 75 | Also make sure the apci is installed on the guest operating system. | ||
| 83 | 76 | ||||
| n | 84 | On debian / ubuntu run: | n | 77 | **debian / ubuntu** |
| 85 | 78 | sudo apt-get install acpid | |||
| 86 | .. code-block:: bash | ||||
| 87 | 79 | ||||
| n | 88 | $ sudo apt-get install acpid | n | 80 | **fedora / redhat** |
| 89 | 81 | yum install acpid | |||
| 90 | 82 | ||||
| 91 | Autostart guest on reboot | 83 | Autostart guest on reboot | ||
| 92 | ---------------------------------------------- | 84 | ---------------------------------------------- | ||
| 93 | 85 | ||||
| n | 94 | xen | n | 86 | **xen** |
| 95 | ln -s /etc/xen/<guest name> /etc/xen/auto/<guest name> | 87 | ln -s /etc/xen/<guest name> /etc/xen/auto/<guest name> | ||
| 96 | 88 | ||||
| n | 97 | kvm | n | 89 | **kvm** |
| 98 | virsh autostart <guest name> | 90 | virsh autostart <guest name> | ||
| 99 | 91 | ||||
| 100 | Edit a guests configuration file | 92 | Edit a guests configuration file | ||
| 101 | ----------------------------------- | 93 | ----------------------------------- | ||
| n | 102 | xen | n | 94 | **xen** |
| 103 | NA | 95 | NA | ||
| 104 | 96 | ||||
| n | 105 | kvm | n | 97 | **kvm** |
| 106 | virsh edit <domain> | 98 | virsh edit <domain> | ||
| 107 | 99 | ||||
| 111 | Pull the power on a guest | 103 | Pull the power on a guest | ||
| 112 | ---------------------------- | 104 | ---------------------------- | ||
| n | n | 105 | **xen** | ||
| 106 | xm destroy <guest> | ||||
| 113 | 107 | ||||
| n | 114 | Pull the power on a guest:: | n | 108 | **kvm** |
| 115 | |||||
| 116 | virsh destroy <domain> | 109 | virsh destroy <domain> | ||
| 117 | 110 | ||||
| 119 | ----------------- | 112 | ----------------- | ||
| 120 | 113 | ||||
| t | 121 | Quit virsh cli:: | t | 114 | **kvm** |
| 122 | |||||
| 123 | virsh # quit | 115 | virsh # quit | ||
| 124 | 116 | ||||
| rev 4 | rev 5 | ||||
|---|---|---|---|---|---|
| 103 | NA | 103 | NA | ||
| 104 | 104 | ||||
| n | 105 | kvm:: | n | 105 | kvm |
| 106 | virsh edit <domain> | 106 | virsh edit <domain> | ||
| 107 | 107 | ||||
| 114 | Pull the power on a guest:: | 114 | Pull the power on a guest:: | ||
| 115 | 115 | ||||
| t | 116 | virsh # destroy mbison | t | 116 | virsh destroy <domain> |
| 117 | 117 | ||||
| 118 | Quit virsh cli | 118 | Quit virsh cli | ||
| rev 3 | rev 4 | ||||
|---|---|---|---|---|---|
| 6 | 6 | ||||
| 7 | This document talks about a guest named *mbison*. Change this name to better sui | 7 | This document talks about a guest named *mbison*. Change this name to better sui | ||
| > | t your purpose. | > | t your purpose. | ||
| n | 8 | n | |||
| 9 | |||||
| 10 | |||||
| 11 | 8 | ||||
| 12 | 9 | ||||
| 28 | virsh --connect qemu:///system | 25 | virsh --connect qemu:///system | ||
| 29 | 26 | ||||
| n | 30 | List all guests | n | 27 | KVM has its own commands, but we like to use virsh. |
| 31 | ---------------- | ||||
| 32 | |||||
| 33 | List all guests:: | ||||
| 34 | |||||
| 35 | virsh # list --all | ||||
| 36 | 28 | ||||
| n | n | 29 | Here is a list comparing Xen and KVM (virsh) commands. | ||
| 37 | 30 | ||||
| n | n | 31 | List running guests | ||
| 32 | ---------------------------------------------- | ||||
| 38 | 33 | ||||
| n | 39 | Start a guest | n | 34 | xen |
| 40 | ------------------ | 35 | xm list | ||
| 41 | 36 | ||||
| n | 42 | Start a guest:: | n | 37 | kvm |
| 38 | virsh list | ||||
| 39 | virsh dominfo <guest name> ( more info on guest ) | ||||
| 43 | 40 | ||||
| n | 44 | virsh # start mbison | n | 41 | Start a guest |
| 42 | ---------------------------------------------- | ||||
| 45 | 43 | ||||
| n | 46 | Flag a guest for autostart on host reboot | n | 44 | xen |
| 47 | -------------------------------------------- | 45 | xm create /etc/xen/<guest name> | ||
| 48 | 46 | ||||
| n | 49 | Flag a guest for autostart on host reboot:: | n | 47 | kvm |
| 48 | virsh create /etc/libvirt/qemu/<guest name>.xml | ||||
| 49 | or | ||||
| 50 | virsh start <domain> | ||||
| 50 | 51 | ||||
| n | 51 | virsh # autostart mbison | n | 52 | Console to guest |
| 53 | ---------------------------------------------- | ||||
| 52 | 54 | ||||
| n | 53 | Edit a guests configuration file | n | 55 | xen |
| 54 | ----------------------------------- | 56 | xm console <guest name> | ||
| 55 | 57 | ||||
| n | 56 | Edit a guests configuration file:: | n | 58 | kvm |
| 59 | virsh console <guest name> | ||||
| 57 | 60 | ||||
| n | 58 | virsh # edit mbison | n | 61 | Shutdown a guest |
| 62 | ---------------------------------------------- | ||||
| 59 | 63 | ||||
| n | 60 | Shutdown a guest | n | 64 | xen |
| 61 | --------------------- | 65 | xm shutdown <guest name> | ||
| 62 | Shutdown a guest gracefully:: | 66 | |||
| 63 | 67 | kvm | |||
| 64 | virsh # shutdown mbison | 68 | virsh shutdown <guest name> | ||
| 65 | 69 | ||||
| 66 | This doesn't always work. | 70 | This doesn't always work. | ||
| 85 | 89 | ||||
| 86 | 90 | ||||
| n | n | 91 | Autostart guest on reboot | ||
| 92 | ---------------------------------------------- | ||||
| 93 | |||||
| 94 | xen | ||||
| 95 | ln -s /etc/xen/<guest name> /etc/xen/auto/<guest name> | ||||
| 96 | |||||
| 97 | kvm | ||||
| 98 | virsh autostart <guest name> | ||||
| 99 | |||||
| 100 | Edit a guests configuration file | ||||
| 101 | ----------------------------------- | ||||
| 102 | xen | ||||
| 103 | NA | ||||
| 104 | |||||
| 105 | kvm:: | ||||
| 106 | virsh edit <domain> | ||||
| 107 | |||||
| 108 | |||||
| 109 | |||||
| 110 | |||||
| 87 | Pull the power on a guest | 111 | Pull the power on a guest | ||
| 88 | ---------------------------- | 112 | ---------------------------- | ||
| 98 | 122 | ||||
| 99 | virsh # quit | 123 | virsh # quit | ||
| t | 100 | t | |||
| 101 | 124 | ||||
| 102 | 125 | ||||
| rev 2 | rev 3 | ||||
|---|---|---|---|---|---|
| 104 | ---------------------------------------------- | 104 | ---------------------------------------------- | ||
| 105 | 105 | ||||
| t | 106 | Redhat or Fedora | t | 106 | **Redhat or Fedora** |
| 107 | |||||
| 107 | yum install kvm | 108 | * yum install kvm | ||
| 108 | yum install virt-manager libvirt libvirt-python python-virtinst | 109 | * yum install virt-manager libvirt libvirt-python python-virtinst | ||
| 109 | chkconfig libvirtd on | 110 | * chkconfig libvirtd on | ||
| 110 | service libvirtd start | 111 | * service libvirtd start | ||
| 112 | |||||
| 111 | 113 | ||||
| 112 | Note | 114 | Note | ||
| rev 1 | rev 2 | ||||
|---|---|---|---|---|---|
| 100 | 100 | ||||
| 101 | 101 | ||||
| t | t | 102 | |||
| 103 | Install packages | ||||
| 104 | ---------------------------------------------- | ||||
| 105 | |||||
| 106 | Redhat or Fedora | ||||
| 107 | yum install kvm | ||||
| 108 | yum install virt-manager libvirt libvirt-python python-virtinst | ||||
| 109 | chkconfig libvirtd on | ||||
| 110 | service libvirtd start | ||||
| 111 | |||||
| 102 | Note | 112 | Note | ||
| 103 | ------ | 113 | ------ | ||
| empty | rev 1 | ||||
|---|---|---|---|---|---|
| t | t | 1 | KVM guest management | ||
| 2 | ======================= | ||||
| 3 | |||||
| 4 | .. contents:: | ||||
| 5 | |||||
| 6 | |||||
| 7 | This document talks about a guest named *mbison*. Change this name to better sui | ||||
| > | t your purpose. | ||||
| 8 | |||||
| 9 | |||||
| 10 | |||||
| 11 | |||||
| 12 | |||||
| 13 | KVM virsh cheat sheet! | ||||
| 14 | ============================ | ||||
| 15 | |||||
| 16 | This is a list of commands to use in the virsh cli. | ||||
| 17 | |||||
| 18 | To start the virsh cli run the following cmd: | ||||
| 19 | |||||
| 20 | .. code-block:: bash | ||||
| 21 | |||||
| 22 | $ virsh | ||||
| 23 | |||||
| 24 | or: | ||||
| 25 | |||||
| 26 | .. code-block:: bash | ||||
| 27 | |||||
| 28 | virsh --connect qemu:///system | ||||
| 29 | |||||
| 30 | List all guests | ||||
| 31 | ---------------- | ||||
| 32 | |||||
| 33 | List all guests:: | ||||
| 34 | |||||
| 35 | virsh # list --all | ||||
| 36 | |||||
| 37 | |||||
| 38 | |||||
| 39 | Start a guest | ||||
| 40 | ------------------ | ||||
| 41 | |||||
| 42 | Start a guest:: | ||||
| 43 | |||||
| 44 | virsh # start mbison | ||||
| 45 | |||||
| 46 | Flag a guest for autostart on host reboot | ||||
| 47 | -------------------------------------------- | ||||
| 48 | |||||
| 49 | Flag a guest for autostart on host reboot:: | ||||
| 50 | |||||
| 51 | virsh # autostart mbison | ||||
| 52 | |||||
| 53 | Edit a guests configuration file | ||||
| 54 | ----------------------------------- | ||||
| 55 | |||||
| 56 | Edit a guests configuration file:: | ||||
| 57 | |||||
| 58 | virsh # edit mbison | ||||
| 59 | |||||
| 60 | Shutdown a guest | ||||
| 61 | --------------------- | ||||
| 62 | Shutdown a guest gracefully:: | ||||
| 63 | |||||
| 64 | virsh # shutdown mbison | ||||
| 65 | |||||
| 66 | This doesn't always work. | ||||
| 67 | |||||
| 68 | Be sure the guests XML file has the following entry: | ||||
| 69 | |||||
| 70 | .. code-block:: xml | ||||
| 71 | |||||
| 72 | <feature> | ||||
| 73 | |||||
| 74 | <acpi/> | ||||
| 75 | |||||
| 76 | </feature> | ||||
| 77 | |||||
| 78 | Also make sure the apci is installed on the guest operating system. | ||||
| 79 | |||||
| 80 | On debian / ubuntu run: | ||||
| 81 | |||||
| 82 | .. code-block:: bash | ||||
| 83 | |||||
| 84 | $ sudo apt-get install acpid | ||||
| 85 | |||||
| 86 | |||||
| 87 | Pull the power on a guest | ||||
| 88 | ---------------------------- | ||||
| 89 | |||||
| 90 | Pull the power on a guest:: | ||||
| 91 | |||||
| 92 | virsh # destroy mbison | ||||
| 93 | |||||
| 94 | Quit virsh cli | ||||
| 95 | ----------------- | ||||
| 96 | |||||
| 97 | Quit virsh cli:: | ||||
| 98 | |||||
| 99 | virsh # quit | ||||
| 100 | |||||
| 101 | |||||
| 102 | Note | ||||
| 103 | ------ | ||||
| 104 | Typically the guests harddrive is not attached, you must add it in the configura | ||||
| > | tion. | ||||
| 105 | |||||
| 106 | Typically the guests memory is set to 100mbs, you might want to change that in t | ||||
| > | he configuration. | ||||
| 107 | |||||
| 108 | Once booted and ssh'd into the VM, cat /etc/network/interfaces to verify that th | ||||
| > | e DNS settings are correct. | ||||
| 109 | |||||
| 110 | Debian/ubuntu guest don't have acpid installed by default. (Could change the vmb | ||||
| > | uilder string) | ||||
Remarkbox