1. qemu-toolkit-overview(7)
  2. qemu-toolkit
  3. qemu-toolkit-overview(7)

NAME

qemu-toolkit-overview - architecture and philosophy of qemu-toolkit

OVERVIEW

This is a toolkit for running qemu on OmniOS/Illumos. Features:

Here's a sample configuration file:

virtual_machine "vm_name" do
  # Network configuration: vnic via igb1
  nic 'eth0', macaddr: '2:8:20:52:a6:7e', via: 'igb1'

  # Disks: via iSCSI iqn
  iscsi_target 'iqn.2010-01.com.qemu-toolkit:vm_name', "10.0.30.1"

  # 4 SMP CPUs.
  cpus 4
end

On-disk layout is as follows:

foo                 base zfs dataset
foo/disk1           first disk, zvol block device
foo/disk2           second disk, zvol block device

DEPLOYMENT OPTIONS

Using this toolkit, you can deploy your virtual machines in one of two ways:

Local ZVOLs

In this architectural style, you use both tools (storadm(1) and vmadm(1)) on the same machine. To create a virtual machine from scratch, you would use the following sequence of commands:

$ storadm create pool1/foo 10G
$ vmadm create foo
$ vmadm start foo --bootiso=installation-disk.iso

This would create a base dataset pool1/foo with one 10G block device as root disk. It then creates a file foo.rb below /etc/qemu-toolkit/ that defines base attributes for the virtual machine. Finally, starting the machine using the --bootiso parameter would allow you to install a base system to the virtual machine.

SAN-style

Here you use two machines, one as storage host and one as VM host. The virtual machines run on host A, but all storage is provided for by host B. Here's a typical sequence of commands to create a virtual machine from scratch in this scenario:

Machine B:
$ storadm create pool1/foo 10G
$ storadm export pool1/foo

Machine A
$ vmadm create foo
# Edit foo.rb at this point to include a valid iqn + IP pair for host B
$ vmadm start foo --bootiso=installation-disk.iso

This assumes that you've got iSCSI set up on both machines. (initiator on A, target on B) While this configuration is certainly more complex than the all-local one above, it is also more flexible to administer.

SEE ALSO

qemu-toolkit-overview(7), qemu-toolkit-install(7), qemu-toolkit-configuration(7), storadm(1), vmadm(1), README(7)

  1. November 2012
  2. qemu-toolkit-overview(7)