2005-12-07 09:33:00 +00:00
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
2008-04-25 16:23:51 +00:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
2008-04-23 17:08:31 +00:00
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<!--
|
|
|
|
This file is autogenerated from intro.html.in
|
|
|
|
Do not edit this file. Changes will be lost.
|
|
|
|
-->
|
|
|
|
<head>
|
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
|
|
|
|
<link rel="stylesheet" type="text/css" href="main.css" />
|
|
|
|
<link rel="SHORTCUT ICON" href="32favicon.png" />
|
|
|
|
<title>libvirt: Architecture</title>
|
|
|
|
<meta name="description" content="libvirt, virtualization, virtualization API" />
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="header">
|
|
|
|
<div id="headerLogo"></div>
|
|
|
|
<div id="headerSearch">
|
2008-04-25 16:23:51 +00:00
|
|
|
<form action="search.php" enctype="application/x-www-form-urlencoded" method="get"><div>
|
|
|
|
<input id="query" name="query" type="text" size="12" value="" />
|
|
|
|
<input id="submit" name="submit" type="submit" value="Search" />
|
|
|
|
</div></form>
|
2008-04-23 17:08:31 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="body">
|
2008-04-25 16:23:51 +00:00
|
|
|
<div id="menu">
|
|
|
|
<ul class="l0"><li>
|
|
|
|
<div>
|
|
|
|
<a title="Front page of the libvirt website" class="inactive" href="index.html">Home</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Details of new features and bugs fixed in each release" class="inactive" href="news.html">News</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Get the latest source releases, binary builds and get access to the source repository" class="inactive" href="downloads.html">Downloads</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Information for users, administrators and developers" class="active" href="docs.html">Documentation</a>
|
|
|
|
<ul class="l1"><li>
|
|
|
|
<div>
|
|
|
|
<a title="Information about deploying and using libvirt" class="inactive" href="deployment.html">Deployment</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<span class="active">Architecture</span>
|
|
|
|
<ul class="l2"><li>
|
|
|
|
<div>
|
|
|
|
<a title="Managing virtual machines" class="inactive" href="archdomain.html">Domains</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Providing isolated networks and NAT based network connectivity" class="inactive" href="archnetwork.html">Network</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Managing storage pools and volumes" class="inactive" href="archstorage.html">Storage</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Enumerating host node devices" class="inactive" href="archnode.html">Node Devices</a>
|
|
|
|
</div>
|
|
|
|
</li></ul>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Description of the XML formats used in libvirt" class="inactive" href="format.html">XML format</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Hypervisor specific driver information" class="inactive" href="drivers.html">Drivers</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Reference manual for the C public API" class="inactive" href="html/index.html">API reference</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Bindings of the libvirt API for other languages" class="inactive" href="bindings.html">Language bindings</a>
|
|
|
|
</div>
|
|
|
|
</li></ul>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="User contributed content" class="inactive" href="http://wiki.libvirt.org">Wiki</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Frequently asked questions" class="inactive" href="FAQ.html">FAQ</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="How and where to report bugs and request features" class="inactive" href="bugs.html">Bug reports</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="How to contact the developers via email and IRC" class="inactive" href="contact.html">Contact</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Miscellaneous links of interest related to libvirt" class="inactive" href="relatedlinks.html">Related Links</a>
|
|
|
|
</div>
|
|
|
|
</li><li>
|
|
|
|
<div>
|
|
|
|
<a title="Overview of all content on the website" class="inactive" href="sitemap.html">Sitemap</a>
|
|
|
|
</div>
|
|
|
|
</li></ul>
|
|
|
|
</div>
|
2008-04-23 17:08:31 +00:00
|
|
|
<div id="content">
|
|
|
|
<h1>Architecture</h1>
|
|
|
|
<p>Libvirt is a C toolkit to interact with the virtualization capabilities of
|
2007-03-22 15:17:31 +00:00
|
|
|
recent versions of Linux (and other OSes), but libvirt won't try to provide
|
2008-04-23 17:08:31 +00:00
|
|
|
all possible interfaces for interacting with the virtualization features.</p>
|
|
|
|
<p>To avoid ambiguity about the terms used here here are the definitions for
|
|
|
|
some of the specific concepts used in libvirt documentation:</p>
|
|
|
|
<ul><li>a <strong>node</strong> is a single physical machine</li><li>an <strong>hypervisor</strong> is a layer of software allowing to
|
2007-03-22 15:17:31 +00:00
|
|
|
virtualize a node in a set of virtual machines with possibly different
|
2008-04-23 17:08:31 +00:00
|
|
|
configurations than the node itself</li><li>a <strong>domain</strong> is an instance of an operating system running
|
|
|
|
on a virtualized machine provided by the hypervisor</li></ul>
|
|
|
|
<p class="image">
|
|
|
|
<img alt="Hypervisor and domains running on a node" src="node.gif" /></p>
|
|
|
|
<p>Now we can define the goal of libvirt: to provide the lowest possible
|
|
|
|
generic and stable layer to manage domains on a node.</p>
|
|
|
|
<p>This implies the following:</p>
|
|
|
|
<ul><li>the API should not be targeted to a single virtualization environment
|
2007-04-27 15:39:20 +00:00
|
|
|
though Xen is the current default, which also means that some very
|
2007-03-22 15:17:31 +00:00
|
|
|
specific capabilities which are not generic enough may not be provided as
|
2008-04-23 17:08:31 +00:00
|
|
|
libvirt APIs</li><li>the API should allow to do efficiently and cleanly all the operations
|
|
|
|
needed to manage domains on a node</li><li>the API will not try to provide hight level multi-nodes management
|
2007-03-22 15:17:31 +00:00
|
|
|
features like load balancing, though they could be implemented on top of
|
2008-04-23 17:08:31 +00:00
|
|
|
libvirt</li><li>stability of the API is a big concern, libvirt should isolate
|
2007-03-22 15:17:31 +00:00
|
|
|
applications from the frequent changes expected at the lower level of the
|
2008-04-23 17:08:31 +00:00
|
|
|
virtualization framework</li></ul>
|
|
|
|
<p>So libvirt should be a building block for higher level management tools
|
2007-03-22 15:17:31 +00:00
|
|
|
and for applications focusing on virtualization of a single node (the only
|
|
|
|
exception being domain migration between node capabilities which may need to
|
|
|
|
be added at the libvirt level). Where possible libvirt should be extendable
|
|
|
|
to be able to provide the same API for remote nodes, however this is not the
|
|
|
|
case at the moment, the code currently handle only local node accesses
|
2008-04-23 17:08:31 +00:00
|
|
|
(extension for remote access support is being worked on, see <a href="bugs.html">the mailing list</a> discussions about it).</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="footer">
|
|
|
|
<div id="projects">
|
|
|
|
<dl id="p1"><dt>
|
|
|
|
<a href="http://augeas.net/">Augeas</a>
|
|
|
|
</dt><dd>
|
|
|
|
<span>A configuration editing tool and API</span>
|
|
|
|
</dd><dt>
|
|
|
|
<a href="http://libvirt.org/">libvirt</a>
|
|
|
|
</dt><dd>
|
|
|
|
<span>The open source virtualization API</span>
|
|
|
|
</dd></dl>
|
|
|
|
<dl id="p2"><dt>
|
|
|
|
<a href="http://cobbler.et.redhat.com/">Cobbler</a>
|
|
|
|
</dt><dd>
|
|
|
|
<span>OS provisioning and profile management</span>
|
|
|
|
</dd><dt>
|
|
|
|
<a href="http://ovirt.org/">oVirt</a>
|
|
|
|
</dt><dd>
|
|
|
|
<span>Virtualization management across the data center</span>
|
|
|
|
</dd></dl>
|
|
|
|
<dl id="p3"><dt>
|
|
|
|
<a href="http://freeipa.org/">FreeIPA</a>
|
|
|
|
</dt><dd>
|
|
|
|
<span>Identity, policy and audit management</span>
|
|
|
|
</dd><dt>
|
|
|
|
<a href="http://virt-manager.org/">Virtual Machine Manager</a>
|
|
|
|
</dt><dd>
|
|
|
|
<span>Virtualization management from the desktop</span>
|
|
|
|
</dd></dl>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|