Documentation for over subscription
Over subscription in thin provisioning was added in Cinder in Kilo. This patch added documentation for it. Change-Id: Idbe0602f306a6c21d5544a5af1ffda646f5aa813
This commit is contained in:
parent
9c23d0279e
commit
ac490fc9b1
105
doc/admin-guide-cloud/blockstorage/section_over_subscription.xml
Normal file
105
doc/admin-guide-cloud/blockstorage/section_over_subscription.xml
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE section [
|
||||||
|
<!ENTITY % openstack SYSTEM "../../common/entities/openstack.ent">
|
||||||
|
%openstack;
|
||||||
|
]>
|
||||||
|
<section 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"
|
||||||
|
xml:id="over_subscription">
|
||||||
|
<title>Oversubscription in thin provisioning</title>
|
||||||
|
<para>OpenStack Block Storage enables you to choose a volume back
|
||||||
|
end based on virtual capacities for thin provisioning using the
|
||||||
|
oversubscription ratio.
|
||||||
|
</para>
|
||||||
|
<para>A reference implementation is provided for the default LVM driver.
|
||||||
|
The illustration below uses the LVM driver as an example.
|
||||||
|
</para>
|
||||||
|
<simplesect><title>Configure oversubscription settings</title>
|
||||||
|
<para>To support oversubscription in thin provisioning, a flag
|
||||||
|
<option>max_over_subscription_ratio</option> is introduced into
|
||||||
|
<filename>cinder.conf</filename>. This is a float representation
|
||||||
|
of the oversubscription ratio when thin provisioning is involved.
|
||||||
|
Default ratio is 20.0, meaning provisioned capacity can be 20
|
||||||
|
times of the total physical capacity. A ratio of 10.5 means
|
||||||
|
provisioned capacity can be 10.5 times of the total physical
|
||||||
|
capacity. A ratio of 1.0 means provisioned capacity cannot exceed
|
||||||
|
the total physical capacity. A ratio lower than 1.0 is
|
||||||
|
ignored and the default value is used instead.
|
||||||
|
</para>
|
||||||
|
<note><para><option>max_over_subscription_ratio</option> can be
|
||||||
|
configured for each back end when multiple-storage back ends are
|
||||||
|
enabled. It is provided as a reference implementation and is used
|
||||||
|
by the LVM driver. However, it is not a requirement for a driver
|
||||||
|
to use this option from <filename>cinder.conf</filename>.
|
||||||
|
<option>max_over_subscription_ratio</option> is for configuring
|
||||||
|
a back end. For a driver that supports multiple pools per back
|
||||||
|
end, it can report this ratio for each pool. The LVM driver does
|
||||||
|
not support multiple pools.
|
||||||
|
</para></note>
|
||||||
|
<para>The existing <option>reserved_percentage</option> flag is used
|
||||||
|
to prevent over provisioning. This flag represents the percentage
|
||||||
|
of the back-end capacity that is reserved.</para>
|
||||||
|
<note><para>There is a change on how <option>reserved_percentage
|
||||||
|
</option> is used. It was measured against the free capacity in
|
||||||
|
the past. Now it is measured against the total capacity.
|
||||||
|
</para></note>
|
||||||
|
</simplesect>
|
||||||
|
<simplesect><title>Capabilities</title>
|
||||||
|
<para>Drivers can report the following capabilities for a back end or
|
||||||
|
a pool:
|
||||||
|
</para>
|
||||||
|
<programlisting language="ini">thin_provisioning_support=True(or False)
|
||||||
|
thick_provisioning_support=True(or False)
|
||||||
|
provisioned_capacity_gb=<replaceable>PROVISIONED_CAPACITY</replaceable>
|
||||||
|
max_over_subscription_ratio=<replaceable>MAX_RATIO</replaceable></programlisting>
|
||||||
|
<para>Where <replaceable>PROVISIONED_CAPACITY</replaceable> is the
|
||||||
|
apparent allocated space indicating how much capacity has been
|
||||||
|
provisioned and <replaceable>MAX_RATIO</replaceable> is the
|
||||||
|
maximum oversubscription ratio. For the LVM driver, it is
|
||||||
|
<option>max_over_subscription_ratio</option> in <filename>
|
||||||
|
cinder.conf</filename>.
|
||||||
|
</para>
|
||||||
|
<para>Two capabilities are added here to allow a back end or pool to
|
||||||
|
claim support for thin provisioning, or thick provisioning,
|
||||||
|
or both.
|
||||||
|
</para>
|
||||||
|
<para>The LVM driver reports <option>thin_provisioning_support=True
|
||||||
|
</option> and <option>thick_provisioning_support=False</option>
|
||||||
|
if the <option>lvm_type</option> flag in <filename>cinder.conf
|
||||||
|
</filename> is <literal>thin</literal>. Otherwise it reports
|
||||||
|
<option>thin_provisioning_support=False</option> and <option>
|
||||||
|
thick_provisioning_support=True</option>.
|
||||||
|
</para>
|
||||||
|
</simplesect>
|
||||||
|
<simplesect><title>Volume type extra specs</title>
|
||||||
|
<para>If volume type is provided as part of the volume creation
|
||||||
|
request, it can have the following extra specs defined:</para>
|
||||||
|
<programlisting language="ini">'capabilities:thin_provisioning_support': '<is> True' or '<is> False'
|
||||||
|
'capabilities:thick_provisioning_support': '<is> True' or '<is> False'</programlisting>
|
||||||
|
<note><para><literal>capabilities</literal> scope key before
|
||||||
|
<literal>thin_provisioning_support</literal> and <literal>
|
||||||
|
thick_provisioning_support</literal> is not required. So the
|
||||||
|
following works too:</para></note>
|
||||||
|
<programlisting language="ini">'thin_provisioning_support': '<is> True' or '<is> False'
|
||||||
|
'thick_provisioning_support': '<is> True' or '<is> False'</programlisting>
|
||||||
|
<para>The above extra specs are used by the scheduler to find a back
|
||||||
|
end that supports thin provisioning, thick provisioning, or both to
|
||||||
|
match the needs of a specific volume type.
|
||||||
|
</para>
|
||||||
|
</simplesect>
|
||||||
|
<simplesect><title>Capacity filter</title>
|
||||||
|
<para>In the capacity filter, <literal>max_over_subscription_ratio
|
||||||
|
</literal> is used when choosing a back end if <literal>
|
||||||
|
thin_provisioning_support</literal> is True and <option>
|
||||||
|
max_over_subscription_ratio</option> is greater than 1.0.
|
||||||
|
</para>
|
||||||
|
</simplesect>
|
||||||
|
<simplesect><title>Capacity weigher</title>
|
||||||
|
<para>In the capacity weigher, virtual free capacity is used for
|
||||||
|
ranking if <literal>thin_provisioning_support</literal> is True.
|
||||||
|
Otherwise, real free capacity will be used as before.
|
||||||
|
</para>
|
||||||
|
</simplesect>
|
||||||
|
</section>
|
@ -152,6 +152,7 @@
|
|||||||
<xi:include href="blockstorage/section_consistency_groups.xml"/>
|
<xi:include href="blockstorage/section_consistency_groups.xml"/>
|
||||||
<xi:include href="blockstorage/section_driver_filter_weighing.xml"/>
|
<xi:include href="blockstorage/section_driver_filter_weighing.xml"/>
|
||||||
<xi:include href="blockstorage/section_ratelimit-volume-copy-bandwidth.xml"/>
|
<xi:include href="blockstorage/section_ratelimit-volume-copy-bandwidth.xml"/>
|
||||||
|
<xi:include href="blockstorage/section_over_subscription.xml"/>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="troubleshooting-cinder-install">
|
<section xml:id="troubleshooting-cinder-install">
|
||||||
<title>Troubleshoot your installation</title>
|
<title>Troubleshoot your installation</title>
|
||||||
|
Loading…
Reference in New Issue
Block a user