Kvmtools: Difference between revisions

From KVM
m (fixed some grammar and spelling)
No edit summary
Line 1: Line 1:
= kvm-admin =
= kvm-admin =
'''What it does?'''
'''What it does?'''
It can do the following actions: show, boot, shutdown, status and monitor.
It offer the possibility to manage a qemu-kvm domain via commandline.


= Howto use it =
= Howto use it =
Line 7: Line 7:


<code>
<code>
kvm-admin my_guest monitor help
kvm-admin monitor my_domain
</code>
</code>


Line 13: Line 13:


<code>
<code>
kvm-admin my_guest show
kvm-admin show my_guest
</code>
</code>


Line 19: Line 19:


<code>
<code>
kvm-admin my_guest boot
kvm-admin boot my_guest
</code>
</code>


Line 32: Line 32:


= Configuration File Format =
= Configuration File Format =
The guest configuration file has to be placed in the directory 'domains'.
The qemu-kvm domain configuration file are placed in the directory 'domains'.
The format is taken 1:1 from the command line.
The format is taken 1:1 from the command line but separated by new line


To use an qemu-kvm option which doesn't have a parameter, have to use:
To use an qemu-kvm option which doesn't have a parameter you have to use:
   variable = enabled
   variable = enabled


Global configuration variabales, which all guest should effected,  
Global configuration variabales which all qemu-kvm domains should effected,  
can write in 'config/kvm.cfg' file.
can write in 'config/kvm.cfg' file.


Exampe:
Example:
   # have to set the path to qemu-kvm executable
   # have to set the path to qemu-kvm or name
   qemu-kvm = /usr/bin/kvm
  # the script generate-kvm-option does update the path
   qemu-kvm = kvm, qemu-kvm


   daemonize = enabled
   daemonize = enabled
Line 49: Line 50:




Example format:
Example output for a qemu-kvm domain:
  # if name is not set it will use the filename as name
   name = my_guest
   name = my_guest
   smp = 2
   smp = 2
Line 69: Line 71:
   # first network interface
   # first network interface
   net = nic,[and other options]
   net = nic,[and other options]
   net = tap,ifname=my_iface_one,bridge=br0
   net = tap,bridge=br0
   # second network interface
   # second network interface
   net = nic,[and other options]
   net = nic,[and other options]
   net = tap,ifname=my_iface_two,bridge=br1
   net = tap,bridge=br1


= Download =  
= Download =  
Line 81: Line 83:


via mercurial:
via mercurial:
   hg clone http://hg.kasten-edv.de/kvm-tools
   hg clone http://hg.kasten-edv.de/kvm-tools --insecure


= Installation =
= Installation =
Line 89: Line 91:
To run the kvm process under a unprivileged user.
To run the kvm process under a unprivileged user.


Add an user 'kvm' for example and add this in the guest configuration file.
Add an user 'kvm' and add this in to the qemu-kvm domain configuration file.
   runas = kvm
   runas = kvm


For each guest can assign an individual user.
For each qemu-kvm domain you can assign an individual user.


When all guests should run as the user 'kvm' then add this in the global configurations file 'config/kvm.cfg'
When all qemu-kvm domains should run as the user 'kvm' then add this in the global configurations file 'config/kvm.cfg'
   runas = kvm
   runas = kvm


When is set in 'config/kvm.cfg' the guest configuration file does override  
When is set in 'config/kvm.cfg' the qemu-kvm domain configuration file can override it.
it, when there also is set.
  runas = kvm_one
 
Then this process is running as user 'kvm_one'
 


= ToDo =
= ToDo =
  * extend the installer script
   * build a init script
   * build a init script
   * build an installation routine
   * build an installation routine

Revision as of 10:55, 8 April 2012

kvm-admin

What it does? It offer the possibility to manage a qemu-kvm domain via commandline.

Howto use it

Example, to get monitor's help:

kvm-admin monitor my_domain

To get the command printed:

kvm-admin show my_guest

Boot a guest:

kvm-admin boot my_guest


Features

It's add a bridge to a given bridge from guest configuration file.

The bridge(s) have to exists. There can individual bridges on the system and each guest can assign to different bridge. No need to add many script files and scriptdown files. This is set automaticly.

Configuration File Format

The qemu-kvm domain configuration file are placed in the directory 'domains'. The format is taken 1:1 from the command line but separated by new line

To use an qemu-kvm option which doesn't have a parameter you have to use:

 variable = enabled

Global configuration variabales which all qemu-kvm domains should effected, can write in 'config/kvm.cfg' file.

Example:

 # have to set the path to qemu-kvm or name
 # the script generate-kvm-option does update the path
 qemu-kvm = kvm, qemu-kvm
 daemonize = enabled
 localtime = enabled


Example output for a qemu-kvm domain:

 # if name is not set it will use the filename as name 
 name = my_guest
 smp = 2
 m = 1024
 # first drive
 drive = file:/path_to_image_or_lvm,[and other options]
 # second drive
 drive = file:/path_to_image_or_lvm,[and other options]
 cdrom = my_installer.iso
 daemonize = enabled
 localtime = enabled

Only one exception exists. This is only for the '-net tap' option. There have to add an option for the bridge.

An example for tap option when using '-net nic':

 # first network interface
 net = nic,[and other options]
 net = tap,bridge=br0
 # second network interface
 net = nic,[and other options]
 net = tap,bridge=br1

Download

It can be downloaded on the mercurial repository on:

via Webbrowser:

 http://hg.kasten-edv.de/kvm-tools (klick on bzip,gzip or zip link)

via mercurial:

 hg clone http://hg.kasten-edv.de/kvm-tools --insecure

Installation

Please read the README for further information.

Security

To run the kvm process under a unprivileged user.

Add an user 'kvm' and add this in to the qemu-kvm domain configuration file.

 runas = kvm

For each qemu-kvm domain you can assign an individual user.

When all qemu-kvm domains should run as the user 'kvm' then add this in the global configurations file 'config/kvm.cfg'

 runas = kvm

When is set in 'config/kvm.cfg' the qemu-kvm domain configuration file can override it.

ToDo

 * extend the installer script 
 * build a init script
 * build an installation routine
 * add possibility to automatic create and delete guest

Fixes

The ordinary fixes :)