docs: Convert 'drvopenvz' page to rST

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Peter Krempa 2022-03-10 17:57:53 +01:00
parent 19b1fef54a
commit 01682a0c20
3 changed files with 98 additions and 124 deletions

View File

@ -1,123 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<h1>OpenVZ container driver</h1>
<ul id="toc"></ul>
<p>
The OpenVZ driver for libvirt allows use and management of container
based virtualization on a Linux host OS. Prior to using the OpenVZ
driver, the OpenVZ enabled kernel must be installed &amp; booted, and the
OpenVZ userspace tools installed. The libvirt driver has been tested
with OpenVZ 3.0.22, but other 3.0.x versions should also work without
undue trouble.
</p>
<h2><a id="project">Project Links</a></h2>
<ul>
<li>
The <a href="https://openvz.org/">OpenVZ</a> Linux container
system
</li>
</ul>
<h2><a id="connections">Connections to OpenVZ driver</a></h2>
<p>
The libvirt OpenVZ driver is a single-instance privileged driver,
with a driver name of 'openvz'. Some example connection URIs for
the libvirt driver are:
</p>
<pre>
openvz:///system (local access)
openvz+unix:///system (local access)
openvz://example.com/system (remote access, TLS/x509)
openvz+tcp://example.com/system (remote access, SASl/Kerberos)
openvz+ssh://root@example.com/system (remote access, SSH tunnelled)
</pre>
<h2><a id="notes">Notes on bridged networking</a></h2>
<p>
Bridged networking enables a guest domain (ie container) to have its
network interface connected directly to the host's physical LAN. Before
this can be used there are a couple of configuration pre-requisites for
the host OS.
</p>
<h3><a id="host">Host network devices</a></h3>
<p>
One or more of the physical devices must be attached to a bridge. The
process for this varies according to the operating system in use, so
for up to date notes consult the <a href="https://wiki.libvirt.org">Wiki</a>
or your operating system's networking documentation. The basic idea is
that the host OS should end up with a bridge device "br0" containing a
physical device "eth0", or a bonding device "bond0".
</p>
<h3><a id="tools">OpenVZ tools configuration</a></h3>
<p>
OpenVZ releases later than 3.0.23 ship with a standard network device
setup script that is able to setup bridging, named
<code>/usr/sbin/vznetaddbr</code>. For releases prior to 3.0.23, this
script must be created manually by the host OS administrator. The
simplest way is to just download the latest version of this script
from a newer OpenVZ release, or upstream source repository. Then
a generic configuration file <code>/etc/vz/vznet.conf</code>
must be created containing
</p>
<pre>
#!/bin/bash
EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"
</pre>
<p>
The host OS is now ready to allow bridging of guest containers, which
will work whether the container is started with libvirt, or OpenVZ
tools.
</p>
<h2><a id="example">Example guest domain XML configuration</a></h2>
<p>
The current libvirt OpenVZ driver has a restriction that the
domain names must match the OpenVZ container VEID, which by
convention start at 100, and are incremented from there. The
choice of OS template to use inside the container is determined
by the <code>filesystem</code> tag, and the template source name
matches the templates known to OpenVZ tools.
</p>
<pre>
&lt;domain type='openvz' id='104'&gt;
&lt;name&gt;104&lt;/name&gt;
&lt;uuid&gt;86c12009-e591-a159-6e9f-91d18b85ef78&lt;/uuid&gt;
&lt;vcpu&gt;3&lt;/vcpu&gt;
&lt;os&gt;
&lt;type&gt;exe&lt;/type&gt;
&lt;init&gt;/sbin/init&lt;/init&gt;
&lt;/os&gt;
&lt;devices&gt;
&lt;filesystem type='template'&gt;
&lt;source name='fedora-9-i386-minimal'/&gt;
&lt;target dir='/'/&gt;
&lt;/filesystem&gt;
&lt;interface type='bridge'&gt;
&lt;mac address='00:18:51:5b:ea:bf'/&gt;
&lt;source bridge='br0'/&gt;
&lt;target dev='veth101.0'/&gt;
&lt;/interface&gt;
&lt;/devices&gt;
&lt;/domain&gt;
</pre>
</body>
</html>

97
docs/drvopenvz.rst Normal file
View File

@ -0,0 +1,97 @@
=======================
OpenVZ container driver
=======================
.. contents::
The OpenVZ driver for libvirt allows use and management of container based
virtualization on a Linux host OS. Prior to using the OpenVZ driver, the OpenVZ
enabled kernel must be installed & booted, and the OpenVZ userspace tools
installed. The libvirt driver has been tested with OpenVZ 3.0.22, but other
3.0.x versions should also work without undue trouble.
Project Links
-------------
- The `OpenVZ <https://openvz.org/>`__ Linux container system
Connections to OpenVZ driver
----------------------------
The libvirt OpenVZ driver is a single-instance privileged driver, with a driver
name of 'openvz'. Some example connection URIs for the libvirt driver are:
::
openvz:///system (local access)
openvz+unix:///system (local access)
openvz://example.com/system (remote access, TLS/x509)
openvz+tcp://example.com/system (remote access, SASl/Kerberos)
openvz+ssh://root@example.com/system (remote access, SSH tunnelled)
Notes on bridged networking
---------------------------
Bridged networking enables a guest domain (ie container) to have its network
interface connected directly to the host's physical LAN. Before this can be used
there are a couple of configuration pre-requisites for the host OS.
Host network devices
~~~~~~~~~~~~~~~~~~~~
One or more of the physical devices must be attached to a bridge. The process
for this varies according to the operating system in use, so for up to date
notes consult the `Wiki <https://wiki.libvirt.org>`__ or your operating system's
networking documentation. The basic idea is that the host OS should end up with
a bridge device "br0" containing a physical device "eth0", or a bonding device
"bond0".
OpenVZ tools configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~
OpenVZ releases later than 3.0.23 ship with a standard network device setup
script that is able to setup bridging, named ``/usr/sbin/vznetaddbr``. For
releases prior to 3.0.23, this script must be created manually by the host OS
administrator. The simplest way is to just download the latest version of this
script from a newer OpenVZ release, or upstream source repository. Then a
generic configuration file ``/etc/vz/vznet.conf`` must be created containing
::
#!/bin/bash
EXTERNAL_SCRIPT="/usr/sbin/vznetaddbr"
The host OS is now ready to allow bridging of guest containers, which will work
whether the container is started with libvirt, or OpenVZ tools.
Example guest domain XML configuration
--------------------------------------
The current libvirt OpenVZ driver has a restriction that the domain names must
match the OpenVZ container VEID, which by convention start at 100, and are
incremented from there. The choice of OS template to use inside the container is
determined by the ``filesystem`` tag, and the template source name matches the
templates known to OpenVZ tools.
::
<domain type='openvz' id='104'>
<name>104</name>
<uuid>86c12009-e591-a159-6e9f-91d18b85ef78</uuid>
<vcpu>3</vcpu>
<os>
<type>exe</type>
<init>/sbin/init</init>
</os>
<devices>
<filesystem type='template'>
<source name='fedora-9-i386-minimal'/>
<target dir='/'/>
</filesystem>
<interface type='bridge'>
<mac address='00:18:51:5b:ea:bf'/>
<source bridge='br0'/>
<target dev='veth101.0'/>
</interface>
</devices>
</domain>

View File

@ -22,7 +22,6 @@ docs_html_in_files = [
'csharp', 'csharp',
'dbus', 'dbus',
'docs', 'docs',
'drvopenvz',
'drvsecret', 'drvsecret',
'drvtest', 'drvtest',
'drvvbox', 'drvvbox',
@ -80,6 +79,7 @@ docs_rst_files = [
'drvhyperv', 'drvhyperv',
'drvlxc', 'drvlxc',
'drvnodedev', 'drvnodedev',
'drvopenvz',
'drvqemu', 'drvqemu',
'errors', 'errors',
'formatbackup', 'formatbackup',