mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
xc_netbsd_build.c, xc_vd_tool.py, xc_dom_control.py, README, VBD-HOWTO.txt: More fixes applied from Xen v1.2.
129 lines
6.1 KiB
Plaintext
129 lines
6.1 KiB
Plaintext
Xen Control Tools - Example Scripts
|
|
===================================
|
|
|
|
This directory contains a set of example scripts for common Xen operations.
|
|
For many operations you will either be able to use these scripts directly, or
|
|
incorporate code from them into your own scripts.
|
|
|
|
The Xc and XenoUtil Python modules provide an API for accessing all this
|
|
functionality - and more - from your own Python programs. These libraries may
|
|
contain features for which there aren't yet example scripts written for...
|
|
|
|
If you write a useful script and would like to share it, please do
|
|
send it (preferably with a little summary to go in this file) to
|
|
<xen-devel@lists.sourceforge.net> so we can add it to this directory.
|
|
|
|
xc_dom_control.py
|
|
- general tool for controling running domains
|
|
Usage: xc_dom_control.py [command] <params>
|
|
stop [dom] -- pause a domain
|
|
start [dom] -- un-pause a domain
|
|
shutdown [dom] -- request a domain to shutdown (can specify 'all')
|
|
(optionally wait for complete shutdown)
|
|
destroy [dom] -- immediately terminate a domain
|
|
pincpu [dom] [cpu] -- pin a domain to the specified CPU
|
|
suspend [dom] [file] -- write domain's memory to a file and terminate
|
|
(resume by re-running xc_dom_create with -L option)
|
|
restore [file] -- resume a domain from a file
|
|
list -- print info about all domains
|
|
listvbds -- print info about all virtual block devs
|
|
cpu_bvtset [dom] [mcuadv] [warp] [warpl] [warpu]
|
|
-- set scheduling parameters for domain
|
|
cpu_bvtslice [slice] -- default scheduler slice
|
|
vif_stats [dom] [vif] -- get stats for a given network vif
|
|
vif_addip [dom] [vif] [ip] -- add an IP address to a given vif
|
|
vif_setsched [dom] [vif] [bytes] [usecs] -- rate limit vif bandwidth
|
|
vif_getsched [dom] [vif] -- print vif's scheduling parameters
|
|
vbd_add [dom] [uname] [dev] [mode] -- make disk/partition uname available to
|
|
domain as dev e.g. 'vbd_add 2 phy:sda3 hda1 w'
|
|
vbd_remove [dom] [dev] -- remove disk or partition attached as 'dev'
|
|
|
|
|
|
xc_dom_create.py
|
|
- This tool is used to create and start new domains. It reads defaults
|
|
from a file written in Python, having allowed variables to be set and
|
|
passed into the file. Further command line arguments allow the
|
|
defaults to be overridden. The defaults for each parameter are listed
|
|
in [] brackets. Arguments are as follows:
|
|
|
|
Arguments to control the parsing of the defaults file:
|
|
-f config_file -- Use the specified defaults script.
|
|
Default: ['/etc/xc/defaults']
|
|
-L state_file -- Load virtual machine memory state from state_file
|
|
-D foo=bar -- Set variable foo=bar before parsing config
|
|
E.g. '-D vmid=3;ip=1.2.3.4'
|
|
-h -- Print extended help message, including all arguments
|
|
-n -- Dry run only, don't actually create domain
|
|
-q -- Quiet - write output only to the system log
|
|
|
|
|
|
The config file 'defaults' requires the following variable to be defined:
|
|
vmid -- Numeric identifier for the new domain, used to calculate
|
|
the VM's IP address and root partition. E.g. -Dvmid=1
|
|
|
|
|
|
Arguments to override current config read from 'defaults':
|
|
-k image -- Path to kernel image ['']
|
|
-r ramdisk -- Path to ramdisk (or empty) ['']
|
|
-b builder_fn -- Function to use to build domain ['']
|
|
-m mem_size -- Initial memory allocation in MB [0MB]
|
|
-N domain_name -- Set textual name of domain ['']
|
|
-a auto_restart -- Restart domain on exit, yes/no ['0']
|
|
-e vbd_expert -- Saftey catch to avoid some disk accidents ['0']
|
|
-d udisk,dev,rw -- Add disk, partition, or virtual disk to domain. E.g. to
|
|
make partion sda4 available to the domain as hda1 with
|
|
read-write access: '-b phy:sda4,hda1,rw' To add
|
|
multiple disks use multiple -d flags or seperate with ';'
|
|
Default: ['']
|
|
-i vfr_ipaddr -- Add IP address to the list which Xen will route to
|
|
the domain. Use multiple times to add more IP addrs.
|
|
Default: ['']
|
|
|
|
Args to override the kernel command line, which is concatenated from these:
|
|
-I cmdline_ip -- Override 'ip=ipaddr:nfsserv:gateway:netmask::eth0:off'
|
|
Default: ['']
|
|
-R cmdline_root -- Override root device parameters.
|
|
Default: ['']
|
|
-E cmdline_extra -- Override extra kernel args and rc script env vars.
|
|
Default: ['']
|
|
|
|
|
|
|
|
xc_vd_tool
|
|
- tool for manipulating virtual disks
|
|
Usage: xc_vd_tool command <params>
|
|
|
|
initalise [dev] [[ext_size]] - init. a physcial partition to store vd's
|
|
create [size] [[expiry]] - allocate a vd of specified size (and expiry)
|
|
delete [vdid] - delete a vd
|
|
import [filename] [[expiry]] - create a vd and populate w/ image from file
|
|
export [vdid] [filename] - copy vd's contents to a file
|
|
setexpiry [vdid] [[expiry]] - update the expiry time for a vd
|
|
list - list all the unexpired virtual disks
|
|
undelete [vdid] [[expiry]] - attempts to recover an expired vd
|
|
freespace - print out the amount of space in free pool
|
|
|
|
notes:
|
|
vdid - the virtual disk's identity string
|
|
size - measured in MB
|
|
expiry - is the expiry time of the virtual disk in seconds from now
|
|
(0 = don't expire)
|
|
device - physical partition to 'format' to hold vd's. e.g. hda4
|
|
ext_size - extent size (default 64MB)
|
|
|
|
|
|
xendomains
|
|
This is a Sys-V init script for RedHat systems.
|
|
|
|
- Usage: xendomains {start|stop|status}
|
|
|
|
start -- starts all the domains with config files in /etc/xc/auto/
|
|
stop -- stops ALL running domains, waiting for them to shutdown cleanly
|
|
(if possible) before returning
|
|
status -- prints a list of the running domains, the same as
|
|
"xc_dom_control.py list"
|
|
|
|
On a RedHat system it should be possible to issue commands to this
|
|
script using the "service" command and to configure if / when it is
|
|
run automatically, using the "chkconfig" command.
|