212 lines
6.5 KiB
XML
212 lines
6.5 KiB
XML
<section xml:id="generic-approach-for-share-provisioning" xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
|
<title>Generic approach for share provisioning</title>
|
|
<para>
|
|
The Shared File Systems service can be configured to
|
|
use nova VMs and cinder volumes. There are two modules that handle
|
|
them in the Shared File Systems service:</para>
|
|
<itemizedlist>
|
|
<listitem><para>
|
|
<literal>service_instance</literal> module creates VMs in nova
|
|
with predefined image called service image. This module can be used
|
|
by any driver for provisioning of service VMs to be able to
|
|
separate share resources among tenants.
|
|
</para></listitem>
|
|
<listitem><para>
|
|
'generic' module operates
|
|
with cinder volumes and VMs created by
|
|
<literal>service_instance</literal> module,
|
|
then creates shared filesystems based on volumes attached to VMs.
|
|
</para></listitem>
|
|
</itemizedlist>
|
|
<simplesect>
|
|
<title>Network configurations</title>
|
|
<para>
|
|
Each driver can handle networking in its own way, see:
|
|
<link xlink:href="https://wiki.openstack.org/wiki/manila/Networking">https://wiki.openstack.org/wiki/manila/Networking</link>.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
One of two possible configurations can be chosen for share
|
|
provisioning
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
using <literal>service_instance</literal> module:
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
- Service VM has one net interface from net that is connected
|
|
to public router.
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
For successful creation of share, user network should be
|
|
connected to public router too.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
- Service VM has two net interfaces, first one connected to
|
|
service network,
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
second one connected directly to user's network.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Requirements for service image</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
Linux based distro
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
NFS server
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Samba server >=3.2.0, that can be configured by data stored
|
|
in registry
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
SSH server
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Two net interfaces configured to DHCP (see network approaches)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
'exportfs' and 'net conf' libraries used for share actions
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
Following files will be used, so if their paths differ one
|
|
needs to create at
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
least symlinks for them:
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
/etc/exports (permanent file with NFS exports)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
/var/lib/nfs/etab (temporary file with NFS exports used by
|
|
'exportfs')
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
/etc/fstab (permanent file with mounted filesystems)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
/etc/mtab (temporary file with mounted filesystems used by
|
|
'mount')
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Supported shared filesystems</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
NFS (access by IP)
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
CIFS (access by IP)
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Known restrictions</title>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>
|
|
One of nova's configurations only allows 26 shares per server.
|
|
This limit comes from the maximum number of virtual PCI
|
|
interfaces that are used for block device attaching. There are
|
|
28 virtual PCI interfaces, in this configuration, two of them
|
|
are used for server needs and other 26 are used for attaching
|
|
block devices that are used for shares.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Juno version works only with neutron. Each share should be
|
|
created with neutron-net and neutron-subnet IDs provided via
|
|
share-network entity.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Juno version handles security group, flavor, image, keypair
|
|
for nova VM and also creates service networks, but does not
|
|
use availability zones for nova VMs and volume types for
|
|
cinder block devices.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Juno version does not use security services data provided with
|
|
share-network. These data will be just ignored.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Liberty version adds a share extend capability. Share access
|
|
will be briefly interrupted during an extend operation.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Liberty version adds a share shrink capability, but this
|
|
capability is not effective because generic driver shrinks
|
|
only filesystem size and doesn't shrink the size of cinder
|
|
volume.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</simplesect>
|
|
<simplesect>
|
|
<title>Driver options</title>
|
|
<para>The following table contains the configuration options specific to this driver.</para>
|
|
<xi:include href="../../../common/tables/manila-generic.xml"/>
|
|
</simplesect>
|
|
</section>
|