Kvmtools: Difference between revisions

From KVM
m (fixed some grammar and spelling)
 
(7 intermediate revisions by the same user not shown)
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 guest via commandline.
 
The reason to build was to have a simple tool to manage my own qemu guest.
 
Just to use it for qemu guest to connect to a bridged network.


= Howto use it =
= Howto use it =
Example, to get monitor's help:
Examples:


<code>
<code>
kvm-admin my_guest monitor help
kvm-admin boot domain_name
</code>
</code>


To get the command printed:
<code>
kvm-admin status domain_name
</code>


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


Boot a guest:
<code>
kvm-admin  monitor domain_name
</code>


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




= Features =
= Features =
It's add a bridge to a given bridge from guest configuration file.
It's add a bridge to a given bridge from qemu-kvm domain configuration file.


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


= 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 = qemu-system-x86_x84


   daemonize = enabled
   daemonize = enabled
Line 49: Line 60:




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 81:
   # 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 78: Line 90:
   
   
via Webbrowser:
via Webbrowser:
   http://hg.kasten-edv.de/kvm-tools (klick on bzip,gzip or zip link)
   https://hg.kasten-edv.de/kvm-tools (klick on bzip,gzip or zip link)


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


= Installation =
= Installation =
Line 89: Line 101:
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

Latest revision as of 04:26, 2 August 2017

kvm-admin

What it does?

It offer the possibility to manage a qemu guest via commandline.

The reason to build was to have a simple tool to manage my own qemu guest.

Just to use it for qemu guest to connect to a bridged network.

Howto use it

Examples:

kvm-admin boot domain_name

kvm-admin status domain_name

kvm-admin status all

kvm-admin monitor domain_name

kvm-admin show domain_name


Features

It's add a bridge to a given bridge from qemu-kvm domain configuration file.

The bridge(s) have to exists. There can individual bridges on the system and each qemu-kvm domain 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 = qemu-system-x86_x84
 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:

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

via mercurial:

 hg clone https://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 :)