Revision c12adead doc/design-resource-model.rst

b/doc/design-resource-model.rst
702 702
At JSON level, since the object key has to be a string, the keys can be
703 703
encoded via a separator (e.g. slash), or by having two dict levels.
704 704

  
705
+--------+-------------+-------------------------+---------------------+------+
706
|Disk    |Name         |Description              |Current status       |Type  |
707
|template|             |                         |                     |      |
708
+========+=============+=========================+=====================+======+
709
|plain   |stripes      |How many stripes to use  |Configured at        |int   |
710
|        |             |for newly created (plain)|./configure time, not|      |
711
|        |             |logical voumes           |overridable at       |      |
712
|        |             |                         |runtime              |      |
713
+--------+-------------+-------------------------+---------------------+------+
714
|drbd    |data-stripes |How many stripes to use  |Same as for          |int   |
715
|        |             |for data volumes         |plain/stripes        |      |
716
+--------+-------------+-------------------------+---------------------+------+
717
|drbd    |metavg       |Default volume group for |Same as the main     |string|
718
|        |             |the metadata LVs         |volume group,        |      |
719
|        |             |                         |overridable via      |      |
720
|        |             |                         |'metavg' key         |      |
721
+--------+-------------+-------------------------+---------------------+------+
722
|drbd    |meta-stripes |How many stripes to use  |Same as for lvm      |int   |
723
|        |             |for meta volumes         |'stripes', suboptimal|      |
724
|        |             |                         |as the meta LVs are  |      |
725
|        |             |                         |small                |      |
726
+--------+-------------+-------------------------+---------------------+------+
727
|drbd    |disk-barriers|What kind of barriers to |Either all enabled or|string|
728
|        |             |*disable* for disks;     |all disabled, per    |      |
729
|        |             |either "n" or a string   |./configure time     |      |
730
|        |             |containing a subset of   |option               |      |
731
|        |             |"bfd"                    |                     |      |
732
+--------+-------------+-------------------------+---------------------+------+
733
|drbd    |meta-barriers|Whether to disable or not|Handled together with|bool  |
734
|        |             |the barriers for the meta|disk-barriers        |      |
735
|        |             |volume                   |                     |      |
736
+--------+-------------+-------------------------+---------------------+------+
737
|drbd    |resync-rate  |The (static) resync rate |Hardcoded in         |int   |
738
|        |             |for drbd, when using the |constants.py, not    |      |
739
|        |             |static syncer, in MiB/s  |changeable via Ganeti|      |
740
+--------+-------------+-------------------------+---------------------+------+
741
|drbd    |disk-custom  |Free-form string that    |Not supported        |string|
742
|        |             |will be appended to the  |                     |      |
743
|        |             |drbdsetup disk command   |                     |      |
744
|        |             |line, for custom options |                     |      |
745
|        |             |not supported by Ganeti  |                     |      |
746
|        |             |itself                   |                     |      |
747
+--------+-------------+-------------------------+---------------------+------+
748
|drbd    |net-custom   |Free-form string for     |Not supported        |string|
749
|        |             |custom net setup options |                     |      |
750
+--------+-------------+-------------------------+---------------------+------+
751

  
752
Note that the DRBD parameters might change once Ganeti supports DRBD 8.4, in
753
which the :command:`drbdsetup` syntax has changed significantly.
754
Moreover, new parameters for the dynamic synchronization algorithm will
755
be added for DRBD versions >= 8.3.9.
705
When needed, the unit of measurement is expressed inside square
706
brackets.
707

  
708
+--------+--------------+-------------------------+---------------------+------+
709
|Disk    |Name          |Description              |Current status       |Type  |
710
|template|              |                         |                     |      |
711
+========+==============+=========================+=====================+======+
712
|plain   |stripes       |How many stripes to use  |Configured at        |int   |
713
|        |              |for newly created (plain)|./configure time, not|      |
714
|        |              |logical voumes           |overridable at       |      |
715
|        |              |                         |runtime              |      |
716
+--------+--------------+-------------------------+---------------------+------+
717
|drbd    |data-stripes  |How many stripes to use  |Same as for          |int   |
718
|        |              |for data volumes         |plain/stripes        |      |
719
+--------+--------------+-------------------------+---------------------+------+
720
|drbd    |metavg        |Default volume group for |Same as the main     |string|
721
|        |              |the metadata LVs         |volume group,        |      |
722
|        |              |                         |overridable via      |      |
723
|        |              |                         |'metavg' key         |      |
724
+--------+--------------+-------------------------+---------------------+------+
725
|drbd    |meta-stripes  |How many stripes to use  |Same as for lvm      |int   |
726
|        |              |for meta volumes         |'stripes', suboptimal|      |
727
|        |              |                         |as the meta LVs are  |      |
728
|        |              |                         |small                |      |
729
+--------+--------------+-------------------------+---------------------+------+
730
|drbd    |disk-barriers |What kind of barriers to |Either all enabled or|string|
731
|        |              |*disable* for disks;     |all disabled, per    |      |
732
|        |              |either "n" or a string   |./configure time     |      |
733
|        |              |containing a subset of   |option               |      |
734
|        |              |"bfd"                    |                     |      |
735
+--------+--------------+-------------------------+---------------------+------+
736
|drbd    |meta-barriers |Whether to disable or not|Handled together with|bool  |
737
|        |              |the barriers for the meta|disk-barriers        |      |
738
|        |              |volume                   |                     |      |
739
+--------+--------------+-------------------------+---------------------+------+
740
|drbd    |resync-rate   |The (static) resync rate |Hardcoded in         |int   |
741
|        |              |for drbd, when using the |constants.py, not    |      |
742
|        |              |static syncer, in KiB/s  |changeable via Ganeti|      |
743
+--------+--------------+-------------------------+---------------------+------+
744
|drbd    |c-plan-ahead  |Agility factor of the    |Not supported.       |int   |
745
|        |              |dynamic resync speed     |                     |      |
746
|        |              |controller. (the higher, |                     |      |
747
|        |              |the slower the algorithm |                     |      |
748
|        |              |will adapt the resync    |                     |      |
749
|        |              |speed). A value of 0     |                     |      |
750
|        |              |(that is the default)    |                     |      |
751
|        |              |disables the controller  |                     |      |
752
|        |              |[ds]                     |                     |      |
753
+--------+--------------+-------------------------+---------------------+------+
754
|drbd    |c-fill-target |Maximum amount of        |Not supported.       |int   |
755
|        |              |in-flight resync data    |                     |      |
756
|        |              |for the dynamic resync   |                     |      |
757
|        |              |speed controller         |                     |      |
758
|        |              |[sectors]                |                     |      |
759
+--------+--------------+-------------------------+---------------------+------+
760
|drbd    |c-delay-target|Maximum estimated peer   |Not supported.       |int   |
761
|        |              |response latency for the |                     |      |
762
|        |              |dynamic resync speed     |                     |      |
763
|        |              |controller [ds]          |                     |      |
764
+--------+--------------+-------------------------+---------------------+------+
765
|drbd    |c-max-rate    |Upper bound on resync    |Not supported.       |int   |
766
|        |              |speed for the dynamic    |                     |      |
767
|        |              |resync speed controller  |                     |      |
768
|        |              |[KiB/s]                  |                     |      |
769
+--------+--------------+-------------------------+---------------------+------+
770
|drbd    |c-min-rate    |Minimum resync speed for |Not supported.       |int   |
771
|        |              |the dynamic resync speed |                     |      |
772
|        |              |controller [KiB/s]       |                     |      |
773
+--------+--------------+-------------------------+---------------------+------+
774
|drbd    |disk-custom   |Free-form string that    |Not supported        |string|
775
|        |              |will be appended to the  |                     |      |
776
|        |              |drbdsetup disk command   |                     |      |
777
|        |              |line, for custom options |                     |      |
778
|        |              |not supported by Ganeti  |                     |      |
779
|        |              |itself                   |                     |      |
780
+--------+--------------+-------------------------+---------------------+------+
781
|drbd    |net-custom    |Free-form string for     |Not supported        |string|
782
|        |              |custom net setup options |                     |      |
783
+--------+--------------+-------------------------+---------------------+------+
784

  
785
Currently Ganeti supports only DRBD 8.0.x, 8.2.x, 8.3.x.  It will refuse
786
to work with DRBD 8.4 since the :command:`drbdsetup` syntax has changed
787
significantly.
788

  
789
The barriers-related parameters have been introduced in different DRBD
790
versions; please make sure that your version supports all the barrier
791
parameters that you pass to Ganeti. Any version later than 8.3.0
792
implements all of them.
793

  
794
The minimum DRBD version for using the dynamic resync speed controller
795
is 8.3.9, since previous versions implement different parameters.
796

  
797
A more detailed discussion of the dynamic resync speed controller
798
parameters is outside the scope of the present document. Please refer to
799
the ``drbdsetup`` man page
800
(`8.3 <http://www.drbd.org/users-guide-8.3/re-drbdsetup.html>`_ and 
801
`8.4 <http://www.drbd.org/users-guide/re-drbdsetup.html>`_). An
802
interesting discussion about them can also be found in a
803
`drbd-user mailing list post
804
<http://lists.linbit.com/pipermail/drbd-user/2011-August/016739.html>`_.
756 805

  
757 806
All the above parameters are at cluster and node group level; as in
758 807
other parts of the code, the intention is that all nodes in a node group

Also available in: Unified diff