Merge "Update software RAID configuration documentation"
This commit is contained in:
commit
7e0441bbb1
@ -19,13 +19,16 @@ Prerequisites
|
|||||||
=============
|
=============
|
||||||
The bare metal node needs to use a hardware type that supports RAID
|
The bare metal node needs to use a hardware type that supports RAID
|
||||||
configuration. RAID interfaces may implement RAID configuration either in-band
|
configuration. RAID interfaces may implement RAID configuration either in-band
|
||||||
or out-of-band.
|
or out-of-band. Software RAID is supported on all hardware, although with some
|
||||||
|
caveats - see `Software RAID`_ for details.
|
||||||
|
|
||||||
|
In-band RAID configuration (including software RAID) is done using the
|
||||||
|
Ironic Python Agent ramdisk. For in-band hardware RAID configuration,
|
||||||
|
a hardware manager which supports RAID should be bundled with the ramdisk.
|
||||||
|
|
||||||
In-band RAID configuration is done using the Ironic Python Agent
|
|
||||||
ramdisk. For in-band RAID configuration using agent ramdisk, a hardware
|
|
||||||
manager which supports RAID should be bundled with the ramdisk.
|
|
||||||
Whether a node supports RAID configuration could be found using the CLI
|
Whether a node supports RAID configuration could be found using the CLI
|
||||||
command ``openstack baremetal node validate <node-uuid>``.
|
command ``openstack baremetal node validate <node-uuid>``. In-band RAID is
|
||||||
|
usually implemented by the ``agent`` RAID interface.
|
||||||
|
|
||||||
Build agent ramdisk which supports RAID configuration
|
Build agent ramdisk which supports RAID configuration
|
||||||
=====================================================
|
=====================================================
|
||||||
@ -151,10 +154,7 @@ The RAID properties can be split into 4 different types:
|
|||||||
will fail (because the appropriate backing physical disks could
|
will fail (because the appropriate backing physical disks could
|
||||||
not be found).
|
not be found).
|
||||||
|
|
||||||
.. note::
|
.. _raid-config-examples:
|
||||||
For software RAID as provided by the generic hardware manager that ships
|
|
||||||
with the Ironic Python Agent, only the mandatory properties (plus the
|
|
||||||
required ``controller`` property) are currently supported.
|
|
||||||
|
|
||||||
Examples for ``target_raid_config``
|
Examples for ``target_raid_config``
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
@ -320,25 +320,46 @@ Workflow
|
|||||||
|
|
||||||
openstack baremetal node show <node-uuid-or-name>
|
openstack baremetal node show <node-uuid-or-name>
|
||||||
|
|
||||||
Limitations of Software RAID
|
Software RAID
|
||||||
============================
|
=============
|
||||||
|
|
||||||
There are certain limitations to be aware of when setting up a Software RAID via the
|
Building Linux software RAID in-band (via the Ironic Python Agent ramdisk)
|
||||||
Ironic Python Agent:
|
is supported starting with the Train release. It is requested by using the
|
||||||
|
``agent`` RAID interface and RAID configuration with all controllers set
|
||||||
|
to ``software``. You can find a software RAID configuration example in
|
||||||
|
:ref:`raid-config-examples`.
|
||||||
|
|
||||||
* There is no way to select the disks which are used to set up the software RAID,
|
There are certain limitations to be aware of:
|
||||||
so the Ironic Python Agent will use all available disks. This seems appropriate
|
|
||||||
for servers with 2 or 4 disks, but needs to be considered when disk arrays are
|
|
||||||
attached.
|
|
||||||
|
|
||||||
* The number of created Software RAID devices must be 1 or 2. If there is only one
|
* Only the mandatory properties (plus the required ``controller`` property)
|
||||||
Software RAID device, it has to be a RAID-1. If there are two, the first one has
|
from `Target RAID configuration`_ are currently supported.
|
||||||
to be a RAID-1, while the RAID level for the second one can 0, 1, or 1+0. As the
|
|
||||||
first RAID device will be the deployment device, enforcing a RAID-1 reduces the
|
|
||||||
risk of ending up with a non-booting node in case of a disk failure.
|
|
||||||
|
|
||||||
* There is no support for partition images, only whole-disk images are supported with
|
* There is no way to select the disks which are used to set up the software
|
||||||
Software RAID.
|
RAID, so the Ironic Python Agent will use all available disks. This seems
|
||||||
|
appropriate for servers with 2 or 4 disks, but needs to be considered when
|
||||||
|
disk arrays are attached.
|
||||||
|
|
||||||
|
* The number of created Software RAID devices must be 1 or 2. If there is only
|
||||||
|
one Software RAID device, it has to be a RAID-1. If there are two, the first
|
||||||
|
one has to be a RAID-1, while the RAID level for the second one can
|
||||||
|
0, 1, or 1+0. As the first RAID device will be the deployment device,
|
||||||
|
enforcing a RAID-1 reduces the risk of ending up with a non-booting node
|
||||||
|
in case of a disk failure.
|
||||||
|
|
||||||
|
* Building RAID will fail if the target disks are already partitioned. Wipe the
|
||||||
|
disks using e.g. the ``erase_device_metadata`` clean step before building
|
||||||
|
RAID.
|
||||||
|
|
||||||
|
* If local boot is going to be used, the final instance image must have the
|
||||||
|
``mdadm`` utility installed and needs to be able to detect software RAID
|
||||||
|
devices at boot time (which is usually done by having the RAID drivers
|
||||||
|
embedded in the image's initrd).
|
||||||
|
|
||||||
|
* Regular cleaning will not remove RAID configuration (similarly to hardware
|
||||||
|
RAID). To destroy RAID run the ``delete_configuration`` manual clean step.
|
||||||
|
|
||||||
|
* There is no support for partition images, only whole-disk images are
|
||||||
|
supported with Software RAID. See :doc:`/install/configure-glance-images`.
|
||||||
|
|
||||||
Using RAID in nova flavor for scheduling
|
Using RAID in nova flavor for scheduling
|
||||||
========================================
|
========================================
|
||||||
|
Loading…
x
Reference in New Issue
Block a user